Capricorn: Dec.22-Jan.29 The Sundial Primer
created by Carl Sabanski
Capricorn: Dec.22-Jan.29

The Sundial Primer Index

Dialling with QBASIC - Mac Oglesby - Two Complementary Dial Faces Sundial

"While playing around with horizontal dial faces which use unfolded analemmas, I noticed the obvious -- that the characteristic shape of a dial face with date arcs starting at Jan 1st complements a dial face with date arcs beginning at July 1st.

Attached is the QB program used (TWOCDFS.BAS) and two photos. I couldn't find the .dc file for the dial I made, but photo 7483 (Figure 1) shows the dial face well. The other photo, 7490 (Figure 5), shows the dial outdoors (note the time fly).

I thought about making this dial an actual dual dial by also stringing an elastic cord pole style from the dial's center, but decided that two cords might be confusing. As a shadow plane dial, one may read the time on either dial face, while a pole style would only show time on the dial face beneath the style. There's also the very real possibility that the times shown by multiple shadows might not be the same, due to slight errors in construction."

Figure 1 shows an example of a sundial that can be made. This is a horizontal shadow plane sundial and indicates standard time.

Figure 1: Two Complementary Dial Faces Sundial

Figure 1: Two Complementary Dial Faces Sundial

Two Complementary Dial Faces Sundial - Twocdfs.bas

This program will create complementary dial faces that can be nested one into the other. It is a monofilar sundial as a single piece of string is used as the shadow casting edge or style. The curved lines are the "unfolded" analemma and allow for the correction of the Equation of Time. The circular "date arcs" indicate where to read the shadow to get the correct EoT correction. The hour lines can also be corrected for longitude.

You can get the QBASIC program here.

Figure 2 shows the program when it is opened in QBASIC. Take the time to read through the comments. There are a few parameters you need to modify to have it design a sundial for a particular location. These are highlighted by the red rectangles and start on line 15 and continue on line 20.

The first line defines the name of the text file and gives the location where it will be written.

filename$ = "c:\twoCDFs. txt"

"c:\twoCDFs.txt" can be changed to place the file in any directory and give it any name. "c:" defines the disk and is likely not going to change. The path is set to the root but should be changed to a more appropriate directory. Remember to use the backslash "\". The file name "twoCDFs" is appropriate unless you would like to give it another name.

The following lines, 20 to 26, need to be modified to define the sundial parameters as follows:

PHI = 43.03 - 'latitude in decimal deg. (north latitude < 66 deg)
LocLong = 72.57 - 'longitude of local meridian (decimal degrees, west +)
Meridian = 75 - 'longitude of standard time zone meridian (decimal deg.)
EoTyesno = 1 - 'Want Eot correction? (1=yes, 0=no)
STRT = 7 - '1st of which month to start (Jan=1,Feb=2,...Dec=12)
Min = 375 - 'radius of inner arc

All the values in red can be changed if required to meet your specific design requirements.

Figure 2: Two Complementary Dial Faces Sundial QBASIC Program

Figure 2: Two Complementary Dial Faces Sundial QBASIC Program

For latitudes greater than 0 and less than 66, this program draws a horizontal dial face which has date arcs and an 'unfolded' analemma. Longitude and Equation of Time corrections may be included. To avoid any longitude correction, input the same values for longitude and time zone.

When the program is run the sundial is drawn on the screen. This is shown in Figure 4 and the drawing is not very detailed, however the text file contains all the data required to draw the sundial. The notes at the top of the screen are not saved in the text file and should be read before exiting.

IMPORTANT: It is necessary to run the program twice to get the two sundials that will be nested together. One needs the "STRT" parameter set to "7" or July and the other needs "STRT" set to "1" or January.

Figure 3: Two Complementary Dial Faces Sundial - QBASIC Screen Output

Figure 3: Two Complementary Dial Faces Sundial - QBASIC Screen Output

After the two text files are created use the program CNVxxxx to convert it to a DXF file. Figure 4 shows the two sundial when the drawing is opened in DeltaCad. It may appear that portions of some lines are missing but they are not. They can be seen if you zoom into the drawing. The cross is the centre of the sundial. 

Figure 4: Two Complementary Dial Faces Sundial DXF File Opened in DeltaCad

Figure 4: Two Complementary Dial Faces Sundial DXF File Opened in DeltaCad

The two sundials need to be copied on to a single drawing, The crosses are used to position the two sundials so they are nested correctly as shown in Figure 1. The numbers and text, as well as the dial plate boundaries, are added to the drawing.

Figure 5 shows another view of the sundial. The dial plate is printed on paper and mounted on clear plexiglas. As it is constructed as a shadow plane sundial the time is indicated by the shadow of a taut string attached to a plexiglas post.

Figure 5: Two Complementary Dial Faces Sundial in Use

Figure 5: Two Complementary Dial Faces Sundial in Use

To determine the vertical position of the string on the post, measure the distance "h"  from the centre of the sundial to the base of the post, which in Figure 5 happens to be the top boundary of the paper dial plate. This can be done in DeltaCad. The vertical distance "v" up the post where the string must be attached is calculated as follows:

v = h x tan (latitude)

Read the page on the Horizontal Monofilar Standard Time Sundial for more details and directions on how to read the time.