cls
' CONSTANTES
pi#=4*atn(1) '3.141594
' Angulo de la ecliptica=23§ 27'
g=23
m=27
s=0
eclip.seg=g*60*60+m*60
eclip.dec=g+m/60
eclip.rad=eclip.dec*2*pi#/360
' -------------------------------------
' VARIABLES
l=1 ' Altura del campo del cuadrante (vertical)=distancia del polo del reloj
' al pie de la linea de las XII
' Ancho del cuadrante (horizontal) = dimension en la longitud Norte-Sur
' latitud del cuadrante=37§ 36' 18"
g=37
m=36
s=18
la.c.s=g*60*60+m*60+s
la.c.d=g+m/60+s/(60*60)
la.c.r=la.c.d*2*pi#/360
' longitud del cuadrante y difrencia horaria oficial
g=1 'hora de adelanto respecto a inglaterra
m=0
s=59
lo.c.s=g*60*60+60+m*60+s
lo.c.d=g+m/60+s/(60*60)
lo.c.r=la.c.d*2*pi#/360
' Declinacion del cuadrante (Relojes verticales)
'g=20
'm=2
's=2
'd.c.s=g*60*60+m*60+s ' en segundos
'd.c.d=g+m/60+s/(60*60) ' en grados
'd.c.r=d.c.d*2*pi#/360 ' en radianes
' --------------------------------------------
' CALCULOS
' Relojes Ecuatoriales
' calculo de las lineas horarias limites.
' definidas por los angulos orto y ocaso
d1$=" \ \ #######,.### \ \"
print using d1$;"Angulo de la ecliptica";eclip.seg;"segundos"
print using d1$;"";eclip.dec;"grados"
print using d1$;"";eclip.rad;"radianes"
print using d1$;"Latitud del cuadrante ";la.c.s;"segundos"
print using d1$;"";la.c.d;"grados"
print using d1$;"";la.c.r;"radianes"
cosu=tan(eclip.rad)*tan(la.c.r)
tanu=(sqr(1-cosu^2))/cosu
orto.rad=atn(tanu)
orto.dec=orto.rad*360/(2*pi#)
print using d1$;"tangente de la ecliptica";tan(eclip.rad);"..."
'print using d1$;"tangente de la latitud";tan(la.c.r);"..."
print using d1$;"Coseno del angulo orto";cosu;"..."
print using d1$;"Angulo orto ";orto.rad;"radianes"
print using d1$;"";orto.dec;"grados"
print using d1$;"Se deben eliminar del dibujo";int(orto.dec/15);"horas"
call seguir
print "RELOJES HORIZONTALES"
PRINT "--------------------"
g=l/(sin(la.c.r)+(cos(la.c.r))*tan(la.c.r+eclip.rad))
print using d1$;"Ancho del cuadrante";l;"metros"
print using d1$;"Longitud del gnomon";g;"metros"
print using d1$;"Angulo con la horizontal :";la.c.d;"Latitud"
s.l=sin(la.c.r)
'PRINT using d1$;"Seno de la latitud ";s.l
print "Angulos de cada linea horaria con las XII"
d2$=" \ \ ###,.### #########,.###"
print " Hora Angulo tangente"
print "-----------------------------------------"
for n=1 to 12
t=tan(n*15*2*pi#/360)
print using d2$;"Hora "+str$(n);(360/(2*pi#))*atn(s.l*t);t
next n
call seguir
' CALCULO DE LA DECLINACION DEL CUADRANTE
'La declinacion del cuadrante es el angulo que forman su perpendicular con
'la direccion de la meridiana.Esta es la sombra de una varilla vertical
'en el momento de maxima elevacion del sol.
'Calculo de la perpendidular al cuadrante
'Datos f=angulo horizontal con dos puntos de la fachada del cuadrante
' l1=longitud del taquimetro al primer punto
' l2=longitud del taquimetro al segundo punto
g=56
m=36
s=20
l1=7.58
l2=7.46
f.seg=g*60*60+m*60 'angulo que forma el taquimetro con los puntos 1 y 2
f.dec=g+m/60+a/(60*60)
f.rad=f.dec*2*pi#/360
b=l2*cos(f.rad) 'calculo auxiliar
a=l1-b ' idem
h=l2*sin(f.rad) ' idem
d=l1*cos(atn(h/a)) 'distancia del punto 1 a la perpendicular desde el
'taquimetro a la pared.
d1$=" \ \ #######,.### "
print using d1$;"Distancia del punto 1 al punto perpendicular de la fachada";d
'hora1 =024523
'angulo1=555800
' hora de la observacion
h=14
m=45
s=23
ho.ob.s=h*60*60+m*60+s
ho.ob.d=h+m/60+s/(60*60)
'ho.ob.r=ho.ob.d*2*pi#/360
' angulo observado
g=55
m=58
s=0
an.ob.s=g*60*60+m*60+s
an.ob.d=g+m/60+s/(60*60)
an.ob.r=ho.ob.d*2*pi#/360
' hora del paso del sol por el meridiano
dia=19
h=11
m=57.3
s=0
pgm1.s=h*60*60+m*60+s
pgm1.d=h+m/60+s/(60*60)
'correccion de la longitud
pgm1.d=pgm1.d+lo.c.d/15 ' se suma la correccion por estar al oeste
pgm1.r=pgm1.d*2*pi#/360
'declinacion solar del dia que se efectua la observacion
g=-23
m=25.5
s=0
dec1.s=g*60*60+m*60+s
dec1.d=g+m/60+s/(60*60)
dec1.r=dec1.d*2*pi#/360
'angulo horario
an.ho.d=pgm1.d-ho.ob.d
an.ho.grados=an.ho.d*15
an.ho.r=an.ho.grados*2*pi#/360
'angulo que forma la sombra arrojada de la plomada con el norte verdadero.
beta.r=atn(sin(an.ho.r)/(sin(la.c.r)*cos(an.ho.r)-cos(la.c.r)*tan(pgm1.r)))
beta.d=beta.r*360/(2*pi#)
print using d1$;"Hora de paso del sol en radianes";pgm1.r
print using d1$;"Angulo horario en radianes";an.ho.r
print using d1$;"Angulo sombra-norte en radianes";beta.r
print using d1$;"Angulo de la sombra con el norte verdadero";beta.d
print using d1$;"Angulo de la sombra con la perpendicular del cuadrante";an.ob.d
print using d1$;"Angulo de la perpendicular con el norte verdadero";beta.d+an.ob.d
primera=beta.d+an.ob.d
'call seguir
'hora2 =034912
'angulo2=692300
' hora de la observacion
h=15
m=49
s=12
ho.ob.s=h*60*60+m*60+s
ho.ob.d=h+m/60+s/(60*60)
'ho.ob.r=ho.ob.d*2*pi#/360
' angulo observado
g=69
m=23
s=0
an.ob.s=g*60*60+m*60+s
an.ob.d=g+m/60+s/(60*60)
an.ob.r=ho.ob.d*2*pi#/360
'angulo horario
an.ho.d=pgm1.d-ho.ob.d
an.ho.grados=an.ho.d*15
an.ho.r=an.ho.grados*2*pi#/360
'angulo que forma la sombra arrojada de la plomada con el norte verdadero.
beta.r=atn(sin(an.ho.r)/(sin(la.c.r)*cos(an.ho.r)-cos(la.c.r)*tan(pgm1.r)))
beta.d=beta.r*360/(2*pi#)
print "-------------------"
print "Segunda observacion"
print using d1$;"Angulo horario en radianes";an.ho.r
print using d1$;"Angulo sombra-norte en radianes";beta.r
print using d1$;"Angulo de la sombra con el norte verdadero";beta.d
print using d1$;"Angulo de la sombra con la perpendicular del cuadrante";an.ob.d
segunda=beta.d+an.ob.d
print using d1$;"Angulo de la perpendicular con el norte verdadero";segunda
d.c.d=(primera+segunda)/2
d.c.d=30 ' declinacion del cuadrante en forma decimal
d.c.r=d.c.d*(2*pi#)/360
print "+++++++++++++++++++++++++++++++++++++++++++++"
print using d1$;"Declinacion del cuadrante";d.c.d
call seguir
print "RELOJES VERTICALES"
PRINT "------------------"
g=l/(cos(la.c.r)/tan(la.c.r-eclip.rad)+sin(la.c.r))
print using d1$;"Altura del cuadrante";l
print using d1$;"Longitud del gnomon";g
print " Angulo horario tangente"
print " ----------------------------"
for n=1 to 24
t=tan(n*15*2*pi#/360)
coti=(cos(d.c.r)/((cos(la.c.r))*t))-(sin(d.c.r))*tan(la.c.r)
print using d2$;"Hora "+str$(n);(360/(2*pi#))*atn(1/coti);1/coti
if n=12 then call seguir
next n
call seguir
print "CALCULO DEL GNOM0N"
PRINT "------------------"
senu=cos(la.c.r)*cos(d.c.r)
cosu=sqr(1-senu^2)
a.es.r=atn(senu/cosu) ' angulo estilar que forma el gnomon con la subestilar
a.es.d=a.es.r*360/(2*pi#)
print using d1$;"Angulo estilar (gnomon con subestilar)";a.es.d
' lados del gnomon
l.par=g*cos(a.es.r)
l.per=g*sin(a.es.r)
a.su.r=atn(sin(d.c.r)/tan(la.c.r))
a.su.d=a.su.r*360/(2*pi#)
print using d1$;"Angulo de la subestilar con la vertical";a.su.d
' en el sentido de las agujas del reloj desde la vertical inferior
print using d1$;"Angulo de la subestilar con la horizontal";270+a.su.d
' en sentido contrario de las agujas del reloj desde la horizontal derecha
print using d1$;"Longitud sobre el reloj del gnomon ";l.par
print using d1$;"Longitud perpendicular al reloj del gnomon ";l.per
print "....................................."
print "DISE¥O del CALENDARIO"
print "---------------------"
data -23,-27,-20,-10,-11,-20,0,0
data 0,0,11,20,20,10,23,27
for n=1 to 8
read gr(n),mi(n)
c.sig.d(n)=gr(n)+mi(n)/60 'declinacion del sol en el cambio del signo zodiacal
c(n)=c.sig.d(n)*2*pi#/360
a(n)=g*((1/sin(a.es.r-c(n)))-(1/sin(a.es.r+c(n))))*cos(c(n))
oc(n)=0.5*g*((1/sin(a.es.r-c(n)))+(1/sin(a.es.r+c(n))))*cos(c(n))
' angulo que forman las asintotas con la subestilar
coss(n)=sin(c(n)*(1/sin(a.es.r)))
sens(n)=sqr(1-coss(n)^2)
if coss(n)><0 then x(n)=atn(sens(n)/coss(n)) 'angulo de las asintotas
x.d(n)=x(n)*360/(2*pi#)
if coss(n)><0 then b(n)=a(n)*(sens(n)/coss(n)) ' eje mayor
next n
print "(1)=distancia del polo del cuadrante al centro de la hiperbola"
print "(2)=angulo que forman las asintotas con la subestilar"
print "semieje (1) (2) eje mayor coordenadas"
print "---------------------------------- 0.1 0.2 0.3 0.4 0.5 0.6 "
d2$="###,.## ###,.## ###,.## ###,.## #.### #.### #.### #.### #.### #.###"
for n=1 to 8
x1=0:x2=0:x3=0:x4=0:x5=0:x6=0
if b(n)<>0 then
x1=sqr(a(n)^2*(1+(0.1^2)/(b(n)^2)))
x2=sqr(a(n)^2*(1+(0.2^2)/(b(n)^2)))
x3=sqr(a(n)^2*(1+(0.3^2)/(b(n)^2)))
x4=sqr(a(n)^2*(1+(0.4^2)/(b(n)^2)))
x5=sqr(a(n)^2*(1+(0.5^2)/(b(n)^2)))
x6=sqr(a(n)^2*(1+(0.6^2)/(b(n)^2)))
end if
print using d2$;a(n);oc(n);x.d(n);b(n);x1;x2;x3;x4;x5;x6
next n
'h=11
'm=57.8
'pgm2.s=h*60*60+m*60+s
'pgm2.d=h+m/60+s/(60*60)
'pgm2.r=la.c.d*2*pi#/360
'
'g.dec2=-23
'm.dec2=26.3
end
sub seguir
locate 23,20
print "Para seguir pulsar una tecla"
While inkey$="":wend
cls
end sub