Dodekaedri 3D-tulostukseen GeoGebralla

Koulussani on jo muutaman vuoden ollut Minifactory 3D-tulostin. Alkuinnostuksen jälkeen en ole siihen juurikaan koskenut. Koulunkäyntiavustajamme Victor Micordia sääti laitteen viimeisen päälle kuntoon ja otti haltuun itse tulostustapahtuman. Niinpä minä innostuin uudestaan kokeilemaan tulostusta. Varsinkin kun mallin voi luoda GeoGebralla. GeoGebran 3D ohjelmasta voi tallentaa kappaleen tiedot slt-tiedostoon, joka ladataan tulostinta ohjaavaan ohjelmistoon.

Kolme vasemmanpuoleista ovat GeoGebra 3D sivun demomalleja. Oikeanpuoleinen on tuotettu näytön GeoGebra-tiedostosta.

Pentagrammeja dodekaedrin tahkoille Zip-komennolla

Kokeilin ensin dodekaedrin 3D-tulostusta. Kun se onnistui, päätin tuottaa dodekaedrin tahkoille pentagrammit. Esitän seuraavassa miten sen tein. Koska olen tottunut GeoGebra 5:n käyttöön esitän ratkaisuni sen kanssa. Kaikki komennot kirjoitetaan Syöttökenttään.

Avataan GeoGebra 5 ja valitaan Algebra, Piirtoalue, 3D-piirtoalue ja Syöttökenttä. Luodaan kaksi pistettä piirtoalueelle.

A = (0,1)
B = (-cos(18°), sin(18°))

Säännöllinen viisikulmio saadaan Piirtoalueen Säännöllinen monikulmio -työkalulla. Valitaan Säännöllinen monikulmio -työkalu ja tämän jälkeen pisteet A ja B tässä järjestyksessä ja Kärkipisteiden lukumäärä-kenttään kirjoitetaan 5. Saman olisi saanut aikaan myös komennolla

Monikulmio(A, B, 5)

GeoGebra loi Piirtoalueelle ja 3D-piirtoalueelle xy-tasoon säännöllisen viisikulmion nimeltä kuvio1.

Lopullisessa dodekaedrissä on 12 tahkoa, joten tarvitaan 12 pentagrammia. Käsin niiden piirtäminen 3D avaruudessa olisi aika aikaa vievää. Laiska kun olen, niin päätin ratkaista ongelman ohjelmallisesti. Piste-komennon avulla saa pisteen monikulmion reunajanoille. Esimerkiksi komento

Piste(kuvio1, 0.3)

luo pisteen viisikulmion ABCDE kehälle. Jälkimmäinen muuttuja saa arvoja välillä [0, 1]. Alle nollan ja yli ykkösen olevat arvot luovat tuottavat A-pisteen. Arvo 0 tai 1 vastaa pistettä A. Komento laskee koko murtoviivan ABCDEA pituuden ja määrittää syntyvän pisteen paikan suhteessa tähän murtoviivaan. Niinpä esimerkkimme piste tulee olemaan janan BC keskipisteessä, sillä 0,3 = 3·1/5. Näin ollen pentagrammin kärkipisteet järjestyksessä A, C, E, B, D saataisiin kuvio1:stä Piste-komennolla käyttämällä jälkimmäiselle muuttujalle arvoja 0, 2/5, 4/5, 6/5 – 1 ja 8/5 – 1. Ykkönen pitää vähentää kahdessa viimeisessä, sillä muutoin arvot ovat yli ykkösen. Niinpä tarvitsemme luvun desimaaliosaa, sen saa GeoGebrassa floor()-funktiolla. Jono-komennolla pentagrammi syntyy seuraavalla tavalla. Kehotan lukijaa pohtimaan miksi.

Monikulmio(Jono(Piste(kuvio1,(2*n/5)-floor(2*n/5)), n, 1, 5))

Tämä on aika hankala tapa tuottaa viisikantoja, mutta nytpä sekin osataan.

Tässä vaiheessa voi monikulmiot kuvio1 ja kuvio2 piilottaa näkyviltä, etteivät ne unohdu lopulliseen tuotokseen niin kuin minulle kävi tätä tehtäessä ensimmäisen kerran. Samalla kannattaa laittaa Asetukset-valikosta Nimeäminen pois, jotta dodekaedriä luotaessa ei kuvaan ilmesty runsaasti tahkojen ja janojen nimiä.

