After some thought, you can get this date:
if (ang>=0.0) date = (21.March) +ang*(21.June -21.March )/(23.4 degrees); else date = (21.September)-ang*(21.December-21.September)/(23.4 degrees);
- the dates are pretty simple.
- ang - the current angle between the plane of the ecliptic and the plane of the equator of the Earth.
- must be measured during the day !!!
if you measure the height of the sun (at your latitude) in astronomical drowsiness , then:
ang = height - (90 degrees - your latitude)
- to convert height measured anytime you need to apply vector math
- see calculating the angle between two planes
- see image for clarity
To calculate the time during the day, you will need to search
- standard time conversion (UTC) and stellar time
- It’s also a good idea to look for a sundial design that includes all calculations in geometric form.
Do not forget that this approach does not include precession, nutation ...
- if you consider this, then this task will become unsolvable due to the intersection of the path of the heavenly dome of the sun, which leads to several solutions for any given position of the sun.
- Fortunately, the precession is too slow, and we can skip it for several thousand years.
- and nutation has a small radius (only affects accuracy)
source share