La meridiana Sloan-Kluepfel - riccardomazzei_roma_mobile

Vai ai contenuti

Menu principale:

La meridiana Sloan-Kluepfel

Excel E Access
 
 
 









       traduci

 

Vedi anche post sul mio blog al seguente link .


Era il lontano 1981 quando sull'edizione italiana di Scientific
American, comparve un articolo di Martin Gardner che illustrava il
codice Basic per la costruzione grafica di una meridiana a gnomone
verticale.

La prima versione del programma redatta da C.K. Sloan conteneva però
due errori gravi, che furono successivamente corretti da C. Kluepfel
ed nel riquadro sottostante è inserito il listato completo del programma
basic così come comparso nell'articolo della rivista scientifica.

Con questo codice viene calcolata la posizione della punta dello stilo
per le ore che vanno dalla 7 di mattina (con il calcolo anche delle
mezzore) sino alle ore 17 (variabile K nel ciclo "for - next").

Il programma calcola, conoscendo Latitudine, Longitudine, altezza
dello stilo e differenza di longitudine rispetto al meridiano di
riferimento, anche l'equazione del tempo ed il ritardo/anticipo dovuto
alla distanza angolare tra sito di calcolo e meridiano che determina
il fuso orario.

Il risultato del calcolo sono le variabili DIST e TOTAL_ANGLE, la
seconda è l'angolo tra l'intersezione della linea locale delle ore 12
(meridiano locale) e la posizione dell'ombra all'ora di calcolo, la
prima (DIST) la distanza dalla linea equinoziale.

Riconosco che è un calcolo un pò complicato, però nella pagina seguente
è inserito il programma di calcolo redatto tramite codice VBA su foglio Excel, dove
i calcoli sono fatti in automatico, e sul foglio xls sono riportate le
coordinate X e Y  da riportare successivamente in un diagramma
cartesiano, in modo da facilitare la costruzione delle curve analemmatiche.

Calcolo delle linee orarie
Per il calcolo delle linee orarie è sufficiente asserare le variabili
Differenza di Longitudine e Equazione del Tempo (DL e ET).

calcolo delle curve di declinazione
Per questo calcolo bisogna utilizzare oltre ai giorni significativi
(solstizi ed equinozi) dei gruppi di giorni con pari valore di
declinazione del sole opportunamente distanziati di una trentina di
giorni, in modo da costruire una griglia non molto fitta, ma
abbastanza leggibile per avere il riferimento della declinazione.

Per comodità, nella pagina seguente sono inseriti i programmi per il calcolo delle rette orarie e delle curve di declinazione, oltre al predetto xls per il calcolo degli analemmi.

Di seguito il codice Basic riportato nell'articolo con le modifiche.


10 CLS : RPD = .01745 : L = 35.0 * RPD : DL = 1.8 : H = 1.0
15 INPUT "MO,DA:"; MO,DA: IF MO < 3 THEN MO = MO + 12
20 DA = DA + INT (30.6 * MO - 32.4): Z = 279.5 + DA * 360/365.25 : M = 57 + .9856 * DA


25 LO = Z + 1.915 * SIN (M * RPD) + .02 * SIN (2 * M * RPD)


30 X = SIN (LO * RPD) * .398 : D = ATN(X/ SQR(1 - X*X) ) : DECL = D / RPD : PRINT "DECL ="; DECL


35 Y = COS (LO * RPD) / COS (D) : RA = ATN (SQR (1-Y*Y) / Y) : IF RA #60; 0 THEN RA = RA + 3.14159


40 IF X < 0 THEN RA = -RA
45 ET = RA - Z * RPD : ET = ET * 4/RPD
50 IF ET < -720 THEN ET = ET + 1440: GO TO 50
55 ET = ET/4
60 PRINT "DL="; DL, "EQ TIME ="; ET, "TOTAL ANGLE ="; DL + ET
70 PRINT " ": PRINT "TIME(HRS)", "DIST(METERS)"
80 X = TAN (L) : F = 1 / COS (L) : G = X + 1 / X : W = 1 / SIN (L) 85 T = -5
90 FOR K = -10 TO 10 : C = (K * 7.5 - DL - ET) * RPD : B = TAN (C)
100 E = SQR ( (B * F) ^ 2 + G ^ 2) / G : J = 1/ (E * X)
110 A = ATN ( (G * E - J) / SQR (W ^ 2 - J ^ 2) )
120 Z = TAN (A - D) / TAN (A) : DIST = H * (Z - 1) * (G * E - J)
130 PRINT T, DIST : T = T + .5 : NEXT K : END


 
Licenza Creative Commons
Quest'opera di Riccardo Mazzei è distribuita con Licenza Creative Commons Attribuzione - Condividi allo stesso modo 4.0 Internazionale
Torna ai contenuti | Torna al menu