2D Astrolabe Construction:​Stereographic Projection of Alt-Azimuth Coordinates, Ecliptic Path, and Stars and Creation of a Movie of the Graphics​​G. Allen Gary June 30, 2025​​​

In[]:=
;​​

NOTES:
i) The above figure shows the geometry of the stereographic projection employed in this program.
A sphere of radius 1/2 is used and its center is at (0,0,1/2) and the projection plane is at z=1.
​
ii) RotationTransform[θ,w,p] gives a 3D rotation around the axis w={1,0,0} anchored at the point p={0,0,1/2}.
​
iii) Huntsville, AL Latitude=34.7300° N, Longitude= 86.5850° W; hence for CST time correct subtract about 14min from Astrolabe time.
​
iv) The definition of the ecliptic in terms of the X,Y,Z coordinate system is such that the x-axis passes the spring and autumn equinoxes when the
Sun is at noon at the summer/winter solstice. However as the hours of the day increase ecliptic asending node changes rotates wrt to the celestial axis. The position of the Sun on the
ecliptic changes as the days changes.
​
v) In the astrolabe stereographic project, the Alt-Azimuth coordinate system remain fixed, hence the celestial coordinate system rotates about the celestial axis,
i.e., the north celestial pole which has fixed alt-azimuth coordinate for a fixed latitude.
​
​

