berekenen vlakke zonnewijzers. fer j. de vries

secondaire procedures


Op deze pagina treft u de secondaire routines aan om allerlei types lijnen op een vlakke zonnewijzer te kunnen berekenen.
Maak een keus voor de soort lijnen die u wil berekenen.
Kies een enkele lijn of maak een loop voor een serie lijnen binnen het bereik dat is genoemd.
Maak dan voor elke lijn in die serie een loop voor een aantal punten van die lijn.
Soms is dit een loop voor decl, een andere keer is dit een loop voor t of voor iets anders.
Soms is het eenvoudiger geen loops te maken voor decl of t, maar om een loop te maken voor dagnummers en dan de nodige waarden voor decl en t te berekenen of uit een tabel te halen.
Op gelijke wijze kunt u ook de tijdvereffening verkrijgen als die nodig mocht zijn.
In de procedures hieronder wordt hoofdzakelijk gebruik gemaakt van een loop voor dagnummers.
Met elke combinatie van decl en t wordt dan de hoofdroutine aangeroepen om het gewenste schaduwpunt te berekenen als dat reëel is.

Lijnen voor ware of plaatselijke zonnetijd.
Invoer (reeks van) gewenste lijnen u. 0 <= u <= 24
Bereken uurhoek t = ( u - 12 ) * 15
Maak loop voor dagnummers dn van 172 tot 355
Bereken decl voor dagnummer ( dn + 0.5 ) (dat is ware middag)
Roep hoofdprocedure aan
Verfijning: Als u deze lijnen wil tekenen tot aan het doordringingspunt van de poolstijl maak dan een loop voor decl van -90 to 90 in plaats van een loop voor dagnummers. Dit geldt alleen voor v ongelijk aan 0.

Lijnen voor ware of plaatselijke zonnetijd
met tijdvereffeningslussen for de periode 21 dec tot 21 juni.

Invoer (reeks van) gewenste lijnen u. 0 <= u <= 24
Maak loop voor dagnummers dn van 355 to 538
Als dn > 366 dan dn = dn - 366
Bereken decl voor dagnummer ( dn + 0.5 )
Bereken tijdvereffening E voor dagnummer (dn + 0.5 )
Bereken uurhoek t = ( u - 12 ) * 15 + E
Roep hoofdprocedure aan

Lijnen voor ware of plaatselijke zonnetijd
met tijdvereffeningslussen for de periode 21 juni tot 21 dec.

Invoer (reeks van ) gewenste lijnen u. 0 <= u <= 24
Maak loop voor dagnummers dn van 172 to 355
Bereken decl voor dagnummer ( dn + 0.5 )
Bereken tijdvereffening E voor dagnummer ( dn + 0.5 )
Bereken uurhoek t = ( u - 12 ) * 15 + E
Roep hoofdprocedure aan

Lijnen voor zonnetijd voor standaard meridiaan. (Dit is tijd met lengtecorrectie)
Invoer (reeks van) gewenste lijnen u. 0 <= u <=24
Bereken uurhoek t = ( u - 12 ) * 15 + LC
Maak loop voor dagnummers dn van 172 to 355
Bereken decl voor dagnummer ( dn + 0.5 )
Roep hoofdprocedure aan
Verfijning: Als u deze lijnen wil tekenen tot aan het doordringingspunt van de poolstijl maak dan een loop voor decl van -90 to 90 in plaats van een loop voor dagnummers. Dit geldt alleen voor v ongelijk aan 0.

Lijnen voor zonnetijd voor standaard meridiaan
met tijdvereffeningslussen voor de periode 21 dec tot 21 juni.

Invoer (reeks van) gewenste lijnen u. 0 <= u <= 24
Maak loop voor dagnummers dn van 355 to 538
Als dn > 366 dan dn = dn - 366
Bereken decl voor dagnummer ( dn + 0.5 )
Bereken tijdvereffening E voor dagnummer (dn + 0.5 )
Bereken uurhoek t = ( u - 12 ) * 15 + E + LC
Roep hoofdprocedure aan

Lijnen voor zonnetijd voor standaard meridiaan
met tijdvereffeningslussen voor de periode 21 juni 21 to 21 dec.

