Programme informatique GW Basic
de construction des cadrans solaires
bifilaires et à polos.
3è partie (3/4)
par Jean Pakhomoff
gnomoniste à Marseille
2230 INPUT "Cadran bifilaire: appuyez sur b: à polos appuyez sur p: b ou p ?",EL
ISABETHPAKHOMOFF$:PRINT
2240 IF ELISABETHPAKHOMOFF$="b" THEN GOTO 2320
2250 INPUT "Longueur du style incliné en cm. ?",LSTC:PRINT
2260 PRINT #1,"Cadran à polos de syle égal à ";LSTC;" cm. "
2270 IF F>PI/2#-1E-10 THEN GOTO 2320
2280 IF F<.0000000001# THEN GOTO 2320:REM si f=90 ou 0 AB=AC=lstc
2290 PRINT #1,"Style droit AB (ou OA des cadsox) égal à";LSTC*COS(F);" cm. pour
les verticaux et ";LSTC*SIN(F);" cm. pour les horizontaux. On fera AB=AC"
2300 PRINT"Cadran à polos de syle égal à ";LSTC;" cm. ":PRINT
2310 PRINT"Style droit AB (ou OA des cadsox) égal à";LSTC*COS(F);" cm. pour les
verticaux et ";LSTC*SIN(F);" cm. pour les horizontaux. On fera AB=AC":PRINT
2320 INPUT "Longueur (ou hauteur) et largeur du cadran en cm. ?",LONG,LAR:PRINT
2325 IF JEANPAKHOMOFF$="s" THEN RRR=3.75#:R=RRR*PI/180#:RR=RRR:RO=R:GOTO 2340
2330 PRINT "Angle horaire de départ en ° pour les heures civiles :":INPUT "AH ?"
,RRR:R=RRR*PI/180#:RR=RRR:RO=R:PRINT
2340 PRINT "Cadran horizontal = 1":PRINT
2350 PRINT"Cadran vertical déclinant ou méridional = 2":PRINT
2360 PRINT"Cadran vertical inclinant ou septentrional = 3":PRINT
2370 IF GH$="n" THEN GH$="Nord" ELSE GH$="Sud"
2380 INPUT "n° du type de cadran ?",N
2390 IF N=1# THEN 2640
2400 INPUT "Déclinaison gnomonique en ° ?",KK:K=KK*PI/180#:DG=K:
2410 INPUT "Orientation du mur : Est appuyer sur e, Ouest sur w: e ou w ?",HH$:I
F HH$="e" THEN HHH$="EST":GOTO 2430
2420 HHH$="OUEST"
2430 PRINT #1,"Déclinaison gnomonique = ";KK;"°";" ";HHH$:PRINT #1,
2440 IF ELISABETHPAKHOMOFF$="b" THEN GOTO 2480
2450 IF F>PI/2#-.00000000000001# THEN PRINT"Latitude = 90°":PRINT:GOTO 2630
2460 IF F=0 THEN PRINT"Latitude = 0°":PRINT:GOTO 2630
2470 AB=LSTC*COS(F):AC=AB:FIFO=FF:GOTO 2610
2480 INPUT "AB (fil Est-Ouest) ?",AB:AC=AB/COS(F):FIFO=0
2490 PRINT "Aux f moyennes (France...) si le cadran est rendu équatorial on a AC
=";AC;" cm. et f' = 0°: conservez-vous ces conditions ou choisissez-vous une au
tre latitude ? f'=0 APPUYEZ SUR 1, autre latitude appuyez sur un autre chiffre."
2510 INPUT "Votre choix ?",PVN
2520 IF PVN=1 THEN 2610
2530 PRINT"AB<AC est le cas habituel des latitudes hautes ou moyennes: fil Est-O
uest passant par B sous le fil méridien passant par C; AB>AC : cas des latitudes
basses: fil Est-Ouest sur le fil méridien"
2540 PRINT "AB =";AB;"cm.":INPUT "Valeur de AC ?",AC
2550 IF AC>AB THEN PRINT #1,"Cas des latitudes moyennes (France...): le fil Est-
Ouest passant par B est sous le fil méridien passant par C":GOTO 2580
2560 PRINT #1,"Cas des latitudes basses: le fil Est-Ouest passant par B est sur
le fil méridien passant par C.":GOTO 2580
2580 FI=COS(F)*AC/AB:IF FI<1# THEN 2600
2590 PRINT "AC trop grand et (ou) AB trop petit: prenez d'autres valeurs pour AB
et (ou) AC:GOTO 2480
2600 FIF=ATN(SQR(1#-(FI)^2#)/FI):FIFO=FIF*180#/PI:REM fi=cos Þ' et Þ'<90° donc o
n ne rajoutte pas PI dans la formule de transformation
2610 PRINT #1,"Latitude f du lieu du cadran =";FF;"°";GH$;" Latitude f' =";FIFO;
"°"
2615 PRINT #1,"AB =";AB;" cm.";" AC= ";AC;" cm."
2620 GOSUB 1590
2630 ON N-1 GOTO 3220,3900:REM n-1 car n=1<==>horizontaux
2640 IF ELISABETHPAKHOMOFF$="b" THEN PRINT #1,"Bifilaire horizontal":GOTO 2650
2645 PRINT #1,"Cadran à polos horizontal"
2650 PRINT #1,"Y à partir de A."
2660 IF F<PI/2#-.00000000000001# THEN IF F>.000000000001# THEN GOTO 2730:REM si
f est<90° et si f n'est pas 0 alors aller à 2730
2670 PRINT #1,"Cas du pôle ou de l'équateur :":PRINT"Cas du pôle ou de l'équateu
r":PRINT:PRINT #1,"Latitude =";F*180#/PI;"°":IF ELISABETHPAKHOMOFF$="p" THEN AB=
LSTC:AC=AB:PRINT #1,"Longueur du style Lstc=AB=AC=";LSTC;" cm.":GOTO 2900
2680 INPUT "Choisissez AB et AC avec AB<AC : AB et AC ?",AB,AC
2690 IF AB>AC THEN PRINT"AB doit être < AC : recommencez":GOTO 2680
2700 PRINT #1,"AB =";AB;" cm. AC =";AC;" cm.":REM Au pôle les lignes horaires
partent du pied du gnomon et sont données par tgH=tgt*AC/AB.
partent du pied du gnomon et sont données par tgH=tgt*AC/AB.
2710 REM A l'équateur elles sont parallèles à la méridienne et situées à AC*tgt
de celle-ci.
2720 GOTO 2900
2730 IF ELISABETHPAKHOMOFF$="b" THEN 2750
2740 AB=LSTC*SIN(F):AC=AB:FIFO=FF:GOTO 2880 REM cadran à polos non au pôle et no
n à l'équateur.
2750 INPUT "AB (fil Est-Ouest) en cm. ?",AB:REM rem cadran bifilaire non au pôle
et non à l'équateur.
2760 AC=AB/SIN(F):FIF=PI/2#:FIFO=90#
2770 PRINT "Aux f moyennes (France...) si le cadran est rendu pôlaire on a AC =
";AC;" cm. et f' = 90°: conservez-vous ces conditions ou choisissez-vous une aut
re latitude ? : f'=90 APPUYEZ SUR 1 sinon sur un autre chiffre.":PRINT
2780 PRINT"En faisant AB=AC on peut alors tracer un cadran à polos dont le style
a une longueur de";AB/SIN(F);" cm.":PRINT
2790 INPUT "Votre choix ?",PVN
2800 IF PVN=1 THEN 2880
2810 PRINT"AB<AC est le cas habituel des latitudes moyennes: le fil Est-Ouest pa
ssant par B est au-dessous du fil méridien passant par C. Pour les latitudes hau
tes il vaut mieux prendre AB>AC"
2820 PRINT"AB =";AB;"cm.":INPUT "Valeur de AC ?",AC
2830 IF AC>AB THEN PRINT #1,"Cas habituel des latitudes moyennes (France...): le
fil méridien passant par C est au-dessus du fil Est-Ouest passant par B":GOTO 2
850
2840 PRINT #1,"Cas des latitudes hautes: le fil méridien passant par C est au-de
ssous du fil Est-Ouest passant par B."
2850 FI=SIN(F)*AC/AB:IF FI<1# THEN 2870
2860 PRINT"AC trop grand ou AB trop petit: prenez d'autres valeurs pour AB et (o
u) AC":GOTO 2730
2870 FIF=ATN(FI/SQR(1#-(FI)^2#)):FIFO=FIF*180#/PI:REM fi= sin f'
2880 PRINT #1,"Latitude Þ du lieu du cadran = ";FF;"° ";GH$;"; Latitude f ' = ";F
IFO;"°":PRINT #1,:PRINT #1," AB =";AB;" cm.";" AC =";AC;" cm."
2890 PRINT #1,"Les lignes horaires tabulaires partent du point O éloigné de ";AB
/TAN(F);" cm. du point A pied du gnomon AB (vers le Sud dans l'hémisphère Nord e
t inversement)":IF ELISABETHPAKHOMOFF$="b" THEN LSTC=AB/SIN(F)
2900 PRINT #1,"Angle horaire de départ =";RRR
2910 INPUT"Déclinaison solaire choisie en ° ?",DD:D=DD*PI/180#
2920 PRINT #1,"Déclinaison solaire =";DD;"°"
2930 GOTO 1650
2940 GOSUB 1130:REM asdd
2950 IF PDL$="Pas de lever pour cette déclinaison" THEN PDL$="JGM PAKHOMOFF":GOT
O 2955
2951 GOTO 2960
2955 INPUT "arrêt: appuyez sur a; autre déclinaison sur d: a ou d?",DC$
2957 IF DC$="d" THEN 2910
2959 GOTO 4670