Astronominen kello ...

Ohjelma ei ole vielä ollenkaan sitä mitä olisi tarkoitus, mutta tässä "ohje"-tiedostossa koetan hahmotella millainen ohjelmallisesti toteutetusta astronomisesta kellosta pitäisi "lopulta" tulla (sikäli mikäli murentuvan yhtenäiskulttuurin sirpaloituneessa maailmassa enää voi olla mitään lopullista).

Ideana on siis jäljitellä mm. eräiden Keski-Euroopan kirkkojen julkisivua koristavia kelloja jotka pyrkivät esittämään havainnollisesti mm. Auringon nousut ja laskut sekä Auringon liikkeen eläinradan merkeissä. Olen alustavasti hahmotellut ideaa NEWGAL-projektin jutussa #293 jossa on jokunen kuvakin. Tosin oma visioni on hiukan ambitiöösimpi, informatiivisempi ja vähemmän koristeellinen kuin vanhojen keski-eurooppalaisten kelloseppien näkemys aiheesta.

Tässä on siis kuitenkin tarkoitus vähitellen toteuttaa eräänlainen astronominen kello JavaScript-ohjelmalla joka tulostaa dynaamista grafiikkaa ajonaikaisesti HTML5 Canvas-elementtiin. Vasta rakennustelineitä on olemassa, mutta kuvittelen että tähän se komea rakennelma vielä nousee, vähä vähältä.

Nykyaikaisessa astronomisessa kellossa on virallisen kellonajan ohella mielestäni oleellista näkyä paikallinen keskiaurinkoaika ja/tai Auringon todellinen suunta. Ajantasaus on tieto jota jokainen aurinkokellon rakentaja kaipaa. Varsinaiseen astronomiseen kelloon kuuluu luonnostaan 24:n tunnin näyttö koska esim. Aurinko periaatteessa tekee taivaalla vuorokaudessa täyden ympyrän, mutta ohessa voidaan esittää virallinen kellonaika tavanomaisessa 12:n tunnin näytössä ("aikameridiaanin keskiaurinkoaika").

Alkutilanteen aikatiedot luetaan käyttäjän koneelta, joten kesäaika on ilmeisesti otettava huomioon, niin vastenmieliseltä kuin se minusta tuntuukin. Kesäaika aiheuttaa kellonaikaan aivan turhan epäjatkuvuuskohdan, joten mieluummin kylläkin käyttäisi tasaisesti kuluvaa vyöhyeaikaa. Karkaussekunneilla ei ole meille merkitystä koska näyttö on graafinen ja siinä on lopputuloksessa mahdollista vain noin minuutin tarkkuus.

Kello on todellakin vain tietylle paikalle rakennettu ja sen kuuluu näyttää juuri tuon paikan paikallisia tietoja. Kuun suunta ja korkeus horisontista sekä tähtitaivaan kirkkaimpien tähtien suunnat horisontin suhteen olisi mukava esittää. Paljain silmin näkyvien planeettojen paikat taivaalla pystyy myös nykyisellä tekniikalla kuvaamaan astronomisessa kellossa, vaikka vanhat kellosepät eivät lie sellaista yrittäneetkään. Onhan niitä vanhoja aurinkokuntamalleja, mutta ne eivät ole astronomisia kelloja.

Pidän astrolabisesta projektiosta joten ajattelin käyttää sitä. Lievänä epäkohtana on että katsoja joutuu kuvittelemaan katsovansa maailmaa "Jumala-perspektiivistä" tähtien sfäärin ulkopuolelta, mutta kyllähän siihen oppii. Katsomme siis kellotaulussa ikäänkuin kaukaa avaruudesta kohti paikallista maanpintaa joten suunnat voivat aluksi tuntua hassuilta. Koordinaatisto tulee olemaan hiukan erikoinen. Ei missään nimessä voi olettaa että yhtäsuuria mittoja kellotaululla aina vastaisi yhtäsuuret kulmat taivaalla. Stereograafisella projektiolla on omat erikoisuutensa jotka täytyy vaan hyväksyä.

Jotkut tiedot eivät tosin juurikaan ole riippuvaisia kellon sijaintipaikasta maapallon pinnalla. Esimerkiksi Kuun vaiheen graafinen esitys on kovasti havainnollinen. Kuun vaiheen voisi parhaiten esittää erikseen sillä kellotaululla Kuusta tulisi turhan suuri ja peittävä suhteessa tähtitaivaaseen. Kuun radan solmut on perinteisesti ollut tapana esittää astronomisessa kellossa, mutta nykyisin voimme mennä askeleen pitemmälle ja osoittaa myös Kuun todellisen paikan suhteessa tähtiin.

Mukavaa varmaan olisi jos ohjelma piirtäisi Kuun vaiheen niin että valaistun puoliskon suuntakulma tulee oikein suhteessa taivaan ilmansuuntiin tai ehkä jopa horisonttiin, mutta tässä kylläkin on tavoitteena ainoastaan Kuun pinnan valaistun osuuden 0 ... 100% esitys havainnollisesti. Meiltä pohjoisesta katsottuna Kuu on kasvava eli illan taivaalla silloin kun sen oikea reuna näkyy ehjänä ja vähenevä eli aamun taivaalla kun vasen reuna on ehjä.

