created by Carl Sabanski
Dialling with QBASIC - Mac Oglesby - Horizontal Monofilar Sundial"HORDIAL7.BAS was written to help produce round horizontal dial faces where the center of the dial (the point towards which the hour lines converge) isn't at the center of the physical circle of the dial's hour marks. As a program it is also a bit flaky, but it's better than the program which generated HORDIAL7B.dc. I've used it to make "normal" horizontal dial faces which use pole styles (although it could be used to aid in making a face for a dial having a wide gnomon), and for shadow plane dials, such as shown in photo 7339xss.jpg (Figure 1). A sample output is shown in hordial7-500.dc, where the 500 indicates the radius chosen for the radius of the hour numerals circle.
The dial illustrated by HORDIAL7B.dc and the photo 7334 (Figure 6) gives solar time directly but has a graph to convert the solar time to eastern daylight saving time. This graph was produced with the EoTGRAF material sent to you previously."
Figure 1 shows a sundial that was designed and built using this macro. But you may have noticed it is a vertical and not a horizontal sundial. You may also have noticed it does not have a gnomon but that it is a shadow plane sundial. Actually, look carefully behind the sundial and you will see a bit of the string from the horizontal shadow plane sundial. We will come back to this sundial a little later.
Figure 1: Dual Shadow Plane Sundial
Horizontal Monofilar Sundial - HORDIAL7.bas
"This program prints the hour lines for a monofilar (pole style) horizontal sundial. Longitude correction may be included. The shape of the sundial is assumed to be round. Hour marks and fractionals are drawn within a circle whose center may be offset from the dial's center (that point to which hour lines converge and where the pole style penetrates the dial). Whole hour lines and fractional hour lines are different lengths. The dial is drawn on the screen, and data are output to a text file which may be used to create a.dxf file for CAD input. Fer de Vries' program CNVXXXX, distributed by NASS with certain issues of The Compendium, will do such a conversion."
You can get the QBASIC program as well as two DeltaCad files here.
Figure 2 shows the program when it is opened in QBASIC. Take the time to read through the comments. There is really only one parameter that needs to be changed in the program. This is highlighted by the red rectangle and is located on line 41. The line defines the name of the text file and gives the location where it will be written.
filename$ = "c:\HORDIAL7. txt"
"c:\HORDIAL7.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 "HORDIAL&" is appropriate unless you would like to give it another name.
Figure 2: Horizontal Monofilar Sundial QBASIC Program
When the program is run a number of entries must be made to give the program the design parameters to be used when drawing the sundial. The program lines can be seen in Figure 2 and the screen you will see upon completing the entries is shown in Figure 3. The sundial configuration can be checked at this point. If there is an error complete running the program and then start again to make any necessary changes. The important thing to note is that the 24-hour system is used to define the last hour of the day the sundial will display.
Figure 3: Horizontal Monofilar Sundial Configuration Screen
After the program run is complete the sundial is drawn on the screen. This is shown in Figure 4. The notes at the top and bottom of the screen are not saved in the text file and should be read before exiting.
Figure 4: Horizontal Monofilar 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. The point where the short horizontal line crosses the vertical line is the centre of the sundial and the point from which the gnomon will originate. It is also the point to which all the hour lines converge. The longer horizontal line indicates the position of the centre of the circle.
Figure 5: Horizontal Monofilar Sundial DXF File Opened in DeltaCad
The hour lines are corrected for longitude. This is evident from the fact that the hour lines are rotated counter-clockwise. The program also draws the hour lines at 5-minute intervals. When you open the dxf file in DeltaCad look at the layers and you will find the lines for the various time intervals have been placed in different layers as follow:
L_A: 5-minute intervals
The various layers can be turned off in the drawings as well as when the drawing is being printed.
The drawing of the sundial can be now be completed by adding the hour numbers and any text that is required. A gnomon can be designed and and its position laid out on the dial plate. If a wide gnomon will be used the hour lines will need to shifted to accommodate it. This will require a bit of work to accomplish depending upon how you want the sundial to look when it is completed.
IMPORTANT: The drawing this program makes is for a "normal" horizontal sundial. Remember that a horizontal shadow plane sundial is simply a horizontal sundial rotated 180º. This is particularly important when dealing with a sundial corrected for longitude because the hour lines are no longer symmetrical about the vertical noon line as in a solar time sundial. This applies equally to a vertical sundial.
Figure 6 shows an example of a completed sundial. This is not the one shown in Figure 5 but is the one Mac refers to as "HORDIAL7B.dc" at the start of this page. The sundial indicates solar time and was designed to be used as a horizontal shadow plane sundial.
Figure 6: Completed Drawing of a Horizontal Monofilar 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 Figures 1 and 7.
Figure 7: Horizontal Shadow Plane Sundial
The dial plate is printed on paper and attached to a piece of plexiglas. In fact the vertical sundial shown in Figure 1 is attached to the other side. A piece of plexiglas with a slot cut down its centre is used to form the base.
Let's discuss the vertical sundial shown in Figure 1 now. The program "HORDIAL7.bas", although written to design a horizontal sundial, can be used to design a vertical sundial. A vertical sundial at any latitude is just a horizontal sundial at the co-latitude or "90º - latitude". The earliest hour line on the dial plate will be 6 a.m. and the latest 6 p.m. (18:00 hrs.). If a solar time vertical sundial is to be designed and a horizontal sundial is designed for the co-latitude all that needs to be done is to reverse the hour line numbers and rotate the dial plate 180º.A second method is to leave the hour numbering of the horizontal sundial as designed and mirror the the dial plate along the horizontal 6 a.m./p.m. line. If longitude correction is included the easier method is to mirror the dial plate as described previously.
The attachment point of the strings to the either side of the base plate for each of the horizontal and vertical sundials must be determined. Note the short vertical line at the bottom of the dial plate in Figure s 1 and 7 positioned directly below the small circles located at the centre of the sundial. A line perpendicular to the dial plate must be drawn from this short line on the base plate on both. This must be done from both sides of the dial plate. From the CAD drawing measure the distance "h" from the centre of the sundial to the point where the short vertical line intersects the base plate. This distance may be the same for both the horizontal and vertical sundial if they were designed for this to be so but then it may not.
For the horizontal sundial the distance "v" along the base plate where the string must be attached is calculated as follows:
v = h x tan (latitude)
For the vertical sundial the distance "v" along the base plate where the string must be attached is calculated as follows:
v = h x tan (co-latitude) = h x tan (90 - latitude)
Mark these distances on the lines that were drawn on the base plate. In Figure 1 the holes were drilled in the plexiglas base plate where the strings were to be attached.