berekenen vlakke zonnewijzers. fer j. de vries
Het doel van de hoofdprocedure is een gegeven zonspositie, gedefiniëerd door de zonsdeclinatie
decl en de
uurhoek t om te zetten in x, y coördianten van het schaduwpunt
van het eindpunt van de gnomon of als uitvoer te geven 'punt is niet reëel'.
Bereken de waarden voor x0,y0,z0, x1,y1,z1, x2,y2,z2, x3,y3,z3 en voor x,y zoals in de 5 routines hieronder is
aangegeven.
In deze routines zijn 2 beslispunten opgenomen om uit te vinden of een punt al of niet reëel is.
In : phi, g, i, d, decl, t
Uit : x, y of 'punt is niet reëel'
| x0 = sin t . cos decl | omzetting van decl, t in x0, y0, z0 |
| y0 = cos t . cos decl | |
| z0 = sin decl | |
| R = 90 - phi | omzetting x0, y0, z0, in x1, y1, z1 |
| x1 = x0 | door rotatie om de x-as met hoek 90 - phi |
| y1 = y0 . cos R - z0 . sin R | |
| z1 = y0 . sin R + z0 . cos R | |
| als z1 < 0 punt is niet reëel: zon is onder de horizon. | |
| R = d | omzetting x1, y1, z1, in x2, y2, z2 |
| x2 = x1 . cos R - y1 . sin R | door rotatie om de z-as met hoek d |
| y2 = x1 . sin R + y1 . cos R | |
| z2 = z1 | |
| R = i | omzetting x2, y2, z2, in x3, y3, z3 |
| x3 = x2 | door rotatie om de x-as met hoek i |
| y3 = y2 . cos R - z2 . sin R | |
| z3 = y2 . sin R + z2 . cos R | |
| als z3 <= 0 punt is niet reëel: zon is niet boven het zonnewijzervlak. | |
| x = x3 . g / z3 | omzetting x3, y3, z3, in x, y |
| y = y3 . g / z3 | dit zijn de gevraagde coördinaten van het schaduwpunt. |
Opmerkingen:
Het wordt aangeraden de 5 routines als aparte routines te programmeren in plaats van er een gecombineerde routine van te maken.
Houd rekening met een maximale waarde voor de x,y coördinaten van het schaduwpunt. Anders berekent u wellicht punten die heel ver van de zonnewijzer liggen .