Ajasta on kellossa kysymys joten kuukausien kalenteri sopii sen yhteyteen luontevasti. Minun täytyy itselleni muistuttaa että kalenterissa on korostettava sekä valittu päivä että nykyinen päivä, sillä ne eivät välttämättä ole samoja. Astronomisen kellon olisi periaatteessa pystyttävä esittämään lähes mikä tahansa taivaan tilanne, mutta luulenpa että tyydyn tässä suunnilleen vuosiin 1950 ... 2050.

Kellon mekaaninen toteutus olisi aika vaativa, mutta tällaisessa puhtaasti ohjelmallisessa toteutuksessa pystyy helposti simuloimaan erilaisia maantieteellisiä sijainteja. Ohjelmallinen piirto taipuu helposti sellaiseen mikä olisi todellisilla kiinteillä osoittimilla vaikea toteuttaa. Paikan vaihto vaatii kellotaulun vaihdon, sillä projektio täytyy piirtää paikan koordinaattien mukaan. Kovin suurta paikkojen valikoimaa tähän en aio tällätä. Astrolabinen projektio ei sovi kovinkaan hyvin matalille maantieteellisille leveyksille eli päiväntasaajan seudulle. Haluammehan toki esittää taivaan horisonttiin saakka. Niinpä luulen että pitäydyn suomalaisittain sopivan latitudin 60°N ... 70°N tuntumassa.

Kesken siis on, mutta toivottavasti vielä joskus Aurinko paistaa tähänkin risukasaan. Muutakin tekemistä minulla on, joten kehitän tätä astronomista kelloa vain jos en keksi parempaa tekemistä. Ei siis voi odottaa nopeaa edistystä.

Ohjelma toimii uusissa selaimissa jotka hanskaavat HTML5 Canvas-elementin ja JavaScript täytyy olla sallittuna. Ja se ohjelma tulee siis olemaan TÄSÄ.

Kapteenin loki

Ohjelman rakentelu on kyllä alkanut, mutta tähtiaika on hyvin karkea arvio, perustuen siihen että aikameridiaanilla klo 18 syystasauspäivänä Aurinko on laskemassa länteen (kun Aurinko on ekvaattorilla) eli Auringon tuntikulma on 6 tuntia (kun Auringon RA on 12h) ja paikallinen tähtiaika on 12h + 6h = 18h joka on kuukauden numero 9 tuplana. Äärimmäisen tarkkoja tietoja tässä ei tarvita.

Toisinaan olen tuntenut kiusausta erittäin yksinkertaisen oman Kuun laskennan rakenteluun. Toivottavasti en lähde sille tielle, vaan käytän tässä yleisiä lähteitä. Oman menetelmän tarkkuus voisi olla varsin kyseenalainen.

Horisontin yläpuolella oleva taivaan osa esitettään vaaleampana sinisenä niin että horisonttiympyrä erottuu hyvin tummemman sinisestä taivaasta joka ei ole näkyvissä. Eri elementtien sopivalla piirtojärjestyksellä pyritään siihen että lopputulos olisi mahdollisimman hyvin luettavissa.

Horisonttiympyrästä tulee suhteellisen pieni, joten aika pieneen tilaan tässä joutuu kaiken pakkaamaan. Tärkeimmät kontrollit koetan kuitenkin saada mahtumaan ei-kovinkaan-uuden läppärini näytölle samanaikaisesti kellotaulun kanssa.

Keltainen klöntti joka sijaitsee keltaisella ympyräviivalla on Aurinko joka kulkee pitkin ekliptikaa. Jos Auringon longitudin laskenta on hyvin karkea, on turha luulla että ohjelmalla voisi simuloida esim. ajantasausta. Voipa tällä kuitenkin kokeilla esim. auringonnousuja ja -laskuja eri vuodenaikoina.

Eläinradan merkkien symbolit ovat kuvia, joita yritetään ladata netistä. Jos tarvittavaa kuvaa ei ole ladattu palvelimelta yhteyden katkettua niin ohjelma ei pysty sitä esittämään. Muilta osin ohjelman tulisi latautumisensa jälkeen toimia normaalisti myös yhteyden palvelimelle katkettua.

Hajamielisen haja-ajatuksia

Epäilemättä perustoiminnoissakin on vielä tarkistelemista ja hiomista. Ohjelma ei kuitenkaan tällaisenakaan ole täysin hyödytön. Kellolla voi havainnolistaa monia asioita.

Jos tähän nyt sitten koettaisi vähitellen kehitellä jotakin varsinaista dokumentoinnin tapaista, niin todettakoon ensinnä että kellotaulun aikamerkintöjen tulee tietenkin pysyä paikoillaan. Astronomisen kellon iso osoitin näyttää aika-asteikolla paikallista todellista aurinkoaikaa. Koska aikamerkinnät ovat kiinteitä, on myös horisontin suunta oltava kiinteä. Keskipäivällä Aurinko on etelässä ja paikallinen aurinkoaika on tasan 12. Osoittaahan jokapäiväinen käytännön kokemuksemmekin ettei horisontti pyöri meidän ympärillämme. Taivas se on joka pyörii, hullukin sen huomaa.

