Uusi parempi turtle-kirjasto Colabin Pythoniin

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

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out /  Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out /  Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out /  Muuta )

Muodostetaan yhteyttä palveluun %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggaajaa tykkää tästä: