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

The Sundial Primer Index

DeltaCad Sundial Macros - Valentin Hristov - Bifilar Sundial

This macro draws a bifilar sundial and provides all the features presented on the previous bifilar sundial page. In this macro the gnomons can be given any arbitrary orientation however they are still straight. This allows the design of bifilar sundials with "almost infinitely" many possibilities. The macro can also be used to draw the double bifilar sundial that has parallel hour lines and will be described below. 

Bifilar Sundial - sdbifarb

This bifilar sundial is generated after the user enters the the data as shown in Figure 1. Most of the required information is the same as in the classical bifilar sundial macro and is described on that page. There are some notable additions. Two sets of "X", "Y" and "Z" co-ordinates are required for the two gnomons, "Gnomon 1" (purple) and "Gnomon 2" (green). The "Point" co-ordinates indicate the starting point of the gnomon and the "Vector" co-ordinates indicate the direction of the gnomon. It is also possible to select a "Double bifilar" sundial design.  The double bifilar sundial requires specific data entries to produce the desired result and is discussed below.

Figure 1: Bifilar Sundial Macro

Figure 1 - Bifilar Sundial Macro

The information entered in Figure 1 will draw a classical bifilar sundial with hour lines that are equiangular. "Gnomon 1" has been positioned over the y-axis (Up-Down) at a height of "1" and "Gnomon  2" has been positioned over the x-axis (Left-Right) at a height equal to "sin (Latitude)". Note that this equiangular bifilar sundial is not the same as the one drawn by the previous bifilar macro. For them to be identical the y co-ordinate of the "Gnomon 2 Point" must be made equal to "cos (Latitude)".

The sundial drawn with this macro is shown in Figure 2. This sundial has equiangular hour lines but they are drawn with the EoT correction so this may be difficult to see. The four triangular pieces that defined the position and height of the gnomons in the previous macro are not shown in this drawing. In their place are two arrows.  The purple arrow indicates the projection of the initial point and the direction of "Gnomon 1" and the green arrow is for "Gnomon 2".

Figure 2: Horizontal Bifilar Sundial - Layers "OFF"

Figure 2 - Horizontal Bifilar Sundial - Layers "OFF"

When the sundial is being drawn the shadow casting points and date (declination) lines are visible however upon completion the sundial is redrawn and appears as shown in Figure 1. Select the "View" tab and then the "Layer" button. There are two layers named  "ShadowCastingPoints" and "DateLines" that are selected to "OFF". The layer "ShadowCastingPoints" shows all points on the gnomons which cast a shadow on the hour lines inside the rectangular area. The layer "DateLines" shows all the declination lines as defined by the selection made for "Period". If these layers are turned on the drawing appears as in Figure 3. Also note that there is a layer named "Gnomons" where the gnomons are drawn. When printing this sundial, the "ShadowCastingPoints" and "Gnomons" layers should be turned off.

Figure 3: Horizontal Bifilar Sundial - Layers "ON"

Figure 3: Horizontal Bifilar Sundial - Layers "ON"

Many variations of the bifilar sundial can be created with this macro. To get additional hour lines on the dial plate reduce the heights of the gnomons or increase the rectangular area. If you want to have full analemma as hour lines select "Whole year" for the period. Be careful not to select too small a "Time interval" as many of the analemma will cross and the sundial will become confusing.

It is also possible to use this macro to create a number of other sundials. In particular, by placing both gnomons at the same height a nodus is created at the intersection of the two styles. In fact styles are not needed because all shadow points will be cast upon the dial plate by this single point. To obtain this intersection the following entries are required:

"Gnomon 1":

  • "Point": X = 0, Y = 0, Z = h

  • "Vector": X = 0, Y = 1, Z = 0

"Gnomon 2":

  • "Point": X = 0, Y = 0, Z = h

  • "Vector": X = 1, Y = 0, Z = 0

where "h" is the desired height of the nodus.

By entering the appropriate values for the declination, inclination and rotation of the dial plane many different nodus sundials can be designed. These are shown in the table in Figure 4, where the southern latitudes are entered as negative numbers.


Northern Hemisphere Southern Hemisphere
SUNDIAL TYPE DECL INCL ROT DECL INCL ROT
Equatorial - Top 180 90-Lat 0 0 90+Lat 0
Equatorial - Bottom 0 90+Lat 0 180 90-Lat 0
Polar 0 Lat 0 180 -Lat 0
Horizontal 0 0 0 0 0 0
Vertical South 0 90 0 0 90 0
Vertical North 180 90 0 180 90 0
Vertical East -90 90 0 -90 90 0
Vertical West 90 90 0 90 90 0
Vertical Declining DECL 90 0 DECL 90 0
Inclining 0 INCL 0 180 INCL 0
Inclining/Declining DECL INCL 0 DECL INCL 0

Figure 4: Sundial Configuration Table

Figure 5 illustrates the classical horizontal bifilar sundial where "h" is set to 1 and the EoT correction is turned off. Here the hour lines are not equiangular.

Figure 5: Horizontal Bifilar Sundial

Figure 5: Horizontal Bifilar Sundial