Se vaan täytyy pitää mielessä että astrolabin stereografinen projektio esittää tähtitaivaan ylhäältä tähtien yläpuolelta kohti maanpintaa kuvattuna. Tämän vuoksi itä ja länsi ovat kuin maanpintaa esittävissä kartoissa, länsi pohjoisen vasemmalla puolella. Tavalliset tähtikartat yleensä esitetään ylöspäin maanpinnalta kohti taivasta katsoen, eli eri suuntaan kuin tässä.

Katsotaanpa valaisevaa esimerkkiä. Siinä on ikimuistoinen talvi-illan tähtitaivas. Aurinko on laskenut länteen kauas horisontin alapuolelle keltaisella ekliptikaympyrällään. Orionin tähdistö komean kolmitähtisen vyönsä kanssa on korkealla lähestymässä etelän suuntaa punaisen ekvaattoriympyrän lähellä ja kirkas tähti Sirius on Orionin vyö suunnalla melko tarkkaan kaakossa (idän ja etelän välissä) vain muutamien asteiden korkeudella.

Kaikki talvista taivasta tuntevat tietävät että täällä pohjoisessa Sirius näkyy taivaalla Orionin vasemmalla puolella. Jos tätä astrolabin tähtikarttaa yrittäisi tulkita tavanomaisena tähtikarttana niin Siriushan näkyisi oikealle Orionista kun horisontin kääntää oikeaan suuntaan, eli kuva käännettäisiin omassa mielessä lähes ylösalaisin. Myös ilmansuunnat olisivat tällä tavalla ajatellen hullunkurisesti. Jos rintamasuuntamme on suoraan etelään, voisi ajatella että kuvassa itä on oikealla ja länsi vasemmalla kädellä. Niinhän ei oikeasti ole.

Astrolabia on ajateltava katsovansa ikäänkuin kuvan takaa. Astrolabin tähtikartta on kuvattu ylhäältä alaspäin, joten meidän on ajateltava että olemme tuolla näytön ja kuvan takana ja katsomme sieltä takaisin tänne "ylöspäin". Tällöin mm. horisontin ilmansuunnissa on järkeä.

Niinpä menemme mielessämme ikäänkuin tuonne kuvan taakse, käännymme tänne päin ja tartumme kiinni siihen osaan horisonttia joka on lähellä mielenkiintomme ensisijaista kohdetta. Horisontti kuuluu olla alaspäin, voimme ajatella vaikkapa seisovamme horisonttiympyrällä kasvot tänne päin. Koko karttaa ei tällä tavalla kannattane katsella samanaikaisesti, vain pientä osaa kerrallaan. Horisontista astrolabin takaa aloittaen hommaan tulee järkeä.

Tähtiä on tässä aika vähän, joten niitä ei ole aivan helppo tunnistaa vaikka tuntisikin tähtitaivasta. Käytännössä tähtien tunnistaminen perustuu siihen että näkee useita tähtiä samalla ja löytää niistä tutun kuvion. Yksittäistä tähteä on yleensä vaikea tunnistaa. Nämä kirkkaimmat tähdet täytyy opetella erikseen. Ehkä teen vielä joskus siihen tarkoitukseen oman ohjelmansa? Tähtien nimien kytkeminen päälle voi avittaa tunnistusta, vaikka jotkut nimet tulevatkin päällekkäin.

Voi olla hyödyksi löytää tältä kartalta esim. "kesäkolmio" suunnilleen luoteesta. Joutsenen Deneb ja Lyran kirkas Vega ovat horisontin yläpuolella kuten meikäläisillä leveyksillä aina, mutta Kotkan tähdistön Altair on jo laskenut horisontin alapuolelle. Kirkas Arkturus on pohjoisen toisella puolella horisontin alapuolella näkymättömissä. Ajomiehen Capella on kirkas tähti lähellä zeniittiä eli suoraan pään yläpuolella olevaa kohtaa. Lähellä idän suuntaa on tähti keltaisen ekliptikan kohdalla alle 10° korkeudella. Se on Leijonan tähdistön kirkkain tähti Regulus. Tähtien asemat suhteessa punaiseen ekvaattoriin, kevättasauspisteeseen (KTP) ja keltaiseen ekliptikaan eivät muutu, mutta horisontin suhteen muutosta tapahtuu koko ajan.

Kelloon tulee paljon säätöjä koska kaikkia tietoja ei ole järkevää esittää samanaikaisesti. Monet valinnat ovat vain erikoistapauksissa tarpeellisia. Kellon peruskäyttö kannattanee opetella pitämällä näkyvissä horisontin ohella lähinnä vain ekvaattori, ekliptika, KTP eli kevättasauspiste, ilmansuunnat ja alitudiympyrät.

Hoh-hoijaa. Tämä ohje on täysin retuperällä, mutta toivottavasti aika korjaa haavat, tai jotakin.

Temporaaliset tunnit

Kello voi haluttaessa esittää myös ns. ekvinoktiaaliset tunnit sille ajalle jolloin Aurinko on horisontin alapuolella. Tuolloin ei siis aurinkokello toimi, joten ennen tarvittiin korvaava ratkaisu. Näille ei nykymaailmassa lie paljon mitään käyttöä, mutta perinteisesti astrolabeissa ja astronomisissa kelloissa on esitetty temporaaliset tunnit.

