sunnuntai 12. maaliskuuta 2017

Colosseumin eksentrisyys ja GeoGebra


Jonkin ohjelmiston käyttökelpoisuutta on usein hyvä yrittää testata ongelmalla, jossa todennäköisesti joudutaan ohjelmiston mahdollisuuksien rajoille. Ratkaisu ehkä voidaan löytää, mutta matkalla törmätään ohjelmiston ongelmakohtiin ja rajoituksiin.

Googlelta löytyy hyvä ilmakuva Rooman Colosseumista. Ääriviiva näyttää ellipsiltä. Miten tarkoin se on? Jos se on, niin mikä olisi eksentrisyys?

Kuvan saa vaivatta luetuksi GeoGebraan. Ellipsi tulee määrätyksi, jos tunnetaan viisi pistettä sen kehältä. GeoGebrasta löytyy valmis työkalu, ja naputtelemalla viisi pistettä Colosseumin reunalta saadaan piirretyksi ellipsi, joka hämmästyttävän hyvin yhtyy reunaan. Mitenkähän Colosseumin arkkitehti on rakennelman suunnitellut?

Seuraavassa käsittelen vain kuvassa olevaa ulompaa ellipsiä. Tämän yhtälö $c$ löytyy GeoGebran algebraikkunasta. Yhtälön avulla voidaan hakea ellipsin keskipiste, akselit ja eksentrisyys. Käytössä ovat grafiikka-, algebra- ja CAS-ikkunat. Laskenta voi ehkä olla yksinkertaisempaakin, joten otan mielelläni vastaan kommentteja.

Pohjana on analyyttinen geometria sellaisena kuin sitä aikoinaan yliopistoissa opetettiin. Nykyään ei enää. Referenssinä voi käyttää vanhoja yliopistotason oppikirjoja, joiden uusimmassa päässä on oma kirjani Algebra ja geometria.  En esitä seuraavassa teoriaa enkä perustele yhtälöiden muodostamista.

Geogebratiedosto sekä algebra- ja CAS-ikkunoiden pdf-kuvat löytyvät linkeistä http://www.elisanet.fi/simo.kivela/blg/colosseum.ggb
http://www.elisanet.fi/simo.kivela/blg/colosseumAlg.pdf
http://www.elisanet.fi/simo.kivela/blg/colosseumCAS.pdf

CAS-laskennan riveillä 1--4 on määritetty ellipsin keskipiste. Riveillä 5--6 on muodostettu ellipsin yhtälön toisen asteen osan, neliömuodon matriisi $a$. Riveillä 7--8 määritellyt vektorit ovat probleeman tuntemattomat, jotka tarkoittavat pääakselisuuntia. Näille muodostetaan neljä yhtälöä (rivit 9--12): Ensimmäinen vaatii, että kyseessä ovat liittosäteet. Toisen mukaan näiden tulee olla kohtisuoria, jolloin ne ovat akselisuuntia. Kolmas ja neljäs vaativat, että vektoreiden päätepisteet ovat ellipsin kehällä, kun alkupiste on ellipsin keskipisteessä.

Neljän tuntemattoman ja neljän epälineaarisen yhtälön ryhmän ratkaiseminen onnistuu rivillä 13 ja saadaan kahdeksan ratkaisua. Nämä ovat oleellisesti samoja ja eroavat ainoastaan vektoreiden järjestyksen ja vastakkaisuuden suhteen. Kun akselit tunnetaan, niiden pituudet ja eksentrisyys voidaan laskea (rivit 14--18). Colosseumin ulkokehän eksentrisyys on 0.60.

Ratkaiseminen siis onnistui. Millaisia olivat kokemukset?

Yrityksiä ja erehdyksiä tarvittiin paljon. GeoGebran dokumentaatiosta ei ollut aivan helppoa löytää tarjolla olevia funktioita tai komentoja ja niiden käyttöä tai merkitystä. Muutaman kerran GeoGebra kaatui ja hukkasi kaiken siihen mennessä lasketun. Aloinkin tallettaa tiedoston parin kolmen operaation välein.

Eksentrisyyden laskemisessa tuli yllätys. Laskua varten täytyy tietää, kumpi akseli on iso ja kumpi pieni. Useamman kerran laskettaessa tuli vaihdellen oikea tulos ja kompleksinen arvo. Syynä on, että GeoGebra ilmeisesti laskee ajoittain yhtälöryhmän ratkaisun uudelleen ja tulokset tulevat eri järjestyksessä.  Tämä johtaa ison ja pikku akselin roolien vaihtumiseen. Koodissa siis pitäisi testata, kumpi vektorinpituus on suurempi ennen eksentrisyyden laskemista.  Toisinaan yhtälöryhmälle tuli myös virheellinen ratkaisu.

Kyse on periaatteessa siitä, onko laskentadokumentti dynaaminen ja mikä muutos aiheuttaa sen uudelleen laskemisen. Luontevinta ehkä olisi, että se lasketaan uudelleen vain käyttäjän nimenomaisesta käskystä.

Laskenta on tehty paikallisesti asennetulla GeoGebralla. Verkkoversiossa en saanut yhtälöryhmän ratkaisua onnistumaan.

Luonteva ajatus olisi pakata laskennan vaiheet makroksi, jolla olisi yksi argumentti, nimittäin ellipsi, jota lähdetään tarkastelemaan. Tällöin saataisiin vähällä vaivalla esimerkiksi Colosseumin sisemmän ellipsin eksentrisyys.  GeoGebrassa voidaan tehdä komentoja sisältäviä skriptejä, jotka käynnistetään esimerkiksi painikkeesta. En kuitenkaan löytänyt tapaa antaa näille argumenttia (parametria). Joko se ei ole mahdollista tai dokumentaatio oli minulle liian vaikeaa.

GeoGebra on monessa suhteessa näppärä työkalu, mutta CAS-osio ei ole täysin onnistunut. Yksinkertaiset tehtävät kyllä sujuvat, mutta mahdollisuutta kasvaa sen mukana vaativampiin tehtäviin ei oikein ole. Sääli.

1 kommentti:

Simo Kivelä kirjoitti...

Mikko Rahikka kysyi Facebook-kommentissaan, vertailinko tulosta GeoGebran Eccentricity/Eksentrisyys-komennon antamaan. En vertaillut, koska en tullut ajatelleeksi, että valmiskin komento löytyy. Samathan ne tulokset ovat. Olisi tietenkin pitänyt ajatella, että kyllä tällainen komento on valmiina. Lienee selvää, kummalla tavalla oppii enemmän matematiikkaa. Yksi esimerkki lisää siihen problematiikkaan, jota edellisessä blogikirjoituksessani käsittelin.