Calculating Precise Long Term Stellar Motions

In the previous page on stellar motion, you learned how to calculate a star's position over short time periods. Here's how you can figure out what the sky will look like for millions of years into the past or the future.

More rigorous space motion calculations

To calculate stellar motion accurately, you need to know the star's velocity through space accurately. In particular, you need to know the star's motion in three dimensions, whereas proper motion only provides a 2-dimensional "projection" of the star's motion. Doing the calculations to get 3-dimensional motions is more involved, but well worth it in the end.

If you know any programming language, writing these formulas in it, and packaging the whole set of calculations up into a single program, is an enormous time saver.

Step 1: Get basic data

First, look up the three conventional space velocity components:

  1. vR, the star's radial velocity
  2. \mu\subalpha, the component of proper motion in right ascension, and
  3. \mu\subdelta, the component of proper motion in declination.

If the radial velocity is missing, you can use a value of 0 in all the calculations that follow. This is very similar to the linear extrapolation described in the previous page. As already noted, accuracy over very long times (t > ~ 10000 years) will suffer badly, however. If you're a real stickler for accuracy, you'll probably want to avoid this problem and either ignore that star or look for its radial velocity in another catalog.

If either of the proper motion values is missing, you're out of luck. Either find another catalog or ignore that particular star.

You will also need:

  • d, the star's distance, in parsecs.

If the catalog gives distances in light years, divide the distance by 3.262 to get parsecs. If the catalog only gives a parallax \pi, convert it to distance by using the parallax formula \pi = 1 / d. Parallaxes less than about 0.01 arcsecond in older catalogs, or 0.001 arcsecond in the Hipparcos Catalog, are usually poor, and should be used with caution. If the parallax is zero, missing, or negative, the parallax for that star is very bad, and you shouldn't even bother trying to calculate its 3D motions at all.

Step 2: Check proper motion units, and convert as needed

Make sure the two components of proper motion are in the same units. For this calculation, you want both components to be in seconds of arc per year. As with the "short term" calculations, you may encounter \mu\subalpha in seconds of right ascension rather than seconds of arc. Recall that for the "short term" calculations, you wanted it in that form. For the "long term" calculations, that's not generally the case. We're actually going to figure out the star's velocity in three dimensions, and you determine linear velocities by starting with the angular velocities in conventional units, like seconds or minutes of arc. So, if your catalog gives \mu\subalpha in seconds of right ascension, convert it to seconds of arc by:

  1. multiplying it by cos \delta.
  2. multiplying the result by 15.

Step 3: Turn proper motions into transverse (linear) velocities

Now you must convert the proper motion units, which are angular units, to linear velocities: the two components of the transverse velocity, vT, of the star. To make these velocities consistent with the radial velocity, you'll want to convert them into km/sec. Use these two relationships to do this:

Transverse velocity in right ascension: vTA(km/s) = \mu\subalpha(arcsec/yr) * d * 4.740;

Transverse velocity in declination: vTD(km/s) = \mu\subdelta(arcsec/yr) * d * 4.740

Multiplying the proper motions, which are angular velocities, by the star's distance gives a linear velocity, which is what you want for the transverse velocity. The factor of 4.740 converts the result to km/sec.

Step 4: Turn these velocities into Cartesian velocities

Soon you will use these velocities to calculate the change in position of a star over time. However, these velocities, as calculated, can be hard to work with. First, their orientation in space will vary from star to star. vTD, for example, points towards the celestial poles if the star has a declination of zero, but points 90 degrees away from the poles if the star is at a pole. It's generally easier to transform these to Cartesian velocities (i.e., components along some consistent set of xyz axes). Use the same coordinate system as the one described on the stellar positions page:

  1. +x: towards \delta = 0 degrees, \alpha = 0.0 hours (vernal equinox)
  2. +y: towards \delta = 0 degrees, \alpha = 6.0 hours
  3. +z: towards \delta = +90.0 degrees (north celestial pole)

Now you can get Cartesian velocity coordinates vx, vy, and vz in terms of the three velocities vR, vTA, and vTD. Here are the equations to do this. They're ugly, but important. If you can, stick 'em in a short computer program:

  1. vx = (vR cos \delta cos \alpha) - (vTA sin \alpha) - (vTD sin \delta cos \alpha)
  2. vy = (vR cos \delta sin \alpha) + (vTA cos \alpha) - (vTD sin \delta sin \alpha)
  3. vz = vR sin \delta + vTD cos \delta

The Cartesian velocities retain the units of the originals, so they're in km/sec. For interstellar motions, it's more appropriate to express distances in terms of parsecs rather than km, and times in terms of years rather than seconds. A natural unit for interstellar motion calculations, therefore, is parsecs per year. To convert km/sec to pc/yr, divide by 977,780.

Step 5: Use the velocities to transform the positions

Get the three Cartesian coordinates for the star, as described in the stellar positions section. Make sure your units are consistent with the velocities -- in this case, after the final conversion, velocities in parsecs per year and distances in parsecs. Using the same coordinate system:

  1. x0 = d cos \delta cos \alpha;
  2. y0 = d cos \delta sin \alpha;
  3. z0 = d sin \delta.

where subscript 0 indicates time = 0 (i.e., the present).