Double Bifilar Sundial

The double bifilar sundial is a special case where the resulting hour lines are parallel to each other and preferably horizontal. Figure 6 shows the information required to draw such a sundial. In fact, the default case for the macro is for a double bifilar sundial. Remember to select "Double bifilar" to "Yes". The suitable parameters for the Northern (resp. Southern) Hemisphere are: Declination = 0 (resp. 180), Inclination = Latitude (resp. -Latitude). The result is the same for all latitudes because there are no corrections for EoT and longitude. In fact the vertical line of the drawing is parallel to the polar (i.e. the celestial S-N) direction and the horizontal is in the W-E direction. The intersection points of the two gnomons with the dial plane are on a polar line (here x = 0, z = 0) and the projections of the two gnomon vectors on the meridian plane (x = 0) are parallel (here Y1 = Y2 = 2 and Z1 = Z2 = 1). All these conditions guarantee that the hour lines are horizontal.

Figure 6: Double Bifilar Sundial Macro

Figure 6: Double Bifilar Sundial Macro

The information for "Gnomon 1" and "Gnomon 2" remains as it is presented. The "Inclination of the dial plane" should be set to the absolute value of the "Latitude". The values of the "Rectangular area" result in a dial plate that is actually 20 wide as a result of the "Left-Right symmetry" of the "Double bifilar" selection. Figure 7 shows the drawings of the double bifilar sundial with the "ShadowCastingPoints" and "DateLines" layers "OFF" and "ON".

Figure 7: Double Bifilar Sundial

Figure 7: Double Bifilar Sundial

The top drawing clearly shows the parallel hour lines. It also shows the sundial has 3 gnomons. One gnomon, defined by the information entered for "Gnomon 1", has a projection on the meridian line staring at the centre of the sundial, X = 0 and Y = 0 and Z = 0, and is sloped in this case at an angle equal to 26.57 (= atan (1/2) = atan (Z / Y), Y = 2 and Z  = 1 being the co-ordinates of the vector). The other two gnomons, defined by the information entered for "Gnomon 2", begin at the co-ordinates X = 0, Y= 1 and Z = 0. They are positioned symmetrically on both sides of the meridian line. In this case the ends of the vector are moved horizontally by 0.25. This gives an angle between the projection and the polar axis equal to 7.125 and the slope of the gnomon is equal to 26.39. You can experiment with other values of X(Gn2Vector) (e.g. 0.5, 1, etc. instead of 0.25), or simultaneous changing of the Y-values of the vectors of the two gnomons (1,1.5, 3, etc. instead of 2).

The following will assist you with building the double bifilar sundial drawn using the information given in Figure 6. Many other designs are possible as alluded to in the suggestions for alternate input values given previously. These would result in different construction parameters.

The location of the end points of the gnomons can be determined. Based on the  position of the furthest "Shadow Casting Points" the lengths of the gnomons projected on to the dial plate can be measured. For "Gnomon 1" this is "L1" and for "Gnomon 2" it is "L2". They can be different for "Gnomon 1" and "Gnomon 2" or they can all be positioned at the furthest point as determined by "Gnomon 1". The following are the X, Y and Z co-ordinates of the end points of the gnomons.

  • "Gnomon 1": X = 0, Y = L1, Z = 0.5 x L1

  • "Gnomon 2": X = 0.12403 x L2, Y = 0.99228 x L2, Z = 0.49614 x L2

If both gnomons are to have the same Y co-ordinate then L2 = 1.00778 X L1.

The actual length of the wires required for the two gnomons can be determined as follows:

  • "Gnomon 1" = 2.23607 x L1

  • "Gnomon 2" = 2.25 x L2

Always remember that the dial plate is inclined at an angle equal to the latitude, which is equivalent to a horizontal dial plane at the intersection point of the equator and the local meridian.

The bottom drawing shows the date (declination) lines. It also shows the projections of the shadow casting points for the gnomons that can be used to determine their required lengths so all the hour lines within the rectangular area can be used to indicate the time. Simply measure the co-ordinates of the furthest shadow casting point and make a gnomon with a suitable length.

If the "EOT correction" and "Longitude correction" are left off this sundial can be used as a universal sundial. All that is required for it to work at any location is to set the inclination of the dial plate at an angle equal to the latitude.

Valentin suggests trying a couple of changes to certain co-ordinate values to see the effect on the sundial drawing. The first is to make a slight change to Y co-ordinate of only one of the gnomons. Figure 8 shows what happens when the Y co-ordinate of "Gnomon 1" is changed from "2" to "2.1" resulting in a change in its slope. The drawing shows the morning and afternoon hour lines are still parallel but rotate. The purpose of this exercise is to show that great care must be taken in constructing this sundial to ensure the correct positioning of the gnomons.

Figure 8: Double Bifilar Sundial - Be Careful!

Figure 8: Double Bifilar Sundial - Be Careful!

A second change suggested by Valentin is to change the value of the X co-ordinate of "Point" for "Gnomon 2" from "0" to "-0.4". As shown in drawing in Figure 9 this results in a sundial with curved hour lines for every hour except noon, which is the single vertical line. Obviously such a sundial is useless for most of the hours and this is also an illustration of the very restrictive conditions for a well readable double bifilar dial.