Invoer (reeks van) gewenste lijnen u 0 <= u <= 24
Maak loop voor dagnummers dn van 172 tot 355
Bereken decl voor dagnummer ( dn + 0.5 )
Bereken tijdvereffening E voor dagnummer ( dn + 0.5 )
Bereken uurhoek t = ( u - 12 ) * 15 + E + LC
Roep hoofdprocedure aan

Lijnen voor de zonsdeclinatie.
Invoer (reeks van) gewenste lijnen voor decl in het bereik van -23.44 to 23.44
Maak een loop voor de uurhoek t in het bereik van -180 to 180
Roep hoofdprocedure aan

Datumlijnen (maand, dag).
Invoer (reeks van) maanden mnd
Invoer (reeks van) dagen dag
Bereken dagnummer dn :
p = int(( mnd + 9 ) / 12)
q = int( 275 * mnd / 9 ) - 2 * p + dag - 30
als schrikkeljaar dn = q + p anders dn = q
Bereken decl voor dagnummer ( dn + 0.5 )
Maak een loop voor de uurhoek t in het bereik van -180 to 180
Roep hoofdprocedure aan

Lijnen voor Babylonische uren. Beperking -66.56 <= phi <= 66.56
Invoer (reeks van) gewenste lijnen u. 0 <= u <= 24
Maak loop voor dagnummers dn from 172 to 355
Bereken decl voor dagnummer ( dn + 0.5 )
Bereken halve dagboog T = arccos( - tan phi * tan decl )
Bereken uurhoek t = u * 15 - T
Roep hoofdprocedure aan

Lijnen voor Italiaanse uren. Beperking -66.56 <= phi <= 66.56
Invoer (reeks van) gewenste lijnen u. 0 <= u <= 24
Maak loop voor dagnummers dn from 172 to 355
Bereken decl voor dagnummer ( dn + 0.5 )
Bereken halve dagboog T = arccos( - tan phi * tan decl )
Bereken uurhoek t = u * 15 + T
Roep hoofdprocedure aan

Lijnen voor antieke of ongelijke uren. Beperking -66.56 <= phi <= 66.56
Invoer (reeks van) gewenste lijnen u. 0 <= u <= 12
Maak loop voor dagnummers dn van 172 to 355
Bereken decl voor dagnummer ( dn + 0.5 )
Bereken halve dagboog T = arccos( - tan phi * tan decl )
Bereken uurhoek t = ( u - 6 ) * T / 6
Roep hoofdprocedure aan

Lijnen voor het azimut van de zon.
Invoer (reeks van) gewenste lijnen a. -180 <= a <= 180
Maak loop voor de hoogte van de zon h. 0 <= h <= 90
Bereken:
x1 = sin a * cos h
y1 = cos a * cos h
z1 = sin h
R = -( 90 - phi )
x0 = x1
y0 = y1 * cos R - z1 * sin R
z0 = y1 * sin R + z1 * cos R
decl = arcsin(z0)
Als decl ligt binnen het bereik van -23.44 tot 23.44 roep dan de hoodroutine halverwege aan met de waarden x1,y1,z1
( Begin met het berekenen van x2, y2, z2 en vervolg de hoofdprocedure )
anders is het punt niet reëel

Lijnen voor de hoogte van de zon.
Invoer (reeks van) gewenste lijnen h. 0 <= h <= 90
Maak loop voor het azimut van de zon a. -180 <= a <= 180
Bereken:
x1 = sin a * cos h
y1 = cos a * cos h
z1 = sin h
R = -( 90 - phi )
x0 = x1
y0 = y1 * cos R - z1 * sin R
z0 = y1 * sin R + z1 * cos R
decl = arcsin(z0)
Als decl ligt binnen het bereik van -23.44 tot 23.44 roep dan de hoodroutine halverwege aan met de waarden x1,y1,z1
( Begin met het berekenen van x2, y2, z2 en vervolg de hoofdprocedure )
anders is het punt niet reëel