MathematicsGraphicsCoordinates{Initially,RA=0along+X-axis​​
​​
INPUT DATE AND TIME:
In[]:=
date={2016,3,22};(*NoteatSummerSolsticelongitude90deg*)​​timeofdayin24Hrs=12.00;(*Noontime12:00localtimewas18.00*)​​θ=34.73;(*latitudeofobserver(e.g.Huntsville,AL*)(*rotationfortheequatorupwards*)​​​​EclipticAngle=23.+26/60.+2.406/3600.;(*ThetiltangleofSun'seclipticplanewrttothecelestial-equatorialplane*)​​​​EclipticLongitude[doy_]:=Module[{},doy1=doy-1;doydate=DatePlus[{2016,1,1},doy1];ndays=DayCount[{2000,1,1},doydate];(*dayssincenoonof2000Jan1*);​​MeanLongitude=280.460+0.9856474ndays;​​MeanAnomaly=357.528+0.9856003ndays;​​EclipticLong=MeanLongitude+1.915Sin[MeanAnomalyDegree]+0.020Sin[2.MeanAnomalyDegree](*Ofthesun*);​​EL=FractionalPart[EclipticLong/360.]*360.;EL](*Sun'slongitudeindegreesforgivendatemeasuredfromspringequnoix,RA=0*)​​(*https://en.wikipedia.org/wiki/Position_of_the_Sun​​http://xplorations.blogspot.com/2010/06/suns-apparant-position-in-zodiac.html​​http://earthsky.org/space/can-i-find-a-list-of-zodiacal-constellations-with-degrees​​Sun'sdailychangesalongtheEcliptic(increasinglongitude-counterclockwise)ontheAstrolabeisoppositeofthedirectionofthedurinalmotionofthestarsacrossthesky(clockwise)whichmovefromtheeasterntothewesternhorizon.​​Jan20,2015:SunentersconstellationCapricornus(299.66°)​​Feb16,2015:SunentersconstellationAquarius(327.83°)​​Mar12,2015:SunentersconstellationPisces(351.52°)​​Apr19,2015:SunentersconstellationAries(29.03°)​​May14,2015:SunentersconstellationTaurus(53.41°)​​Jun22,2015:SunentersconstellationGemini(90.37°)​​Jul21,2015:SunentersconstellationCancer(118.20°)​​Aug11,2015:SunentersconstellationLeo(138.13°)​​Sep17,2015:SunentersconstellationVirgo(174.10°)​​Oct31,2015:SunentersconstellationLibra(217.75°)​​Nov23,2015:SunentersconstellationScorpius(241.08°)​​Nov30,2015:SunentersconstellationOphiuchus(247.98°)​​Dec18,2015:SunentersconstellationSagittarius(266.55°)​​*)
In[]:=
FirstdaysofMonth=Table[DayCount[{2016,1,1},{2016,i,1}],{i,1,12}]+1;(*FirstdaysofmonthascountedfromJan1:​​{1,32,61,92,122,153,183,214,245,275,306,336}*)​​TableofLongs=Table[EclipticLongitude[i],{i,1,365}];​​(*{280.49,312.05,341.33,12.19,41.54,71.42,100.07,129.66,159.47,188.73,219.49,249.72}*)​​TableofFirstLong=Table[EclipticLongitude[FirstdaysofMonth[[i]]],{i,1,12}];
In[]:=
tf=RotationTransform[(-90.Degree+θDegree),{1.,0.,0.},{0.,0.,1./2}];(*Latitduetilt(rotate)aboutx-axisaboutpoint(0,0,.5)​​RotationTransformationgivematrixforrotationaboutanAXISlocatedaboutaPOINT​​UsedtotakethethenormalspherewithNorthpoleat+yandrotatethethesphere​​tohavethepolepointingtowardobserverzenith,givingAlt-Azcoordinates.​​Thefunctiontf[x,y,z]movespoint{x,y,z}aboutspheredownward{90-34}degrotationaboutthex-axis.*)​​tfecliptic=RotationTransform[EclipticAngleDegree,{1.,0.,0.},{0.,0.,1./2}];(*Tilt(rotate)oftheecliptic(23deg)aboutx-axisaboutpoint(0,0,.5)​​Usedtoeclipticfromequatorialplane.Thefunction​​tfecliptic[x,y,z]movespoint{x,y,z}aboutspherewith23degrotationaboutthex-axis.*)
In[]:=
dayx=DayCount[{2016,1,1},date];(*generatesdaysfromthefirstoftheyear*)​​SolarLong=TableofLongs[[dayx]];(*forgivendateextractstheSun'slongitude*)​​SolarLongPlus1=TableofLongs[[dayx+1]];​​DiffSolarLong=SolarLongPlus1-SolarLong;​​ShiftAngle=((timeofdayin24Hrs-12.00)/24.00)*360.(*+correctionDiffSolarLong;*)(*Correctlongitudeforpartofthedailyrotationoftheecliptic/celestialspherefromnoon*)​​Rotateclip=Mod[90.-SolarLong-ShiftAngle ,360.];(*SolarLongisthelongitudeoftheSunatnoon.​​Tohavenoonalignmentwiththe+y-direction,then90degneedstobeadded.*)​​(*Changinghouroftheday(fromnoon)byrotatingthecelestialsphereclockwise.TheSun'slocationisgivenbyeclipticlongitudeoftheSunontheecliptic.*)
BRIGHT STARS:​
​​
Reference: http://fmwriters.com/Visionback/Issue14/wbputtingstars.htm
​Mathematica StarData has the sun and stars BUT seven of the 100 brightess stars in the catalogue had missing data.
Missing data was “color” or had numerical entries problems, i.e. no hour angle number.
Hence the corrected table for 99 stars is listed below: (Dimension 99,10)
In[]:=
StarsValues={{-1.44, "Sirius", 6., 45., 9.252, -16., -42., 0.73, 0.8, 1.},
{-0.62, "Canopus", 6., 23., 57.084, -52., -41., 0.89, 0.91, 1.},
{-0.05, "Arcturus", 14., 15., 40.32, 19., 11., 1., 0.89, 0.76},
{-0.01, "Rigel Kentaurus A", 14., 39., 41.04, -60., -50., 1., 0.96, 0.93},
{0.03, "Vega", 18., 36., 56.16, 38., 46.98, 0.71, 0.79, 1.},
{0.08, "Capella", 5., 16., 41.304, 45., 59.94, 1., 0.96, 0.91},
{0.18, "Rigel", 5., 14., 32.28, -8., -12., 0.68, 0.76, 1.},
{0.40, "Procyon", 7., 39., 18.54, 5., 13., 0.98, 0.97, 1.},
{0.45, "Achernar", 1., 37., 42.744, -57., -14., 0.65, 0.74, 1.},
{0.45, "Betelgeuse", 5., 55., 10.272, 7., 24., 1., 0.75, 0.5},
{0.61, "Hadar", 14., 3., 49.32, -60., -22., 0.63, 0.72, 1.},
{0.76, "Altair", 19., 50., 46.68, 8., 52., 0.83, 0.87, 1.},
{0.77, "Acrux", 12., 26., 35.88, -63., -5., 0.63, 0.72, 1.},
{0.87, "Aldebaran", 4., 35., 55.212, 16., 30., 1., 0.82, 0.65},
{0.96, "Capella Ab", 5., 16., 40.26, 46., 0., 1., 0.97, 0.95},
{0.98, "Spica", 13., 25., 11.64, -11., -9., 0.64, 0.73, 1.},
{1.06, "Antares", 16., 29., 24.36, -26., -25., 1., 0.75, 0.5},
{1.16, "Pollux", 7., 45., 19.368, 28., 1., 1., 0.92, 0.83},
{1.17, "Fomalhaut", 22., 57., 38.88, -29., -37., 0.75, 0.82, 1.},
{1.25, "Deneb", 20., 41., 25.8, 45., 16., 0.74, 0.81, 1.},
{1.25, "Mimosa", 12., 47., 43.44, -59., -41., 0.63, 0.72, 1.},
{1.35, "Rigel Kentaurus B", 14., 39., 39.24, -60., -50., 1., 0.9, 0.79},
{1.36, "Regulus", 10., 8., 22.56, 11., 58., 0.68, 0.76, 1.},
{1.5, "Adhara", 6., 58., 37.56, -28., -58., 0.64, 0.73, 1.},
{1.58, "Castor", 7., 34., 36.012, 31., 53., 0.74, 0.81, 1.},
{1.59, "Gacrux", 12., 31., 9.84, -57., -6., 1., 0.73, 0.48},
{1.62, "Shaula", 17., 33., 36.36, -37., -6., 0.64, 0.73, 1.},
{1.64, "Bellatrix", 5., 25., 7.86, 6., 20., 0.64, 0.73, 1.},
{1.65, "Alnath", 5., 26., 17.484, 28., 36., 0.68, 0.76, 1.},
{1.67, "Miaplacidus", 9., 13., 12.252, -69., -43., 0.74, 0.81, 1.},
{1.69, "Alnilam", 5., 36., 12.816, -1., -12., 0.63, 0.72, 1.},
{1.73, "Alnair", 22., 8., 13.92, -46., -57., 0.68, 0.76, 1.},
{1.74, "Alnitak", 5., 40., 45.516, -1., -56., 0.63, 0.72, 1.},
{1.75, "Regor", 8., 9., 31.968, -47., -20., 0.62, 0.72, 1.},
{1.76, "Alioth", 12., 54., 1.8, 55., 57., 0.71, 0.78, 1.},
{1.79, "Kaus Australis", 18., 24., 10.44,-34., -23., 0.7, 0.78, 1.},
{1.79, "Mirphak", 3., 24., 19.332, 49., 51., 0.98, 0.97, 1.},
{1.81, "Dubhe", 11., 3., 43.92, 61., 45., 1., 0.98, 0.99},
{1.83, "Wezen", 7., 8., 23.496, -26., -23., 1., 0.98, 0.98},
{1.85, "Alkaid", 13., 47., 32.64, 49., 18., 0.65, 0.74, 1.},
{1.86, "θ Scorpii", 17., 37., 19.2, -42., -59., 0.91, 0.92, 1.},
{1.90, "Menkalinan", 5., 59., 31.776, 44., 56., 0.74, 0.81, 1.},
{1.91, "Atria", 16., 48., 39.96, -69., -1., 1., 0.9, 0.77},
{1.93, "Alhena", 6., 37., 42.708, 16.,23., 0.71, 0.79, 1.},
{1.93, "δ Velorum", 8., 44., 42.18, -54., -42., 0.73, 0.8, 1.},
{1.94, "Peacock", 20., 25., 39., -56., -44., 0.65, 0.73, 1.},
{1.97, "Polaris", 2., 31., 47.064, 89., 15., 1., 0.98, 0.99},
{1.98, "Mirzam", 6., 22., 41.988, -17., -57., 0.63, 0.72, 1.},
{1.99, "Alphard", 9., 27., 35.244, -8., -39., 1., 0.87, 0.73},
{2.01, "Algieba", 10., 19., 58.08, 19., 50., 1., 0.92, 0.83},
{2.01, "Hamal", 2., 7., 10.272, 23., 27., 1., 0.89, 0.76},
{2.05, "Nunki", 18., 55., 15.96, -26.,-17., 0.65, 0.73, 1.},
{2.06, "Menkent", 14., 6., 41.4, -36., -22., 1., 0.92, 0.83},
{2.07, "β Gruis", 22., 42., 39.96, -46., -53., 1., 0.73, 0.48},
{2.07, "Kochab", 14., 50., 42.36, 74., 9., 1., 0.85, 0.69},
{2.07, "Mirach", 1., 9., 43.812, 35., 37., 1., 0.75, 0.52},
{2.07, "Saiph", 5., 47., 45.384, -9., -40., 0.63, 0.72, 1.},
{2.08, "Rasalhague", 17., 34., 55.92, 12., 33., 0.79, 0.84, 1.},
{2.09, "Algol", 3., 8., 10.14, 40., 57., 0.69, 0.76, 1.},
{2.10, "Almach", 2., 3., 53.928, 42., 19., 0.69, 0.76, 1.},
{2.14, "Denebola", 11., 49., 3.72, 14., 34., 0.75, 0.82, 1.},
{2.2, "γ Centauri", 12., 41., 31.2, -48., -57., 0.73, 0.8, 1.},
{2.21, "Aspidiske", 9., 17., 5.424, -59., -16., 0.85, 0.88, 1.},
{2.21, "Naos", 8., 3., 35.064, -40., 0., 0.61, 0.70, 1.},
{2.22, "Alphekka", 15., 34., 41.16, 26., 42., 0.71, 0.79, 1.},
{2.23, "Alsuhail", 9., 7., 59.772, -43., -25., 1., 0.85, 0.70},
{2.23, "Mizar", 13., 23., 55.32, 54., 55., 0.74, 0.81, 1.},
{2.23, "Sadr", 20., 22., 13.8, 40., 15., 1., 0.98, 0.98},
{2.24, "Etamin", 17., 56., 36.24, 51., 29., 1., 0.82, 0.65},
{2.25, "Mintaka", 5., 32., 0.384, -17., -56.7348, 0.63, 0.72, 1.},
{2.29, "Dschubba", 16., 0., 20.16, -22., -37., 0.63, 0.72, 1.},
{2.29, "ϵ Centauri", 13., 39., 53.28, -53., -27., 0.63, 0.72, 1.},
{2.29, "ϵ Scorpii", 16., 50., 10.32, -34., -17., 1., 0.89, 0.76},
{2.30, "α Lupi", 14., 41., 55.68, -47., -23., 0.64, 0.73, 1.},
{2.33, "η Centauri", 14., 35., 30.48, -42., -9., 0.64, 0.73, 1.},
{2.34, "Merak", 11., 1., 50.52, 56., 22., 0.73, 0.8, 1.},
{2.35, "Izar", 14., 44., 59.28, 27., 4.,0.71, 0.78, 1.},
{2.38, "Enif", 21., 44., 11.04, 9., 52., 1., 0.89, 0.77},
{2.39, "κ Scorpii", 17., 42., 29.16, -39., -1., 0.64, 0.73, 1.},
{2.41, "Phad", 11., 53., 49.92, 53., 41., 0.71, 0.79, 1.},
{2.43, "Sabik", 17., 10., 22.8, -15., -43., 0.75, 0.81, 1.},
{2.44, "Scheat", 23., 3., 46.44, 28., 4., 1., 0.75, 0.5},
{2.45, "Alderamin", 21., 18., 34.56, 62., 35., 0.82, 0.87, 1.},
{2.45, "Aludra", 7., 24., 5.688, -29., -18., 0.66, 0.75, 1.},
{2.48, "ϵ Cygni", 20., 46., 12.36, 33., 58., 1., 0.92, 0.83},
{2.49, "Markab", 23., 4., 45.48, 15., 12., 0.70, 0.78, 1.},
{2.54, "Menkar", 3., 2., 16.764, 4., 5., 1., 0.75, 0.5},
{2.54, "ζ Ophiuchi", 16., 37., 9.48, -10., -34., 0.63, 0.72, 1.},
{2.55, "ζ Centauri", 13., 55., 32.52, -47., -17., 0.65, 0.73, 1.},
{2.56, "Acrab", 16., 5., 26.16, -19., -48., 0.63, 0.72, 1.},
{2.56, "Zosma", 11., 14., 6.36, 20., 31., 0.77, 0.83, 1.},
{1.86, "Avior", 8., 22., 30.9, -59., -30., 0.89, 0.91, 1.},
{2.04, "Diphda", 0., 43., 35.23, -17., -59., 1., 0.92, 0.83},
{2.07, "Alpheratz", 0., 8., 23.17, 29., 5., 0.69, 0.76, 1.},
{2.15, "Tsih", 0., 56., 42.5, 60., 43., 0.63, 0.72, 1.},
{2.24, "Shedir", 0., 40., 30.39, 56., 32., 1., 0.93, 0.83},
{2.28, "Caph", 0., 9., 10.09, 59., 9., 0.93, 0.93, 1.},
{2.40, "Ankaa", 0., 26., 16.87, -42., 18., 1., 0.92, 0.83},
{2.47, "κ Velorum", 9., 22., 6.8, -55., 0., 0.65, 0.73, 1.}};
HEAVEN VIEW: ( Looking “down” on projection plane and the figure looking at the celestial sphere)
Celestial declination ci is located at Raduis = Tan[ci π/(2. 180.)] for 90deg-> 1.51085 hence the outer radius of the graphic below.
MAN MODEL :
ECLIPTIC MODEL :
GENERATE ECLIPTIC AND SUN POSITION
HOUR & ALIDADE (or RULE) MODELS :
SPECIFIC VIEWPOINTS, VIEWCENTERS, and VIEWVERTICALS for the VIDEO :
CREATING STARS ON THE RETE and ON THE CELESTIAL SPHERE :
VIDEO PRODUCTION :
SPECIFIC FRAME for construction analysis:
​
Currently the stars on the sphere are 180deg out of phase with the rete positions. Jan 6, 2016
EXPORT VIDEO :
THE END of PROGRAM