Idea on siinä että pimeä aika jaetaan kahteentoista yhtä pitkään tuntiin. Eri vuodenaikoina pimeän ajan pituus kuitenkin on erilainen, joten temporaalisten tuntien pituus riippuu Auringon deklinaatiosta ja paikan latitudista. Ensimmäinen temporaalinen tunti alkaa auringonlaskusta. Yhdestoista hetki, tuo raamatullinen ilmaisu, lie syöpynyt monen mieleen. Yön yhdestoista hetki on tunti ennen auringonnousua.

Korkeat maantieteelliset leveydet ovat hiukan ongelmallisia temporaalisten tuntien suhteen. Napapiirin pohjoispuolella Aurinko ei nouse keskitalvella eikä laske keskikesällä. Niinpä keskitalvella on periaatteessa koko ajan "pimeää" ja keskikesällä koko ajan valoisaa. Niinpä napapiirin pohjoispuolella temporaaliset tunnit esitetään vain niille Auringon deklinaatioille joilla nousu/lasku-ilmiö tapahtuu.

Primitiivisistä laskentamenetelmistä

Tämä dokumentointi on tietysti aivan pepusta ja rempallaan koska en ehdi tehdä yhtäaikaisesti ohjelman kanssa. Haluan kuitenkin aukikirjoittaa eräitä primitiivisiä laskentamenetelmiä joilla saa suurinpiirtein oikeita tuloksia. Suositeltavaa on toki valita kehittyneempi ja tarkempi menetelmä jos sellainen on käytettävissä.

Auringon longitudi

Auringon longitudin karkea arvio voidaan saada kalenterin avulla. Pientä hienosäätöä voi yrittää kellonajan perusteella, mutta ei se paljon auta.

Aurinko on kevättasauspisteessä kevätpäivän tasauksen hetkellä, jolloin Auringon ekliptikaalinen longitudi on siis nolla. Tästä Auringon longitudi kasvaa suunnilleen 360 astetta vuodessa eli 365 (tai karkausvuonna 366) päivässä Auringon liikkuessa ekliptikalla vastapäivään. Ja arvohan on välillä 0° ... 360°.

Kevätpäiväntasaus sattuu joka vuosi suunnilleen 21. päivä maaliskuuta, koska periaatteessa gregoriaaninen kalenterimme (evankelisluterilaiset mielellään nimeävät sen vain parannetuksi kalenteriksi etteivät joutuisi mainitsemaan heille väärää oppia edustavan paavi Gregoriuksen nimeä) on siten laadittu että se keskimäärin seuraa trooppista vuotta aika hyvin. Kevätpäiväntasauksen tarkka kellonaika kuitenkin vaihtelee, joten kellonajan kanssa pelleily ei välttämättä kannata.

Arvio Auringon longitudista voidaan perustaa sille että λ = 0° kevätpäiväntasauksessa eli suunnilleen 21. päivä maaliskuuta, josta longitudi kasvaa päivää kohti keskimäärin kulmalla 360°/365. Täytyy siis tietää montako päivää on kalenterin mukaan kulunut edellisestä maaliskuun 21. päivästä, kertoa tämä luvulla 360°/365 ja vuolaa, siinä meillä on Auringon longitudi ko. päivänä. Lopputuloksessa täytynee tyytyä asteen tarkkuuteen. Auringon longitudi ei kasva aivan tasaisesti ja kevätpäiväntasauksen kellonaikaa ei pysty näin yksinkertaisesti päättelemään yleispätevästi.

Voisi tietysti yrittää hiukan tarkempaa tulosta käyttäen trooppisen vuoden tarkkaa pituutta 365,242190402 vuorokautta, mutta kun kevätpäiväntasauksen tarkka kellonaika on tuntematon niin eipä se paljon auta.

Paikallinen tähtiaika

Tähtiaika tarkoittaa kevättasauspisteen tuntikulmaa joka lasketaan taivaanekvaattoria pitkin meridiaanista, meikäläisittäin etelästä myötäpäivään, välillä 0 ... 360 astetta tai 0 ... 24 tuntia jotka ovat sama asia eri yksiköin ilmaistuna. Tähtiaika on periaatteessa paikallinen, mutta parempi laskenta lähtee Greenwichin tähtiajasta jota korjataan paikan maantieteellisellä pituudella sillä perusteella että idässä aika on enemmän samalla hetkellä maanpinnan kaarevuuden vuoksi. Primitiivinen paikallisen tähtiajan arvio ei kuitenkaan tarvitse Greenwichiä.

Voimme lähteä perustelemaan primitiivistä ratkaisua sillä että syyspäiväntasauksessa Auringon laskiessa sen deklinaatio on nolla ja Aurinko laskee länteen tuntikulmalla 6 tuntia eli 90°. Paikallinen keskiaurinkoaika on tällöin 18:00 joka syntyy lisäämällä kahteentoista tuntiin tuo tuntikulma 6h. Kevättasauspiste on tuolla hetkellä Aurinkoon nähden päinvastaisella suunnalla nousemassa itäisessä horisontissa eli sen tuntikulma on myös mainittu maaginen 18 tuntia eli 270°. Syyspäiväntasaus tapahtuu suunnilleen 21. päivä syyskuuta ja kun syyskuun järjestysnumero on 9, havaitsemme tässä tapauksessa paikallisen tähtiajan tunteina olevan kuukauden numero kerrottuna kahdella.