Lijnen voor sterrentijd voor de periode van 21 dec. tot 21 juni.
Invoer (reeks van) gewenste lijnen u. 0 <= u <= 24
Maak loop voor dagnummers dn van 355 to 538
Als dn > 366 dan dn = dn - 366
Bereken decl voor dagnummer ( dn + 0.5 )
Rechte klimming van de zon RA = arcsin( tan decl / tan 23.44 )
Uurhoek t = u * 15 - RA
Roep hoofdprocedure aan

Lijnen voor sterrentijd voor de periode van 21 juni 21 tot 21 dec.
Invoer (reeks van) gewenste lijnen u. 0 <= u <= 24
Maak loop voor dagnummers dn van 172 to 355
Bereken decl voor dagnummer ( dn + 0.5 )
Rechte klimming van de zon RA = 180 - arcsin( tan decl / tan 23.44 )
Uurhoek t = u * 15 - RA
Roep hoofdprocedure aan

Lijnen voor planeten uren voor de periode van 21 dec. tot 21 juni. Beperking -66.56 <= phi <= 66.56
(Merk op dat planeten uren verschillend zijn van antieke of ongelijke uren. Ik refereer naar wat Joseph Drecker daarover in zijn boek 'Die Theorie der Sonnenuhren', 1925, pagina 73, schrijft.)
Invoer (reeks van) gewenste lijnen u. 0 <= u <= 12
Maak loop voor dagnummers dn van 355 to 538
Als dn > 366 then dn = dn - 366
Bereken decl voor dagnummer ( dn + 0.5 )
Rechte klimming van de zon RA = arcsin( tan decl / tan 23.44 )
Lengte van de zon LS = arcsin( sin decl / sin 23.44 )
Lengte van punt van opkomst LE = LS + u * 15
Declinatie van punt van opkomst DE = arcsin ( sin LE * sin 23.44 )
Rechte klimming van punt van opkomst RE = arcsin ( tan DE / tan 23.44 )
Halve daglengte van punt van opkomst T = arccos( - tan phi * tan DE)
Uurhoek t = - T - RA + RE
Roep hoofdprocedure aan

Lijnen voor planeten uren voor de periode van 21 juni tot 21 dec. Beperking -66.56 <= phi <= 66.56
(Merk op dat planeten uren verschillend zijn van antieke of ongelijke uren. Ik refereer naar wat Joseph Drecker daarover in zijn boek 'Die Theorie der Sonnenuhren', 1925, pagina 73, schrijft.)
Invoer (reeks van) gewenste lijnen u. 0 <= u <= 12
Maak loop voor dagnummers dn van 172 to 355
Bereken decl voor dagnummer ( dn + 0.5 )
Rechte klimming van de zon RA = 180 - arcsin( tan decl / tan 23.44 )
Lengte van de zon LS = 180 - arcsin( sin decl / sin 23.44 )
Lengte van punt van opkomst LE = LS + u * 15
Declinatie van punt van opkomst DE = arcsin ( sin LE * sin 23.44 )
Rechte klimming van punt van opkomst RE = arcsin ( tan DE / tan 23.44 )
Halve daglengte van punt van opkomst T = arccos( - tan phi * tan DE)
Uurhoek t = - T - RA + RE
Roep hoofdprocedure aan



voorbeeld van een horizontale zonnewijzer met planeten uren voor zuiderbreedte 52.
rood: periode 21 dec - 21 juni .... blauw: periode 21 juni - 21 dec

Opmerkingen:
De loops voor het dagnummer zijn zodanig gemaakt dat u kunt kiezen voor een ophoging in stappen van 1 of van 3 dagen, overenkomstig uw wens hoeveel punten u wil berekenen.
Als u weet dat een lijn een rechte lijn is begin dan met de loop voor elke lijn aan een zijde totdat het eerste punt is gevonden.
Start dan opnieuw aan de andere zijde totdat het tweede punt is gevonden.
Als de lijn niet reëel is wordt in beide gevallen een niet reëel punt gevonden.

( Verfijning: als u voor de berekening van de zonsdeclinatie en de tijdvereffening gebruik maakt van de formules die in de paragraaf eindnoten worden gegeven, kunt u iets nauwkeuriger werken als de waarden berekend worden voor dn + 0.5 + LM / 360.
Op die manier krijgt u de waarden voor de plaatselijke ware middag. )