created by Carl Sabanski
Dialling with QBASIC - Mac Oglesby - Horizontal Monofilar Standard Time Sundial"It has been my pleasure to make numerous sundials with elementary school students. In spring of 2000, I made some standard time dials with a group of 4th graders (about 9 and 10 years old). Some teachers and the school's principal also participated.
The attached photo (DSCN7350xs.jpg - see Figure 1) shows one of these dials. More about their construction may be found in my Compendium article "Student Dials" (vol. 8-4 December 2001).
To draw the dial face, I used my QB program HMSTPS1.BAS, Fer de Vries' conversion utility CNVXXXX.EXE and DeltaCad. The DeltaCad file WARDDIAL.dc shows the dial face with its "unfolded" analemmas for each whole hour and the date arcs, with January 1st being the innermost and outermost arcs.
When the construction was completed, the students took their dials outdoors to practice leveling them, orienting them with respect to true south and to practice reading the time. I was pleased (and a little surprised) that they seemed to easily grasp the idea of reading the time as shown at the intersection of the current date and the cord's shadow. We had previously spent a class period indoors working with simplified visuals to learn how to read this type of sundial.
Just for my own amusement, I used the exact same dial face to construct a shadow plane sundial. See the photo DSCN7353xs.jpg. The same QB program has helped me make several gift shadow plane civil time sundials for friends and family members."
Before looking at the construction of a shadow plane sundial, we will first examine the design of a horizontal monofilar standard time sundial. Figure 1 shows an example of a sundial that can be made.
Figure 1: Horizontal Monofilar Standard Time Sundial
Horizontal Monofilar Standard Time Sundial - HMSTPS1.bas
This program is called a "Horizontal Monofilar Sundial". Monofilar refers to the fact that a single piece of string is used for 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 as well as a DeltaCad file 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 rectangle and start on line 10 and continue for a total of 8 lines.
The first line defines the name of the text file and gives the location where it will be written.
filename$ = "c:\HMSTPS1. txt"
"c:\HMPSTPS1.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 "HMSTPS1" is appropriate unless you would like to give it another name.
The following lines, 11 to 17, need to be modified to define the sundial parameters as follows:
PHI = 43
- 'latitude of the dial in decimal deg. (0 < latitude <
All the values in red can be changed if required to meet your specific design requirements. Note that repeating decimals for "SPZ" may produce poor results.
Figure 2: Horizontal Monofilar Standard Time Sundial QBASIC Program
"For latitudes greater than 0 and less than 66.5, 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 same values for longitude and time zone. Input 0 for EoTyesno to turn off EoT correction.
Only some lines appear on the screen, but all data for dial lines are written to a .txt file. Fer de Vries' program CNVXXXX.EXE" may be used to create, from the .txt file, a .dxf file for use by a CAD program such as DeltaCad. Algorithms published by Fer de Vries are used to calculate EoT and solar declination."
When the program is run the second screen you will see is shown in Figure 3. The sundial configuration data is shown here and can be checked. If there is an error complete running the program and then start again to make any necessary changes.
Figure 3: Horizontal Monofilar Standard Time Sundial Configuration Screen
After the program run is complete the sundial is drawn on the screen although it will not be complete. This is shown in Figure 4 and the missing date arcs can be clearly not seen. The notes at the top of the screen are not saved in the text file and should be read before exiting.
Figure 4: Horizontal Monofilar Standard Time Sundial - QBASIC Screen Output
After the text file is created use the program CNVxxxx to convert it to a DXF file. Figure 5 shows the 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 and the point from which the monofilar gnomon will originate.
Figure 5: Horizontal Monofilar Standard Time Sundial DXF File Opened in DeltaCad
The above figures show the sundial drawn using the default values in Figure 3. Figure 6 shows the completed drawing for the sundial shown in Figure 1. The hour numbers and text have been added and the boundaries for the dial plate have been defined. The comments regarding the missing lines given above apply here also.
Figure 6: Completed Drawing of the Horizontal Monofilar Standard Time Sundial
In Figure 1 the dial plate is printed on paper and glued to a piece of wood. A second piece of wood is attached to the top end of the dial plate as shown and at right angles to the dial plate. The attachment point of the string is known on the dial plate but it still must be determined on the vertical end plate. Note the short vertical line at the top of the dial plate positioned directly above the cross located at the centre of the sundial. A vertical line must be drawn up the back plate from this short line. From the CAD drawing measure the distance "h" from the centre of the sundial to the point where the short vertical line intersects the vertical back plate, which in Figure 1 happens to be the top boundary of the paper dial plate.
As this is a horizontal sundial the angle the monofilar or string gnomon will make with the dial plate is equal to the latitude entered in line 11 of the QBASIC program. The vertical distance "v" up the vertical end plate where the string must be attached is calculated as follows:
v = h x tan (latitude)
Mark this distance on the vertical line that was drawn on the vertical back plate. In Figure 1 the holes were drilled in the wooden plates where the string was to be attached.
Now let's look at the horizontal shadow plane sundial. Figure 7 shows this sundial. A shadow plane sundial has a movable gnomon that is set by the user so that it, and its shadow, lie in the sun's hour plane. In the case of this sundial the string is attached only to the vertical plate and it will lie in the sun's hour plane when its shadow passes through the centre of the sundial marked by the small cross. The string is held taut and moved until its shadow passes through the centre of the sundial as shown in Figure 7.
Figure 7: Standard Time Shadow Plane Sundial
To make the shadow plane sundial rotate the dial plate 180º and place the vertical plate on the end opposite to where it was positioned in Figure 1. Use the equation given above to calculate the position where the string will be attached on the vertical back plate. Be careful to measure the distance "h" from the centre of the sundial to the point directly above and on the top edge dial plate. In Figure 7 this is not the edge of the paper but the edge of the wood plate. The vertical distance "v" will be less in this case because the centre of the sundial is closer to the vertical back plate.