Dodekaedri syntyy komennolla

Dodekaedri(A, B, C)

Jos edellisessä komennossa käyttää vain kahta pistettä, niin ohjelma toki luo dodekaedrin, mutta silloin ei voi varmasti tietää mihin suuntaan avaruudessa monitahokas syntyy. 3D-piirtoalueelle syntyy dodekaedri nimeltä a, samalla Algebra-ikkunassa näkyy runsaasti uusia pisteitä, janoja ja tahkoja.

Nyt viimeistään kannattaa muuttaa Algebra-ikkunan näkymäasetuksia. Algebra-ikkunan yläreunassa on kääntyvä kolmia. Sen kääntämällä ilmestyy kolme painiketta, joista keskimmäisen Järjestä: -painikkeen avulla saa Algebra-ikkunan järjestettyä Objektin tyypin mukaan.

tässä tuo keltainen Pallo-työkalun ohje unohtui päälle

Tämän tyyppisten rakennelmien kanssa puuhastellessa toivoisi, että GeoGebrassa olisi komento, jonka avulla saisi dodekaedrin tahkojen nimet yhdeksi listaksi. Valitettavasti tällaista komentoa ei ole. Niinpä täytyy hieman improvisoida. Kun Algebra-ikkunassa siirrytään tarpeeksi alas, niin sieltä löytyvät Viisikulmiot ryhmiteltynä alakkain. Kopioidaan nimet ctrl-c (Macissä cmd-c) näppäinkomennolla. Avataan jokin tekstinkäsittelyohjelma, vaikkapa Texturi iOS:ssä. Valitaan hiirellä toisen rivin t-kirjaimen vasemmalta puolelta ensimmäisen rivin G-kirjaimen oikealle puolelle ja kopioidaan valinta. Valitaan Muokkaa-valikosta Etsi ja korvaa… Sijoitetaan valinta Etsi-kohtaan ja Korvaa-kohtaan kirjoitetaan:  ”␣,”eli ”välilyönti pilkku” ilman lainausmerkkejä.

Sijoittamalla saatu tekstikappale aaltosulkeiden sisälle ilman viimeistä pilkkua voidaan GeoGebrassa määritellä lista nimeltä tahkot

tahkot = {tahkoABCFG, tahkoABHML, tahkoAGKQL, tahkoBCINH, tahkoCFJOI, tahkoFGKPJ, tahkoHMRSN, tahkoINSTO, tahkoJOTUP, tahkoKPUVQ, tahkoLMRVQ, tahkoRSTUV}

Muutetaan tahkojen väri läpinäkyväksi. Valitaan Algebra-ikkunasta dodekaedri a ja 3D-piirtoalueen vasemmasta yläkulmasta läpinäkyvyysliuku vasempaan reunaan.

Pentagrammit voisi luoda yhdellä kertaa käyttämällä Jono-komentoa vuorotellen jokaiseen tahkot-listan alkioon. Tehdään sama asia Zip-komennolla. Zip( lauseke, muuttuja, lista) suorittaa listan jokaiselle alkiolle lauseke-kohdassa olevaan komennon, käyttäen lausekkeessa muuttujana muuttujaa. Olipa yksinkertainen virke. Suoritetaan aiemmin kehitelty Monikulmio(Jono(Piste(kuvio1,(2*n/5)-floor(2*n/5)), n, 1, 5))  -komento tahkot -listan jokaiselle tahkolle komennolla

Zip(Monikulmio(Jono(Piste(tahko,(2*n/5)-floor(2*n/5)), n, 1, 5)), tahko, tahkot)

Kappale on nyt tulostusta vaille valmis.

Palataan 3D-tulostukseen seuraavassa tarinassa.

GeoGebra-tiedosto GeoGebra Materiaaleissa https://ggbm.at/qp3mjhee

Lisää aiheeseen liittyvä luettavaa

One Reply to “Dodekaedri 3D-tulostukseen GeoGebralla”

Vastaa

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

WordPress.com-logo

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

Google photo

Olet kommentoimassa Google -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.