Colab on Googlen tuottama ohjelmointiympäristö Python-kielen opiskelun avuksi. Aiemmin julkaistu Colabin kilpikonnagrafiikka-kirjasto (ColabTurtle) oli hieman puutteellinen, koska se ei toiminut kuten perinteiset Logo/Python-turtlet. ColabTurtlePlus on uusi kirjasto, sen toiminta vastaa ”virallista” Pythonin Turtle-kirjastoa, joka toimii vaikkapa Idlessä ja Replissä (https://replit.com/ ). Ymmärtämykseni mukaan joissakin yläasteen matikan kirjoissakin käytetyt PythonTurtlekoodipätkät toimivat ColabTurtlePlussassa.
Minä ainakin olen melkoisen innostunut ColabTurtlePlussasta, koordinaatiston origo on keskellä näyttöä ja xy-koordinaatisto toimii ”oikein”. Uskoisin, että tästä on apua opettajille/oppilaille, jotka käyttävät kilpikonnagrafiikkaa Pythonin oppimiseen. Minä aloitin kilpikonnalla koodaamisen opiskelun Logolla ja kilpikonnagrafiikalla noin vuonna 1983, kun olin auskultoimassa Helsingin yliopistossa. Jotenkin tämä liittyi konstruktivismiin :o)
Katso Colabiin liittyviä artikkeleita blogissani https://mikkorahikka.blog/?s=colab
Näytän pari esimerkkiä aiheeseen liittyen kuvankaappauksineen. Googlen Colaborary löytyy osoitteesta https://colab.research.google.com/ jos olet aloitelija, niin katso sivulta ohjeita. Käytän tässä pelkästään koodisoluja, esimerkkisivulla on mukana myös tekstisoluja. En laita koodin sekaan #kommentteja.
Koodi löytyy täältä https://colab.research.google.com/drive/1B3DJRc0RA7jY5Wci53h6OSB7AKuy45u1?usp=sharing
ColabTurtlePlus
Rivillä 1 asennetaan kirjasto Colabiin ja rivillä 2 luetaan se käyttöön. Nämä pitää olla suoritettuna ennen kuin konnaa voi käyttää Colab-sivulla.
Kun kaikki toimii, niin selaimessa (minulla Chrome) näkyy tällainen tuotos.
Piirretään konnalla neliö. Tätä kirjoittaessa en tajua, miksi tuonne koodirivien alapuolelle tulevat nuo aaltoviivat, liittynee Chromen asetuksiini, en tee siitä ongelmaa.
Rivillä 3 konna kulkee eteenpäin 200 askelta ja rivillä 4 se kääntyy 90 astetta oikealle.
Väritetään neliön sisusta ja reunaviiva. Rivillä 2 määritellään reunan ja sisustan väri, rivillä 3 määritellään sisuksen värittämisen alku. Riveillä 4-6 tuotetaan neliö (laiskuuksissani käytän lyhenteitä komennoille) ja rivillä 7 lopetetaan sisustan väritys.
Neliöt ovat tylsiä, piirretään pentagrammi. Tästä näkee, että väritys toimii kuten GeoGebrassa.
Jos haluaa muuttaa täytön sellaiseksi, että koko sisusta täyttyy, niin apuna voi käyttää ”nonzero” muuttujaa begin_fill-funktion muuttujana, kuten rivillä 19. Rivillä 3 muutetaan konnan nopeus suurimmaksi, eli syntyy vain valmis kuva, tämä toiminto pitää päättää rivin 27 done():lla. Riveillä 6-8 siirretään konna hieman vasemmalle perinteisin menetelmin, tässä versiossa saman asian ajaa rivin 18 jumpto-funktio.
Tähti
Jostain kumman syystä olen ihastunut tähtikuvioihin. Tehdään pieni matemaattinen pähkinä aiheeseen liittyen.
Miksi tahti(300, 5, 2) tuottaa tähden, kuten myös tahti(300, 9, 2), mutta tahti(300, 9, 6) ei tuota tähteä. Millaisilla m:n ja n:n arvoilla syntyy tähti? Saman tyyppinen appi löytyy GeoGebralla tuotettuna sivulla https://www.geogebra.org/m/rgVYFJrS
Alla oleva kuva on tahti(200, 10, 3)
Palaan aiheeseen lähiaikoina ja piirtelen fraktaaleja, nyt kun on käytössä vikkelä tapa tuottaa niitä suht’ koht simppelisti.
Lähteet
Larryn ohjesivu kirjastoon
https://larryriddle.agnesscott.org/ColabTurtlePlus/documentation2.html
”virallisen” Pythonin turtlekirjastosivu
https://docs.python.org/3/library/turtle.html
Turtle graphics Wikipediassa
https://en.wikipedia.org/wiki/Turtle_graphics
Seymort Papert Wikipediassa
https://en.wikipedia.org/wiki/Seymour_Papert
Lue
Seymort Papert : Lapset, tietokoneet, ajattelemisen taito, Kirjayhtymä, 1985