Figure 9: Double Bifilar Sundial - Vertical Noon Hour Line

Figure 9: Double Bifilar Sundial - Vertical Noon Hour Line

Valentin also suggests that interesting results can be obtained by turning on the "EOT correction" and/or "Longitude correction". Of course he is correct so give it a try!

Interesting Examples

Valentin has put together some configurations that result in some interesting sundial drawings.

The first example is for a vertical direct west sundial with horizontal hour lines. In addition to the standard entries, the following are the  entries requiring specific inputs.

Declination = 90, Inclination = 90, "Double bifilar" selected to "No"

"Gnomon 1":

  • "Point": X = 0, Y = 0, Z = 0

  • "Vector": X = 0, Y = 2, Z = 1

"Gnomon 2":

  • "Point": X = -cot (Latitude), Y = 1, Z = 0

  • "Vector": X = 0.5 (variable > 0), Y = 2, Z = 1

Figure 10 shows the sundial drawing with location inputs as in Figure 1 and the "Rectangular area" defined as -1, 7.5, -2.5 and 2.5. The area shown is only a part of the entire sundial drawing.

Figure 10: Vertical Direct West Sundial with Horizontal Hour Lines

Figure 10: Vertical Direct West Sundial with Horizontal Hour Lines

The second example is for a vertical direct west sundial with vertical hour lines. In addition to the standard entries, the following are the  entries requiring specific inputs.

Declination = 90, Inclination = 90, "Double bifilar" selected to "No"

"Gnomon 1":

  • "Point": X = 0, Y = 0, Z = 0

  • "Vector": X = 2, Y = 0, Z = 1

"Gnomon 2":

  • "Point": X = 1, Y = -tan (Latitude), Z = 0

  • "Vector": X = 2, Y = 0.5 (variable > 0), Z = 1

Figure 11 shows the sundial drawing with location inputs as in Figure 1 and the "Rectangular area" defined as -2.5, 1, -1 and 7.5. The area shown is only a part of the entire sundial drawing.

Figure 11: Vertical Direct West Sundial with Vertical Hour Lines

Figure 11: Vertical Direct West Sundial with Vertical Hour Lines

It is very simple to draw similar vertical direct east sundials analogous to the presented direct west ones. Just change the sign of all the "X" co-ordinates.

The third example is for a sundial with the dial plane at the main position for the double bifilar sundial described above, but this time the gnomons are not parallel to the plane, which results in vertical hour lines. In addition to the standard entries, the following are the  entries requiring specific inputs.

Declination = 0, Inclination = Latitude

"Gnomon 1":

  • "Point": X = 0, Y = 0, Z = 2

  • "Vector": X = 2, Y = 0, Z = 0

"Gnomon 2":

  • "Point": X = 1, Y = -1, Z = 0

  • "Vector": X = 2, Y = 0.5, Z = 1

Figure 12 shows the sundial drawing with location inputs as in Figure 1. The sundial on the left has "Double bifilar" selected to "No" and the one on the right selected to "Yes".

Figure 12: Bifilar Sundial with Vertical Hour Lines

Figure 12: Bifilar Sundial with Vertical Hour Lines

As it can be seen the left drawing resembles the standard polar sundial with the gnomon parallel to the vertical Y-axis and above it but here it is somehow translated. Keeping in mind the sensitivity of positioning the gnomons in the bifilar sundial, it is much easier to make the usual polar sundial if you want vertical hour lines.

If you come up with an "interesting example" using Valentin's bifilar sundial macro please send it in and it will be included on this page.


Modified Bifilar Sundial - sdbifarb_cls

Valentin's bifilar sundial macro is very versatile and allows you design many different kinds of sundials. With Valentin's help I have modified the macro to increase its versatility even more. Figure 13 shows the modified macro. The changes have been in three areas, the "Time interval", the "Date lines" and the "EOT correction".

Figure 13: Modified Bifilar Sundial Macro

Figure 13: Modified Bifilar Sundial Macro

The original macro has selections for 3 time intervals. This version has selections for 7 time intervals. The original macro applied the correction for the Equation of Time to all the hour lines if selected.  This version will apply the correction to all the hour lines, the full hour lines or only the noon hour line.  The original macro will draw one set of date lines that are integrated with the "Period " selection. This version separates the selection of "Date lines" from the "Period'. There are now 6 selections for "Date lines". The "Date Lines" for the "Solstices/Equinoxes (3 lines)" and "Zodiac (7 lines)" are based on average declination values for the dates given in the table in Figure 14.

Figure 14: Data for Solstices, Equinoxes and Zodiac Date Lines

Figure 14: Data for Solstices, Equinoxes and Zodiac Date Lines

Figure 15 shows the sundial drawn with this macro. The "DateLines' layer is turned "ON".

Figure 15: Bifilar Sundial with Solstices/Equinoxes (3 Lines) Date Lines

Figure 15: Bifilar Sundial with Solstices/Equinoxes (3 Lines) Date Lines