Jump to content

Horizontal sundial calculations: Difference between revisions

no edit summary
m (→‎{{header|REXX}}: calculated the legal meridian instead of using a specified amount.)
No edit summary
Line 2,126:
6 pm 90.5 84.2
══════════ ══════════ ════════════
</pre>
 
=={{header|Ring}}==
<lang ring>
# Project : Horizontal sundial calculations
# Date : 2017/10/24
# Author : Gal Zsolt (~ CalmoSoft ~)
# Email : <calmosoft@gmail.com>
 
load "stdlib.ring"
pi = 22/7
decimals(3)
 
latitude = -4.95
longitude = -150.5
meridian = -150.0
 
see "enter latitude (degrees): " + latitude + nl
see "enter longitude (degrees): " + longitude + nl
see "enter legal meridian (degrees): " + meridian + nl
see "time " + " sun hour angle" + " dial hour line angle" + nl
for hour = 6 to 18
hra = 15*hour - longitude + meridian - 180
hla = 180/pi*(atan(sin(pi/180*latitude) * tan(pi/180*hra)))
if fabs(hra) > 90
hla = hla + 180 * sign(hra * latitude)
ok
see "" + hour + " " + hra + " " + hla + nl
next
</lang>
Output:
<pre>
enter latitude (degrees): -4.950
enter longitude (degrees): -150.500
enter legal meridian (degrees): -150
time sun hour angle dial hour line angle
6 -89.500 84.607
7 -74.500 17.316
8 -59.500 8.342
9 -44.500 4.850
10 -29.500 2.796
11 -14.500 1.279
12 0.500 -0.043
13 15.500 -1.371
14 30.500 -2.911
15 45.500 -5.021
16 60.500 -8.680
17 75.500 -18.488
18 90.500 -96.224
</pre>
 
2,468

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.