![]() |
|
|
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
![]()
Could someone please post the formula for converting Epoch 1950 right
ascension and declination coordinates to Epoch 2000? Thanks in advance. -Paul W. ---------- Remove 'Z' to reply by email. |
#2
|
|||
|
|||
![]()
Paul Winalski wrote:
Could someone please post the formula for converting Epoch 1950 right ascension and declination coordinates to Epoch 2000? Thanks in advance. It's fairly involved and not amenable to newsgroup posting. See low precision precession model without aberration and nutation per: Meeus, J. 1998. Astronomical Algorithms. 2nd ed. Willmann-Bell. p. 132-133. See also Duffett-Smith, P. 1988. Practical Astronomy with your calculator. 3rd ed. Cambridge Univ. Press. p. 56. Maybe others will have a link or short version. Contact me via email and I will send you what code snippet I put together for Meeus. - Canopus56 |
#3
|
|||
|
|||
![]()
Paul Winalski wrote:
Could someone please post the formula for converting Epoch 1950 right ascension and declination coordinates to Epoch 2000? Thanks in advance. Just multiply the proper motion by the number of years and add/subtract it to/from the starting position. But, alas, I presume you really meant Equinox, not Epoch, right? In that case see the references already posted; it's more than just a short formula. -- Greg Crinklaw Astronomical Software Developer Cloudcroft, New Mexico, USA (33N, 106W, 2700m) SkyTools: http://www.skyhound.com/cs.html Observing: http://www.skyhound.com/sh/skyhound.html Comets: http://www.skyhound.com/sh/comets.html To reply have a physician remove your spleen |
#4
|
|||
|
|||
![]()
On Fri, 04 Nov 2005 22:22:07 GMT, Paul Winalski
wrote: Could someone please post the formula for converting Epoch 1950 right ascension and declination coordinates to Epoch 2000? Thanks in advance. It is painful to write formulas in pure ascii. Here is the C function I use for this- you can probably pull what you need from it. This converts from any date to any other; for 1950.0 to 2000.0 just set dDeltaYear to 50. Also, note that all the units are in degrees. /************************************************** * * * Precess - precess an object (in place) * * input: dpRA - ptr to object RA in degrees * dDec - ptr to object dec in degrees * dFromJD - starting JD * dToJD - ending JD * * return: none (precessed in place) * ************************************************** */ void Precess(double *dpRA, double *dpDec, double dFromJD, double dToJD) { double dDeltaRA, dDeltaDec, dDeltaYear; double dM = 2.2354759e-4; double dN = 9.7156662e-5; dDeltaYear = (dToJD - dFromJD) / 365.25; *dpRA /= 57.29577951; *dpDec /= 57.29577951; // convert to radians dDeltaRA = dM + dN * sin(*dpRA) * tan(*dpDec); dDeltaRA *= dDeltaYear; dDeltaDec = dN * cos(*dpRA); dDeltaDec *= dDeltaYear; *dpRA = (*dpRA + dDeltaRA) * 57.29577951; *dpDec = (*dpDec + dDeltaDec) * 57.29577951; return; } _________________________________________________ Chris L Peterson Cloudbait Observatory http://www.cloudbait.com |
#5
|
|||
|
|||
![]() "Chris L Peterson" wrote in message ... On Fri, 04 Nov 2005 22:22:07 GMT, Paul Winalski wrote: Could someone please post the formula for converting Epoch 1950 right ascension and declination coordinates to Epoch 2000? Thanks in advance. It is painful to write formulas in pure ascii. Here is the C function I use for this- you can probably pull what you need from it. This converts from any date to any other; for 1950.0 to 2000.0 just set dDeltaYear to 50. Also, note that all the units are in degrees. /************************************************** * * * Precess - precess an object (in place) * * input: dpRA - ptr to object RA in degrees * dDec - ptr to object dec in degrees * dFromJD - starting JD * dToJD - ending JD * * return: none (precessed in place) * ************************************************** */ void Precess(double *dpRA, double *dpDec, double dFromJD, double dToJD) { double dDeltaRA, dDeltaDec, dDeltaYear; double dM = 2.2354759e-4; double dN = 9.7156662e-5; dDeltaYear = (dToJD - dFromJD) / 365.25; *dpRA /= 57.29577951; *dpDec /= 57.29577951; // convert to radians dDeltaRA = dM + dN * sin(*dpRA) * tan(*dpDec); dDeltaRA *= dDeltaYear; dDeltaDec = dN * cos(*dpRA); dDeltaDec *= dDeltaYear; *dpRA = (*dpRA + dDeltaRA) * 57.29577951; *dpDec = (*dpDec + dDeltaDec) * 57.29577951; return; } _________________________________________________ Chris L Peterson Cloudbait Observatory http://www.cloudbait.com It has been awhile since I have seen any C code... Can anyone pass me a pointer please. -p |
#6
|
|||
|
|||
![]()
On Fri, 4 Nov 2005 17:51:58 -0700, "Pippen" wrote:
It has been awhile since I have seen any C code... Can anyone pass me a pointer please. *pointer _________________________________________________ Chris L Peterson Cloudbait Observatory http://www.cloudbait.com |
#7
|
|||
|
|||
![]()
The formulae below are only approximations. dM and dN in the code,
usually called m and n in the literature, are instantaneous rates. They're OK for short time intervals and for objects not too close to the poles. Otherwise you'll have to use the high-octane stuff. The _Astronomical Almanac_ has a few pages in section B ... tough reading, but it's really the only way to go. -- Bill Owen Pippen wrote: "Chris L Peterson" wrote in message ... On Fri, 04 Nov 2005 22:22:07 GMT, Paul Winalski wrote: Could someone please post the formula for converting Epoch 1950 right ascension and declination coordinates to Epoch 2000? Thanks in advance. It is painful to write formulas in pure ascii. Here is the C function I use for this- you can probably pull what you need from it. This converts from any date to any other; for 1950.0 to 2000.0 just set dDeltaYear to 50. Also, note that all the units are in degrees. /************************************************** * * * Precess - precess an object (in place) * * input: dpRA - ptr to object RA in degrees * dDec - ptr to object dec in degrees * dFromJD - starting JD * dToJD - ending JD * * return: none (precessed in place) * ************************************************ ***/ void Precess(double *dpRA, double *dpDec, double dFromJD, double dToJD) { double dDeltaRA, dDeltaDec, dDeltaYear; double dM = 2.2354759e-4; double dN = 9.7156662e-5; dDeltaYear = (dToJD - dFromJD) / 365.25; *dpRA /= 57.29577951; *dpDec /= 57.29577951; // convert to radians dDeltaRA = dM + dN * sin(*dpRA) * tan(*dpDec); dDeltaRA *= dDeltaYear; dDeltaDec = dN * cos(*dpRA); dDeltaDec *= dDeltaYear; *dpRA = (*dpRA + dDeltaRA) * 57.29577951; *dpDec = (*dpDec + dDeltaDec) * 57.29577951; return; } ________________________________________________ _ Chris L Peterson Cloudbait Observatory http://www.cloudbait.com It has been awhile since I have seen any C code... Can anyone pass me a pointer please. -p |
#8
|
|||
|
|||
![]()
Bill Owen wrote:
The formulae below are only approximations. dM and dN in the code, usually called m and n in the literature, are instantaneous rates. They're OK for short time intervals and for objects not too close to the poles. Otherwise you'll have to use the high-octane stuff. Yup. I borrowed Chris's code at first for precessing coordinates back to 1875 (in order to identify which constellation the coordinates were in), and encountered a few snags near the pole. Since I didn't need the precision, just freedom from snags, I just wrote in a few boundary conditions. -- Brian Tung The Astronomy Corner at http://astro.isi.edu/ Unofficial C5+ Home Page at http://astro.isi.edu/c5plus/ The PleiadAtlas Home Page at http://astro.isi.edu/pleiadatlas/ My Own Personal FAQ (SAA) at http://astro.isi.edu/reference/faq.txt |
#9
|
|||
|
|||
![]()
Chris L Peterson wrote:
snip dDeltaRA = dM + dN * sin(*dpRA) * tan(*dpDec); dDeltaRA *= dDeltaYear; dDeltaDec = dN * cos(*dpRA); dDeltaDec *= dDeltaYear; *dpRA = (*dpRA + dDeltaRA) * 57.29577951; *dpDec = (*dpDec + dDeltaDec) * 57.29577951; To Paul, Duffet-Smith's low precision formula to precess B1950 is - a1 = a0 + (3.07327" + 1.33617" * sin(a0) * tan(d0) * N d1 = d0 + (20.0426" * cos(a0) * N a0,d0 - Starting B1950 RA, Dec a1,d1 - Precessed coordinates N - Number of years since 1950.0 Once precessed, add N years of proper motion in RA and declination. This formula is valid only for B1950 coordinates. Other variations apply for other major epochs. See Duffett-Smith at Sec. 34, p. 56-57. In form, this appears similar to Chris's C code snippet. I have not looked at the units to see if they convert to Chris's constants. This method provides a low precision astrometric position of the star. It does not include the effects of nutation, abberation and atmospheric refraction. Both Duffett-Smith and Meeus provide more rigorious methods. Meeus's, for example, is based on Julian Days, that is the period between the current Julian Day and the Julian Day on the old Besselian year. E.g. - B1950.0 = JDE 2433282.4235 J2000.0 = JDE 2451545.0000 Use of Julian Days instead of fractional years is the foundation of more precise and rigorous alogrithms. Those methods are more difficult to reduce and code. I have not implemented Duffett's low precision method and do not have a code snippet for it. I have implemented a variant of Meeus's moderate precision method. Whatever method you decide to implement, you can check its accuracy using the CDS Simbad web application at: http://simbad.u-strasbg.fr/sim-fid.pl You can put an astronomical object, like M57 or alf Per (Mirfak), in the web applet. Options allow you to display the object's coordinates in B1950 or J2000. For Mirfak, Simbad gives: FK5 2000.0/2000.0 coordinates 03 24 19.37 +49 51 40.2 FK4 1950.0/1950.0 coordinates 03 20 44.44 +49 41 06.0 Proper motion (mas/yr) 24.11 -26.01 Regards - Canopus56 |
#10
|
|||
|
|||
![]()
On Fri, 04 Nov 2005 17:55:39 -0800, Bill Owen wrote:
The formulae below are only approximations. dM and dN in the code, usually called m and n in the literature, are instantaneous rates. They're OK for short time intervals and for objects not too close to the poles. Otherwise you'll have to use the high-octane stuff. True- the function is intended for practical use. It isn't what you'd want, say, for a general purpose planetarium program. I use it for telescope pointing- one of the equinoxes is always current, the other is no more than 1950, and it only needs to be good to a large fraction of an arcsecond. Perfectly good for that. _________________________________________________ Chris L Peterson Cloudbait Observatory http://www.cloudbait.com |
|
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
PDF (Planetary Distance Formula) explains DW 2004 / Quaoar and Kuiper Belt | hermesnines | Astronomy Misc | 10 | February 27th 04 02:14 AM |
New Solar System Model that explains DW 2004 / Quaoar / Kuiper Belt and Pluto | hermesnines | Misc | 0 | February 24th 04 08:49 PM |
CalStar Ver. 4.0 An observing report. ( Long ) | Rashad Al-Mansour | Amateur Astronomy | 0 | October 4th 03 01:53 AM |
Electric Gravity&Instantaneous Light | ralph sansbury | Astronomy Misc | 8 | August 31st 03 02:53 AM |
Space Calendar - June 27, 2003 | Ron Baalke | Astronomy Misc | 3 | June 28th 03 05:36 PM |