To calculate new positions at time = t, i.e., xt,
yt, zt), you need to know how the stars move. For the time frames we're interested in (a few thousand to perhaps a million years), stellar motion is pretty much linear -- stars are too far apart for gravity to curve their paths appreciably. Therefore after an amount of time t:

  1. xt = x0 + vxt
  2. yt = y0 + vyt
  3. zt = z0 + vzt

You now have the xyz coordinates for the star for any time t. Now you can go and plot them on a chart and amaze your friends!

Step 6: Convert the new Cartesian coordinates to equatorial coordinates

You will probably be interested in plotting the star's new position(s) on a star chart of some sort. Since star charts designed for use on Earth use equatorial coordinates (right ascension \alpha and declination \delta) regularly, convert the Cartesian coordinates to them. This calculation is essentially identical to the calculation of spherical coordinates in the section on calculating star positions from other stars:

  • dxy = (xt2 + yt2);
  • \delta = tan-1 (zt / dxy);
  • \alpha = tan-1 (yt / xt)

As with the spherical coordinate \theta, the right ascension can be in any of the four quadrants. Either use ATAN2(yt, t), or bring the value you get for \alpha into the correct quadrant "manually". Then convert into hours by dividing the result in degrees by 15.

Step 7: Calculate the star's new brightness

Over a few thousand years, a star's motion generally doesn't change its brightness very much. However, with these calculations, which are highly accurate even over millions of years, you can show that many stars will get measurably brighter or fainter.

First, look up the star's apparent magnitude, V, as seen from Earth. Any catalog that gives distance and motion data will include this. Then, do the following calculations:

  1. dt = sqrt(xt2 + yt2 + zt2)
  2. Vt = V + 5 log (dt / d)

The calculation is identical to the one for calculating the brightness of a star as seen from a different reference point in space -- a given change in distance to a star, whether it's the observer that moves or the star, yields the same effect on brightness.

A Worked Example: The Once and Future Arcturus

This all sounds very involved. It is. However, the results are a lot of fun. As a concrete example, let's look at the star Arcturus, which is one of the brightest stars in the sky, and also one of the fastest-moving.

Basic Data for Arcturus

The coordinates, magnitude, distance, and proper motions for Arcturus are from the Hipparcos catalog. The radial velocity is from the Gliese Catalog of Nearby Stars, 3rd edition:

  • \alpha = 14.2612 hours.
  • \delta = +19.1873 degrees.
  • d = 11.25 pc
  • V magnitude = -0.05
  • vR = -5.0 km/s
  • \mu\subalpha = -1.093 arcsec /year.
  • \mu\subdelta = -1.999 arcsec / year.

Cartesian coordinates for Arcturus

  1. x0 = 11.25 cos (15 * 14.2612 hours) cos (+19.1873) = -8.82 pc
  2. y0 = 11.25 sin (15 * 14.2612 hours) cos (+19.1873) = -5.93 pc
  3. z0 = 11.25 sin (+19.1873) = +3.70 pc.

Calculated Velocities for Arcturus

  • vR = -5.0 km/sec
  • vTA = -1.093 arcsec/year * 11.25 pc * 4.740 = -58.3 km/sec
  • vTD = -1.999 arcsec/year * 11.25 pc * 4.740 = -106.6 km/sec

Cartesian Velocities for Arcturus

First grind through the ugly equations full of trig formulas:

  • vx = -57.7 km/s
  • vy = +31.5 km/s
  • vz = -102.3 km/s

Then convert the velocities to parsecs / year:

  • vx = -5.90 x 10-5 pc/yr
  • vy = +3.22 x 10-5 pc/yr
  • vz = -1.05 x 10-4 pc/yr

New Positions for Arcturus

Let's see where Arcturus is fifty thousand years from now.

  • xt = -8.82 pc + (50,000 yr * -5.90 x 10-5 pc/yr)
  • xt = -11.77 pc.
  • yt = -5.93 pc + (50,000 yr * 3.22 x 10-5 pc/yr)
  • yt = -4.32 pc.
  • zt = +3.70 pc + (50,000 yr * -1.05 x 10-4 pc/yr)
  • zt = -1.55 pc

Convert this back to equatorial coordinates:

  • dxy = sqrt((-11.77)2 + (-4.32)2)
  • dxy = 12.53 pc.
  • \delta= tan-1 (-1.55 / 12.53)
  • \delta = -7.05 degrees.
  • \alpha= tan-1 (-4.32 / -11.77)
  • \alpha = +20.15 degrees

Checking -- with y and x both negative, \alpha must be in the third quadrant (180 - 270 degrees), so add 180 to bring it to the correct quadrant:

  • \alpha = 200.15 degrees
  • \alpha = 13.343 hours.

Finally, get Arcturus's new distance and magnitude:

  • dt = sqrt((-11.77)2 +
    (-4.32)2)+ (-1.55)2)
  • dt = 12.62 pc.
  • Vt = -0.05 + 5 log10(12.62 / 11.25);
  • Vt = +0.20.

Checking a star chart at \alpha = 13.343 hours, and \delta = -7.05 degrees, we find that Arcturus has moved into the constellation Virgo, about four degrees north of the current position of the bright star Spica. Here's a star chart showing where Arcturus is in fifty thousand years; its total motion is almost thirty degrees, roughly equal to the length of the Big Dipper. If Spica -- which moves much more slowly than Arcturus -- does not move appreciably in this time, observers fifty thousand years from now will have a pretty naked-eye double star in their skies there!