Lyhyellä aikavälillä tähtiaika kasvaa suunnilleen samalla nopeudella kuin tavallinen kellonaika. Tuntia myöhemmin tähtiaika on suunnilleen tuntia enemmän. Pitemmällä aivavälillä syntyy eroa siksi että Aurinko näyttää liikkuvan taivaalla tähtien suhteen noin asteen päivässä vastapäivään. Tavallinen kellonaika yrittää seurata Auringon vuorokautista liikettä. Tähtiaika koettaa seurata tähtien vuorokautista liikettä. Tähtivuorokausi on hiukan lyhyempi koska tähtivuorokaudessa maapallon ei tarvitse pyörähtää vastapäivään sitä ylimääräistä astetta jonka Aurinko siirtyy tähtien suhteen vastapäivään. Koemme taivaan pyörivän ympärillämme myötäpäivään koska maapallo allamme pyörii vastapäivään, lännestä itään.

Auringon ja kevättasauspisteen suuntien välisestä erosta johtuu että aikojen välille syntyy eroa noin 2 tuntia kuukaudessa ; vuodessahan eroa tulee 24 tuntia täyteen ja 24h / 12 kuukautta = 2h / kuukausi. Keskiaurinkoaikaan nähden voimme sanoa että tähtiaika "edistää" tuon 2h kuukaudessa koska tähtivuorokausi on lyhyempi kuin keskiaurinkovuorokausi. Vastaavasti kahdessa viikossa tähtiaika kasvaa keskiaurinkoaikaan nähden yhdellä tunnilla ja viikossa puolella tunnilla. On kuitenkin hyvä pitää huolta siitä että lopputuloksessa tähtiaika on välillä (aikamitassa) 0h ... 24h tai (kulmamitassa) 0° ... 360° joka on sama asia koska maapallo pyörähtää täyden kierroksen eli 360° noin 24:ssä tunnissa eli 15°/h.

Tämän alkusoiton jälkeen esitämme varsinaisen laskentamenetelmän, lähtökohtana se että syyspäiväntasauksessa klo 18:00 paikallista keskiaurinkoaikaa paikallinen tähtiaika on 18h eli 270°.

  1. Kerro kuukauden numero kahdella, saat paikallisen tähtiajan paikallista keskiaurinkoaikaa aikameridiaanilla klo 18 sen kuukauden 21. päivä. Esimerkiksi tammikuusta eli ekasta kuukaudesta tulisi tähtiajan aloitusarvoksi 2 tuntia.
  2. Jos päivä on ennen kuukauden 21. päivää, vähennä tähtiajasta puoli tuntia viikkoa kohti. Jos päivä on 21. päivän jälkeen, lisää tähtiaikaa puoli tuntia viikkoa kohti.
  3. Jos kellonaika on enemmän kuin klo 18:00 niin lisää tähtiaikaan tämän 18:n yli menevät tunnit ja minuutit. Muista että tunnissa on vain 60 minuuttia. Saat tunneista desimaaliluvun lisäämällä minuutit jaettuna vakiolla 60 min/h. Esimerkiksi 12 tuntia ja 34 minuuttia on 12h + 34min / (60 min/h) = 12 h + (34/60)h. Jos kello on ennen 18:ta, vähennä tähtiajasta se aika joka puuttuu iltakuudesta.
  4. Jos haluat käyttää kesäaikaa niin vähennä tähtiajasta yksi tunti, koska kesäaika on tunnilla liian paljon.
  5. Jos haluat tehdä paikalliskorjauksen, vähennä tähtiajasta minuutteina aikameridiaanista laskettu läntinen longitudi asteina kerrottuna neljällä. Esim. jos paikan maantieteellinen longitudi on 22°E ja aikameridiaani on 30°E, vähennä tähtiajasta (30° - 22°) * 4 min/° = 8° * 4 min/° = 8 * 4 minuuttia = 32 minuuttia. Suomen länsirannikolla paikallisaikakorjauksen voi likimääräisesti tehdä vähentämällä tähtiajasta puoli tuntia. Muista että aikameridiaani on idässä joten tähtiaika on siellä enemmän ja meidän paikallinen aikamme täällä lännessä on vähemmän ; tämän vuoksi vähennetään.
  6. Siisteyden ja käytännöllisyyden vuoksi palauta lopputulos välille 0 ... 24 tuntia. Jos tähtiajasta tuli negatiivinen, lisää siihen 24 tuntia, jos tähtiaika ylittää 24 tuntia, vähennä siitä 24 tuntia. Voit muuttaa tähtiajan kulmamittaan eli asteiksi kertomalla vakiolla 15°/h.

Lopputuloksessa tähtiajassa voi odottaa noin varttitunnin tarkkuutta. Se ei ole aivan häikäisevää luokkaa, mutta monasti ihan kiva likiarvo jolla on käyttöarvoa.

Kuun vaiheen suuruus

Jos käytettävissä on vain Auringon ja Kuun longitudit niin Kuun vaiheen suuruutta (valaistuna näkyvä osuus Kuun meille näkyvästä pinnasta 0 ... 100%) ei voi ratkaista ihan tarkkaan, koska mm. etäisyydet vaikuttavat asiaan, mutta jo pelkistä longitudeistakin voi laskea likimääräisen arvon.

