Calculation of stars distance
The Concept
Distances between two stars or planets are just simple points in 3D space. Finding the distance between two of these points becomes a simple matter of three-dimensional trigonometry.
Our very important first step is to convert spherical coordinates (declination, right ascension and distance) to Cartesian coordinates (x, y, z).
For any given satellite, let:
Letters α and δ are known spherical coordinates in astronomy. They are the Right Ascension and Declination.
Our formula for converting spherical coordinates to Cartesian coordinates is the following:
This is for one star only. We must compute this for each individual star. So we must compute the following values: $$x_1, y_1, z_1$$
Subscript 1 is the first star, subscript 2 is the second star. Then, in order to get the distance between two stars, we must take the square root of each coordinate lengths' squares added together:
We'll get back to this later. But for clarity's sake, let's go through all the individual variables we will have.
Right Ascension
We commonly measure Right Ascension in hours, but we will be computing via degrees now, for simplicity's sake.
Commonly, we use four (4) references to know how to work with Right Ascension:
- Vernal Equinox: March 20th
- Summer Solstice: June 20th
- Autumnal Equinox: September 22nd
- Winter Solstice: December 21st
Right Ascension is like geographical longitude, but it's measured in time instead of degrees - though, we could convert to degrees. RA tells you how far east along the celestial equator the star lies from a zero point called the Vernal Equinox, which is on March 20th.
The conversion for computational reasons goes as: . This means that for every hour on our sphere, we add 15 degrees. So let's say we have a star at 6 hours; then that star will be from the equinox. But it's usually much more complicated than simple hours; we measure minutes and seconds, too. If we need a decimal degree format (for computational reasons), then we convert as such:
- 1 day (24 hours) =
- 1 hour =
- 1 minute =
- 1 second =
::: question Exercise: Convert 6 hours, 25 minutes and 3 seconds of angle in time to degrees.
Convert them to decimal degree format. :::
::: answer
Convert them to decimal degree format.
First of all, let's look at our table above. 6 hours is
degrees, that is, . We could leave minutes as such, but our
task is to convert that minute to degrees (for practice's sake).
. That's it. That was it. It's really
that simple. Now, seconds to degrees: .
Simple, isn't it? Now, let's add it all up:
. Our
final answer is $90.375^ˆ^$.
:::
Declination
Declination is like geographical latitude: it tells you how far north (+) or south (--) of a star is, from the Earth's equator.
If we project Earth's North and South Poles out onto the sky, we get the North and South Celestial Poles. These are the points around which ethe sky appears to rotate.
Taking Earth's equator and extending that out into space, we get the circle on the sky that is the celestial equator. This divides the sky into a northern and a southern half, just as Earth's equator does for our planet. Now, this reference point is the 0 degrees declination. Northwards, it increases up to positive 90 degrees, up until the North Celestial Pole. Southwards, it decreases down to negative 90 degrees, until the South Celestial Pole.
Distance
Our 3rd coordinate of conversion is the distance, which is symbolized by R, as the radius vector of our imaginary sphere; the line between our eyes and the satellite in question. Our distance unit can be light years, astronomical units, parsecs, kilometers - anything. This will define our ultimate distance unit between the two stars. It is usually given in astronomical distances, though.
The Actual Calculation
If we recall formulas
and
then we can start working with actual, real life data. Our first task will be to calculate the distances between two stars, Sirius and Vega.
For our purposes, I wrote a Python script that lets us very easily calculate distances between two stars. Here, I will demonstrate that by giving the code and outputting it's results. You can copy the code if you want, and change the initial settings.
import math
Sirius_ra = 101.2870833
Sirius_dec = -16.7161111
Sirius_dist = 8.6
Vega_ra = 279.2345833
Vega_dec = 38.7836111
Vega_dist = 25.3
x1 = Sirius_dist * math.cos(math.radians(Sirius_ra)) * math.cos(math.radians(Sirius_dec))
y1 = Sirius_dist * math.sin(math.radians(Sirius_ra)) * math.cos(math.radians(Sirius_dec))
z1 = Sirius_dist * math.sin(math.radians(Sirius_dec))
x2 = Vega_dist * math.cos(math.radians(Vega_ra)) * math.cos(math.radians(Vega_dec))
y2 = Vega_dist * math.sin(math.radians(Vega_ra)) * math.cos(math.radians(Vega_dec))
z2 = Vega_dist * math.sin(math.radians(Vega_dec))
dx = (x2 - x1)
dy = (y2 - y1)
dz = (z2 - z1)
D = math.sqrt(dx*dx + dy*dy + dz*dz)
print(f"Distance between Vega and Sirius: {D} light years.")
RESULTS:
Distance between Vega and Sirius: 33.42338352898635 light years.