NavList:
A Community Devoted to the Preservation and Practice of Celestial Navigation and Other Methods of Traditional Wayfinding
Re: Angular Distance Between Stars By Camera and Sextant
From: Paul Hirose
Date: 2012 Sep 24, 16:34 -0700
From: Paul Hirose
Date: 2012 Sep 24, 16:34 -0700
Antoine Couëtte wrote: > Thank you very much for having indicated that your first published values were computed in the UTC (and not the UT1) Time scale .... > > Well, Paul, never ever use UTC Time scale with Navigators if not immediately saying so ... Navigators "hack" their watches to UTC or a civil time scale locked to UTC. Ideally, that would also be the time scale of the Almanac and sight reduction software. It's not, due to the difficulty of predicting delta T years in advance. Anyway, the present implementation of UTC is close enough to UT1 that the difference can be ignored in ordinary navigation. In my program that approximation was not good enough, so I had to ask myself, "if Greg had measured separation angle, azimuth, and altitude at .01' precision, what time scale would he have used?" Surely it would be UTC, so that's the way I wrote the program. The source code looks terrible in both my browsers, but, strangely, is quoted almost perfectly in Marcel's message: http://fer3.com/arc/m2.aspx/Angular-Distance-Between-Stars-Camera-Sextant-Tschudin-sep-2012-g20642 Only the long string in the first statement is malformed. But on someone else's system the path to the file will be different anyway. The source code shows that I'm using UTC, and the UT1-UTC offset. Despite the crude user interface, the computation is very accurate. In this example reduction by Patrick Wallace http://syrte.obspm.fr/iauWGnfa/ExPW04.html my program matches his position at the end of the document within .2 mas (milli arc seconds). Note that one mas is about 3 cm (1.3 inches) on Earth's surface! For anyone who has Visual Studio and wishes to duplicate the Wallace example with my little program, 1. Near the beginning, where he lists all the input values, at "IERS X,Y,DUT1 corrections," my program only has provision for DUT1 (= UT1-UTC). 2. Remember to change the "accuracy" and "precision" variables in my source code to appropriate values, say, 1e-9 and 1e9 respectively. 3. To make the program display the separation angle between its computation and Wallace's, force his coordinates into the second star. (I'm assuming the first star represents my program's computation.) To do that, immediately after // Convert coords from vector to spherical. SJ.Spherical sph1Unref = new SJ.Spherical(body1Vec); SJ.Spherical sph2Unref = new SJ.Spherical(body2Vec); add sph2Unref = new SJ.Spherical( SJ.Angle.DegreesToRadians(450.0 - 116.44983979538), SJ.Angle.DegreesToRadians(+89.79843387822)); (The "450" converts azimuth to the conventional lambda angle of spherical coordinates.) 4. The two small methods (functions) at the end of the source code that display angles, can output any of three different formats. It depends on the control string, e.g., +2b°′″ for altitude. The letter controls the units: a = DMS.s, b = DM.m, and c = D.d. The actual number of decimal places is determined by the "resolution" variable I mentioned above. In case you're curious, the + forces a sign to be printed always, and the 2 pads the integer degree part with leading space, if necessary, so it's at least 2 characters wide. Thus the digits align with the line below, whether the altitudes are large or small, positive or negative. --