Aurinko on joka tapauksessa paljon kauempana kuin Kuu. Voimme ajatella että Aurinko on äärettömyydessä jolloin Kuun etäisyydellä ei ole merkitystä geosentrisessä tarkastelussa. Tarkatkin Kuun vaiheet lasketaan ja ilmoitetaan geosentrisesti eli maapallon keskipisteen suhteen, vaikka en uskokaan että siellä olisi ketään Kuuta katselemassa.

Lähdetään Auringon ja Kuun ekliptikaalisten longitudien erosta joka on aina välillä 0 ... 180° - nimittäin kun valitaan kulmista se pienempi. Välillä voi toki olla longitudin epäjatkuvuuskohta 0/360° joka vaatii pientä temppuilua. Kuu liikkuu taivaalla Aurinkoon nähden vastapäivään, mutta horisonttiin nähden se tietysti lyhyellä aikavälillä liikkuu taivaalla myötäpäivään, kuten kaikki muutkin sellaiset taivaalliset kohteet jotka eivät ole meitä erittäin lähellä.

Jos Kuu on taivaanpallolla Aurinkoon nähden itään eli vastapäivään (meikäläisittäin Auringosta "vasemmalle") niin Kuun vaihe on kasvava, eli valaistuna näkyvä osuus Kuun pinnasta on lisääntymässä. Kuun oikeanpuoleinen reuna näkyy valaistuna. Tällöin Kuun longitudi on periaatteessa suurempi kuin Auringon longitudi (mutta muista longitudin epäjatkuvuuskohta 0/360°). Kasvava Kuu näkyy yleensä iltataivaalla.

Jos Kuu on taivaanpallolla Auringosta länteen eli myötäpäivään (meikäläisittäin "oikealle") niin Kuu on vähenevä ja yleensä näkyy aamun taivaalla, vasen reuna valaistuna. Periaatteessa Kuun longitudi on tällöin pienempi kuin Auringon longitudi (mutta muista longitudin epäjatkuvuuskohta 0/360°).

Kun Auringon ja Kuun longitudeissa on 90° ero, näkyy meille Kuun pinnasta likimäärin puolet valaistuna, jos summittaisesti oletamme että Aurinko on meistä paljon kauempana kuin Kuu. Tokihan Kuun ekliptikaalinen latitudikin hiukan vaikuttaa asiaan. Auringon latitudi on käytännössä nolla, mutta Kuun latitudi vaihtelee suunnilleen rajoissa ±5°. Jos kuitenkin jätämme tarkat etäisyydet huomiotta niin minusta Kuun latitudin kanssa on turha pelehtiä.

Likimääräinen Kuun vaihe voidaan ratkaista yksinkertaisesti ekliptikaalisten longitudien perusteella. Jos longitudien ero on 90°, on Kuun vaihe 50%. Jos longitudien ero on jokseenkin nolla, on Kuu suunnilleen Auringon suunnalla ja vaihe on käytännössä nolla. Jos longitudeissa on 180° ero, on kyseessä täysikuu, eli Kuun vaihe on 100% ; koko meille päin näkyvä Kuun pinta näkyy valaistuna. Näiden arvojen välillä Kuun vaihe muuttuu likimääräisesti sinimuotoisesti. Muutos on hitaimmillaan kun vaihe on 0% tai 100% ja nopeimmillaan kun vaihe on 50%.

Vähän paremmista lähteistä

