This site Web
Home Page | The Sun API | Gallery | InfoSearch | News | Links | Contact Us

Sunlit Design > The Sun API > Documentation > Designing Sundials with The Sun API


Index


- Introduction
+ Using the Functions
+ User Guide
+ Function Reference
+ Constants

Contact Developer

Downloads

Designing Sundials with The Sun API

The Sun API's functions have been built to help design sundials.  Here is a worked example of just two types of sundials:

Latitude and Longitude are expressed in degrees.  TimeZone (tz) is specified in hours.

Horizontal Sundial

Horizontal sundials have a gnomon inclined at the latitude angle.  The origin of the hour lines is at the toe of the gnomon.

Variant 1 2
Where does 12 O'Clock point? 12 O'clock is pointing due North (Northern Hemisphere) or South (Southern Hemisphere) 12 O'clock position is adjusted for the difference in longitude of the sundial from the standard longitude of the timezone.
What is shown on the dial face? Local True (Solar) Time.  Time Zone True (Solar) Time
Angle of the Hour line on the face of the dial. 


Hour is specified as h:m:s

0 <= h:m:s < 24 hours

sdATan(sdSin(latitude)* sdTan(sdxH(sdCTDx(h,m,s),0))) sdATan(sdSin(latitude)* sdTan(sdxH(sdUTDx(h,m,s,tz),longitude)))
Example:

Latitude = 40 
Longitude = 95
TimeZone = 6
h:m:s = 15:00:00

= sdATan(sdSin(40)* sdTan(sdxH(sdCTDx(15,0,0),0)))


= 32.7324 degrees

= sdATan(sdSin(40)* sdTan(sdxH(sdUTDx(15,0,0,6),95)))

= 28.3408 degrees
On a given date during the year, what factor, in minutes, must be added to the time shown by the shadow on the sundial to get Standard TimeZone Time? = sdD2Unit(
longitude 
-sdUnit2D(tz,sdUnitHour) -sdxEOT(sdSDYx(month,day,12,0,0,tz)) 
,sdUnitTMin)
= sdD2Unit( -sdxEOT(sdSDYx(month,day,12,0,0,tz)) ,sdUnitTMin)

 

Analemmatic Sundial

An analemmatic sundial uses a movable vertical rod casting a shadow onto horizontal hour markers (points).  The hour markers lie along an ellipse with semi-major axis running East-West with length A.

Variant 1 2
Where does 12 O'Clock point? 12 O'clock is pointing due North (Northern Hemisphere) or South (Southern Hemisphere) 12 O'clock position is adjusted for the difference in longitude of the sundial from the standard longitude of the timezone.
What is shown on the dial face? Local True ( Solar) Time.  Time Zone True (Solar) Time
X coordinate of the hour marker.


Hour is specified as h:m:s

0 <= h:m:s < 24 hours

A* sdSin(sdxH(sdCTDx(h,m,s),0))) A * sdSin(sdxH(sdUTDx(h,m,s,tz),longitude)))
Y coordinate of the hour marker.


Hour is specified as h:m:s

0 <= h:m:s < 24 hours

A * sdSin(latitude) * sdCos(sdxH(sdCTDx(h,m,s),0))) A * sdSin(latitude) * sdCos(sdxH(sdUTDx(h,m,s,tz),longitude)))
Y coordinate of the vertical shadow casting rod for a given date. (X coordinate is always 0.) A *sdTan(sdxDecl( sdSDYx(month,day,12,0,0,tz))) *sdCos(latitude)  A *sdTan(sdxDecl( sdSDYx(month,day,12,0,0,tz))) *sdCos(latitude) 
Example:
A = 1000mm

Latitude = 40 
Longitude = 95
TimeZone = 6
h:m:s = 15:00:00

X = 1000* sdSin(sdxH(sdCTDx(15,0,0),0)))
= 707.1068mm


Y = 1000 * sdSin(40) * sdCos(sdxH(sdCTDx(15,0,0),0)))
= 454.5195mm

X = 1000 *  sdSin(sdxH(sdUTDx(15,0,0,6),95)))

= 642.7876mm

Y = 1000 * sdSin(40) * sdCos(sdxH(sdUTDx(15,0,0,6),95)))
= 492.4039mm

On a given date during the year, what factor, in minutes, must be added to the time shown by the shadow on the sundial to get Standard TimeZone Time? = sdD2Unit(
longitude
-sdUnit2D(tz,sdUnitHour) -sdxEOT(sdSDYx(month,day,12,0,0,tz))
,sdUnitTMin)
= sdD2Unit( -sdxEOT(sdSDYx(month,day,12,0,0,tz)) ,sdUnitTMin)