February 13th, 2011

The problem with the spherical trigonometry continues to vex me, so in this entry I shall walk through the entire calculation, demonstrating it to you while I check it for correctness. There are five points in space to consider:

P: the point for which we seek to calculate a variety of values;
C: the center of the image frame
V: the point 90º directly above the point C, in the linear frame of reference of the frame. (In other words, the point 90º away from C that would have the same x-coordinate).
R: the radiant of the Leonid shower
Z: the zenith (the point straight up from the point of view of the aircraft)
N: the North Celestial Pole

Here are the points and their relevant triangles:

We begin this process with the position of C already established through a complex series of previous calculations involving stars that have been identified, their known right ascensions and declinations, as well as their calculated altitudes and azimuths, based on the time and the position of the aircraft. So we already know the altitude, azimuth, right ascension, and declination of C. Next, we calculate the position of V, knowing that it is 90º away from C in the direction of the y-axis of the linear coordinate grid of the image.

There’s one other number that we know: aZ2C2V (that is, the angle obtained by tracing a line from V to C and thence to Z). We know this number to be 6º, because that’s the “angle of attack” of the aircraft -- that is, the angle that its nose is pointed upward in order to maintain sufficient lift to maintain altitude. I obtained this number by a number of measurements using many different frames. It is the same at all times during the data-gathering.
Our first calculation is simple: it is the altitude of V, which is 90º minus the distance from V to Z:

We can get this by the Law of Cosines for spherical trigonometry: for any spherical triangle (a,b,c) with respective interior angles of (α,β,γ):

cos a = cos b * cos c + sin b * sin c * cos α

cos dV2Z = cos 90º * cos 71º + sin 90º * sin 71º * cos 6º = 0.324, making dV2Z = 20º
Next, we calculate aC2Z2V using the same Law of Cosines:
cos 90º = cos 71º * cos 20º + sin 71º * sin 20º * cos aC2Z2V which converts to:
cos aC2Z2V = - (cos 71º * cos 20º) / (sin 71º * sin 20º) = 0.946 making aC2Z2V = 161.09º

Which makes it easy to conclude that the azimuth of V (henceforth vAz) is simply center azimuth + aC2Z2V, which comes to 182.95º. Knowing the altitude and azimuth of V allows us to calculate its right ascension and declination. So now we have V nailed down. We can now do some standard spherical trig to calculate dV2R (50.174º) and aV2C2N (35.568º).

With these basic numbers established, we can now turn to point P. Here’s the situation so far:

Simple plane geometry gives us the distance between C and P:
dC2P = (Scaling factor) * sqrt(dx*dx+dy*dy) = 11.588º.
Next, we calculate aV2C2P, again using plane geometry:
aV2C2P = 90º - arctan(dy/dx) = 37.4º.
We can now calculate the distance from V to P with a new spherical triangle:

The desired distance, dV2P, is shown in red. Since we know aV2C2P, we can use that plus the lengths of the other two sides of the triangle (90º and 11.6º), to calculate the distance between V and P:
cos dV2P = cos 90º * cos 11.6º + sin 90º * sin 11.6º * cos 37.4º = 0.160, so dV2P = 80.8º.

Next, we must calculate aP2C2N. This calculation is quite tricky because what we add and what we subtract depends upon the geometry of these points relative to the other points. There are two “right-handed versus left-handed” issues that must be resolved. In this case, we subtract aV2C2N from aV2C2P to get aP2C2N, obtaining a result of 1.8º. The diagram doesn’t show this well, because I deliberately placed point C a little higher than it should be. That way, the lines are a bit easier to distinguish.

With these two new numbers in hand, we are now in a position to calculate the distance from P to N:

cos dN2P = cos 26.5º * cos 11.6º + sin 26.5º * sin 11.6º * cos 1.8º = .996, hence dN2P = 14.9º

Now we can calculate the difference in right ascension between C and P, which is really just aC2N2P; we merely solve the Law of Cosines for that angle:
cos aC2N2P = (cos 11.6º - cos 26.5º * cos 14.9º) / (sin 26.5º * sin 14.9º) = 0.99968, meaning that aC2N2P is 1.4º. (I’ve been running this calculation at full 9-digit resolution but presenting the results at lower resolution.) Now all we need do is figure whether the difference in right ascension should be added to the right ascension of C or subtracted from it. In this case, is should be subtracted, yielding a right ascension of point P of 343.3º. Since we know the right ascension and declination of point P, we can now calculate the altitude and azimuth using standard methods.

But we’re not done; indeed, we’re now coming to the important part. First, we calculate the distance from P to R:

This is easy to do because we know the right ascension and declination of both P and R, so our spherical triangle is P2N2R -- but I won’t draw in the third side of the triangle because it’s too close to the red line showing what we want to get. Our result is 82.6º, which certainly looks reasonable on this diagram.
This brings us to the critical step: we must calculate aV2P2R. It should be obvious here that we use the triangle V2P2R and solve the Law of Cosines for the angle V2P2R:

cos aV2P2R = ( cos dV2R - cos dV2P * cos dP2R) / (sin dV2P * sin dP2R) = 0.633
implying that aV2P2R = 50.7º. Why is this number so important? Because it tells us what to expect of a Leonid’s motion. Knowing aV2P2R allows us to project where we expect the Leonid to appear in the next frame. Here’s a blowup of the frame with the Leonid showing a line at aV2P2R superimposed:

Now our only concern is to determine how far the Leonid will move along this line. That involves just three factors:
1. The linear velocity of the Leonid, 71.2 km/s
2. How far away it is (the range) in km
3. Its angular distance from the radiant: the angular velocity will be reduced from its maximum by the sine of the angular distance from the radiant. Thus, if it is 90º away from the radiant, then it will move at full speed; if it is very close to the radiant, it will appear to move slowly (because it’s coming toward you).

This line of reasoning led me to discover the problem I have been having all this time: I have been using the wrong formula to calculate the range! I had been using the obvious plane trigonometry formula:

Range = height / sin altitude

The previous diary entry had discussed the correct solution, which takes into account the curvature of the earth. I had always thought that the curvature of the earth was a negligible consideration, but it most certainly is not at these low altitudes.

So, the good news is that I have found a fundamental flaw in my analysis, and now I should be able to fix it and get improved results. The bad news is that this means I must recalculate the entire dataset, a task that will require about 50 hours of computer time and almost as much time on my part. Hallelujah! Curses!