En kuvittele hetkeäkään että tämä kesken oleva työmaa muodostaisi mitään koherenttia kokonaisuutta, mutta kirjaanpa tässä joutessani rennolla neekerivartalolla joitakin huomioita käytetyistä lähteistä:

  • AA on yhtä kuin Astronomical Almanac 1996, sen simppelille menetelmälle ei ole mitään takeita vuosien 1950 ... 2050 ulkopuolella Auringolle (sivu C24) ja Kuulle (sivu D46). Kuulle ilmoitetaan virhe longitudissa yleensä alle 0,3 astetta ja virhe latitudissa alle 0,2 astetta.
  • Planeettojen laskentamenetelmä perustuu ... ööh ... rata-alkioille ja ... ööh ... kirjalle jonka nimen yritän muistaa lisätä. Tätä menetelmää voi koettaa käyttää myös Auringolle ja ennen vuotta 1950 se onkin suositeltavaa.
  • Suuri puute on että tähtiajan laskenta on toistaiseksi aivan simppeli ja epätarkka. Pitäisi suorittaa sellainen uskomattoman herkuleellinen urotyö että laskisi Greenwichin keskimääräisen tähtiajan GMST ja siitä paikallisen tähtiajan maantieteellisen pituuden avulla. Saa kattoo ny koska sellaista jaksais.

    Myöhemmin voin ehkä lisäillä tähän muitakin Kuun laskennan menetelmiä vaihtoehdoiksi. Kovin suurta tarkkuuttahan tässä ei tarvita, joten suhteellisen kompaktitkin menetelmät riittävät.

    Ajantasauksesta

    Kerronpa tässä ohimennen että ohjelma näyttää nyt ajantasauksen ikkunan oikeassa yläkulmassa muiden aikatietojen alla. AT on ajantasaukselle käytetty lyhenne. Kyse on siis paikallisen keskiaurinkoajan ja tosiaurinkoajan välisestä erosta. Ajantasaus on nolla silloin jos paikallinen keskiaurinkoaika ja tosiaurinkoaika käyvät yksiin.

    Esimerkiksi Porissa on Aurinko keskimäärin etelässä vyöhykeaikaa noin klo 12:34 ja kesäaikaa klo 13:34. Ajantasauksen mukaan voi todellinen Auringon kulminointiaika kuitenkin heitellä tästä noin varttitunnin puoleen tai toiseen.

    Ajantasauksen merkityksen näkee hyvin jos asettaa kellonajaksi tuon 12:34 (tai 13:34 kesäajan kanssa) ja askeltaa päiviä tai viikkoja eteen- tai taaksepäin vuoden verran. Auringon asema heilahtelee etelän molemmin puolin. Ajantasauksen muutos on suurimmillaan talvella jolloin maapallo on lähimpänä Aurinkoa.

    Toisen tavan tarkastella ajantasauksen merkitystä tarjoaa valinta "edellinen/seuraava keskipäivä". Kun näitä nappuloita painelee toistuvasti, näkee miten Auringon kulminoinnin virallinen kellonaika vaihtelee. Kesällä muutokset ovat melko pieniä, muutamia minuutteja. Pienessä aurinkokellossa sellaiset vaihtelut ovat lähes huomaamattomia. Niinpä vaatimattomassa aurinkokellossa voi ajantasauksen jokseenkin unohtaa jos sitä käytetään ainoastaan kesäaikaan.

    Edellinen ja seuraava auringonnousu tai -lasku

    Toiminto on tarkoitettu ratkaisemaan likimääräinen Auringon nousu- ja laskuaika. Se käyttää Auringolle lähtötilanteen deklinaatiota ja pientä epätarkkuutta voi esiintyä. Käytännössä näitä ilmiöitä ei edes pysty kovin tarkasti laskemaan, varsinkaan todellisen horisontin mukaan, joka voi poiketa ihanteellisesta horisontista paljonkin. Lähes aina horisontissa on näköesteitä useiden altitudin asteiden edestä.

    Jos Aurinko on valitulla paikalla koko vuorokauden ajan horisontin ylä- tai alapuolella niin nousu-/lasku-ilmiötä ei voida kuvata sen vuorokauden osalta. Ei myöskään lähdetä etsimään sellaista Auringon deklinaatiota jolla haluttu ilmiö tapahtuisi, vaan spekulointi suoritetaan pelkästään ko. hetken deklinaation perusteella. Niinpä ohjelma ei tällöin esitä Auringon nousua / laskua lainkaan, vaan toteaa yksikantaan että Aurinko on ko. paikalla koko vuorokauden ajan horisontin ylä- tai alapuolella.

    Problematiikkaa

    No tämä työmaahan on jatkuvasti kesken kuin Iisakin kirkko, mutta kirjoittelenpa tähän joutessani vanhan jatkoksi hiukan niitä-näitä, mitä nyt enimmin päähän pälähtää.

    Ihan perusjuttu on projektion toteutus. Olen lähtenyt siitä että klo 12 aurinkoaikaa täytyy olla ylhäällä kuten se on tavallisessa kellossakin. Jos klo 12 olisi alhaalla niin olisihan siinä se etu että horisonttikoordinaattien hahmottaminen voisi ehkä olla havainnollisempaa, makuasia.

    Aavistuksen verran olen leikitellyt sellaisella hurjalla ajatuksella että jospa lämäyttäisikin sellaisen projektion että ekliptikan napa olisi keskellä kellotaulua. Tämä olisi aika raju muutos ja tuskinpa vaan ainakaan juuri tässä toteutuksessa siihen lähtisin. Etuna olisi kohteiden helpompi osoittaminen viisareiden avulla. Tässä simulaatiossa viisarit eivät ole suuri ongelma, mutta puhtaasti mekaanisessa toteutuksessa ne epäilemättä olisivat erittäin tuskallisia. Voisi kuitenkin tulla muita ongelmia jos sille tielle lähtisi että ekliptikan napa projisoidaan kellotaulun keskelle.

    Nythän keskellä on perinteiseen tapaan taivaanekvaattorin napa. Tähtitaivas pyörii taivaanekvaattorin navan (dementsprechend Pohjantähden) ympäri, mutta Aurinko, Kuu ja planeetat periaatteessa kiertävät ekliptikan navan ympäri. Ekliptikaympyrän keskipiste ei ole aivan ekliptikan navan kohdalla jos taivas projisoidaan tasolle taivaannavan eli ekvaattorin navan suhteen. Jos taivas projisoitaisiin tasolle ekliptikan navan suhteen, niin esim. planeettojen ekliptikaalisten latitudien osoittaminen olisi helpompaa. Taivaanekvaattorin voisi esittää ympyränä siinäkin projektiossa mutta taivaanekvaattorin napa ei olisi aivan sen ympyrän keskipisteessä. Esimerkiksi aurinkoaika täytyisi kuitenkin osoittaa nimenomaan ekvaattorin napaan akseloidun osoittimen kautta ja ympyrälle joka kuvaa ekvaattorin navan suhteen määritettyjä tuntikulmia.

    Paikan koordinaattien valinta on nykyisin paikan nimen mukaan. Maantieteellisiä koordinaatteja ei siis anneta suoraan. Tämän valinnan olen tehnyt siksi että virhemahdollisuudet vähenisivät käyttäjärajapinnassa. Paikka liittyy myös aikavyöhykkeeseen. Olisi ehkä hauskaa esittää näkymä myös esim. Tukholmalle ja Pietarille tai Moskovalle, mutta silloin aikavyöhyke ei olisi vakio.

    Kesäaika on yksi kirous. Ohjelma ei pysty päättelemään onko kesäaika voimassa vaiko ei. Käyttäjän täytyy aina itse erikseen valita käytetäänkö kesäaikaa vaiko vyöhykeaikaa. Wikipedian linjoille en ole lähtemässä. Suomen aikavyöhyke ei ole UTC+3h vaikka Wikipedia niin väittääkin. Suomen vyöhykeaika on UTC+2h eli meillä voimassa on Itä-Euroopan vyöhykeaika ja välillä valitettavasti käytetään ns. kesäaikaa jolloin kellot tahallisesti väännetään näyttämään tunnilla väärin aikaa UTC+3h. Se ei kuitenkaan muuta meidän vyöhykeaikaamme yhtään miksikään, tämä Mr Wikille tiedoksi.

    Planeetoista olen toistaiseksi jättänyt pois Merkuriksen, Uranuksen ja Neptunuksen. Uranuksen voisin ehkä liittääkin uudeksi valinnaksi koska se toisinaan näkyy pimeällä taivaalla paljain silmin. Merkuriusta karsastan edelleen.

    Tähtien asterismien esitys on pahoin kesken. Jos saan sen joskus käyttökelpoiselle tasolle niin varmaankin liittäisin ohjelmaan valinnaisesti myös tärkeimpien asterismien piirron tähtitaivaalle. Asterismithan eivät ole mitään tähdistöjä, vaan ne ovat periaatteessa mielivaltaisia viivoja taivaan kirkkaiden tähtien välillä, auttavat hahmottamaan tähtitaivasta. Mahdollisesti asterismeille voitaisiin piirtää nimetkin (esim. "Otava"), sillä onhan monilla kuitenkin jossakin määrin vakiintunut esitystapa vaikka asterismeilla ei mitään virallista ja standardoitua asemaa olekaan. Asterismeja voisi piirtää niinkin että piirretään pelkät viivat vaikka kaikkia asianosaisia tähtösiä ei kuvatakaan.

    Tähdistörajoja tuskin ryhdyn tähän piirtelemään. Ne ovat aika tyhmästi toteutettuja. Tähdistöt eivät ole mitään tiedettä. Vallan hyvin voisi syyttää taivaan jakoa tähdistöihin mystiikaksi ja taikauskoksi. Tähtitieteilijät näkevät mielellään astrologisissa eläinradan merkeissä sen paholaisen sorkan jäljen, mutta eivätpä nää karmeeta malkaa omassa okulaarissaan.

    Voin kuvitella että lopullinen versio tästä teemasta tulee vielä joskus esim. Esperanton kielellä tai venäjäksi. Mitään oliomallia en ole käyttänyt enkä usko että käytänkään. Proseduraalinen ohjelmointityyli on OK. JavaScript ei skriptikielenä tietenkään ole erikoisen hieno ympäristö kunnialliselle C/C++ ohjelmoijalle, mutta oleellista on että se toimii kotikoneessakin selaimessa ilman palvelinta.

    Vielä hienompaa olisi rakentaa oikea mekaaninen kolmiulotteinen malli joka toimisi armillaaripallon tyyliin kuin yhdistetty astronominen kello ja maakeskinen 3D-aurinkokuntamalli. Sopiva suuruusluokka voisi olla halkaisija noin 10 metriä niin että muutamat katsojat voivat mennä korokkeelle keskelle ja nähdä Auringon, Kuun sekä planeetat kiertämässä itseään sekä tähtitaivaan pyörimässä yläpuolellaan. Huoneen korkeus pitäisi olla noin 5 metriä. Siinä planetaariossa olisi potkua kuin muulin takakavioissa.

    No joo, haaveet sikseen. Onhan tässä 2D-toteutuksessakin vielä duunaamista aika tavalla. Astronomisen kellon perusideaa pidän hienona. Se voi aiheuttaa näppyjä ammattitähtitieteilijöille jotka paasaavat aurinkokeskisen maailmankuvan autuutta (ikäänkuin Aurinko muka olisi maailmankaikkeuden keskus), mutta harrastajan kannalta astrolabinen projektio on kovin antoisa ja taloudellinen. Jätetään ammattilaiset murehtimaan sitä että jospa ne galaksit ja galaksijoukot ja kvasaarit ja superjoukot ovatkin vain hologrammi, Zeuksen kieli poskessa jäynäämä jekku. Keskittykäämme suoran viivan ja puhtaan ympyrän kauneuteen joka periaatteellisesta yksinkertaisuudestaan huolimatta on rivikansalaiselle kokemuksellisesti niin perin antoisa elämys sekä ehtymätön euforian lähde.


    Takaisin