0% found this document useful (0 votes)
83 views16 pages

Vector2CoP en

Uploaded by

Eduardo Huenufil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
83 views16 pages

Vector2CoP en

Uploaded by

Eduardo Huenufil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

CJO - Abstract - Vector Solution for the Intersection of Two Circles of Equal Altitude Página 1 de 1

close

Journal of Navigation (2008), 61: 355-365 Cambridge University Press Volume 61


doi:10.1017/S0373463307004602
Published online by Cambridge University Press 25Mar2008 Issue 02 - Apr 2008

Add to basket £14.00 /


$20.00
Login Subscribe to journal Email abstract Save article Content alerts
Cited by Articles
(CrossRef)
Link to this abstract
Cited by Articles (Google
Scholar)

Citation alert

Go to Next Abstract

Go to Previous Abstract
Journal of Navigation (2008), 61:355-365 Cambridge University Press
Copyright © The Royal Institute of Navigation 2008
doi:10.1017/S0373463307004602

Research Article

Vector Solution for the Intersection of Two Circles of Equal


Altitude

Article author query


Andrés Ruiz Gonzáleza1 c1
gonzález ar [Google Scholar]
a1
(Navigational Algorithms. San Sebastián.)

Abstract

A direct method for obtaining the two possible positions derived from two sights using vector analysis
instead of spherical trigonometry is presented. The geometry of the circle of equal altitude and of the two
body fixes is analyzed, and the vector equation for simultaneous sights is constructed. The running fix
problem is also treated.

Key Words: Circle of Equal Altitude; Celestial Navigation; Sight Reduction; Vector Analysis

Correspondence:

c1
(Email: [email protected])

back to top

http://journals.cambridge.org/action/displayAbstract?fromPage=online&aid=1814560... 25/03/2008
Vector Solution for the Intersection of two
Circles of Equal Altitude
Andrés Ruiz González
http://sites.google.com/site/navigationalalgorithms/
Navigational Algorithms. San Sebastián.

Paper published in The Journal of Navigation,


The Royal Institute of Navigation

• Submitted: 2007/05/14
• Accepted: 2007/10/09
• Published: Volume 61 - Issue 02, April 2008.
THE JOURNAL OF NAVIGATION (2008), 61, 355–365. f The Royal Institute of Navigation
doi:10.1017/S0373463307004602 Printed in the United Kingdom

Vector Solution for the Intersection


of Two Circles of Equal Altitude
Andrés Ruiz González
(Navigational Algorithms. San Sebastián.)
(Email: [email protected])

A direct method for obtaining the two possible positions derived from two sights using
vector analysis instead of spherical trigonometry is presented. The geometry of the circle
of equal altitude and of the two body fixes is analyzed, and the vector equation for simul-
taneous sights is constructed. The running fix problem is also treated.

KEY WORDS
1. Circle of Equal Altitude. 2. Celestial Navigation. 3. Sight Reduction. 4. Vector Analysis.

1. I N T R O D U C T I O N. Most of the known methods to solve the two


body problem, [10], [13–17], [19], [24–26], use the navigational triangle [1] and
spherical trigonometry. Recursive methods using linear approximations as in [18],
or physics analogies [12] are smart approaches. Sight reduction general procedures
[2–5], can be used to obtain the fix, but for two sights the estimated position is
needed. In reference [11] an analytical solution using plane geometry is used for
both solutions.
On the other hand, vector calculus is a powerful tool widely used for engineering
and physics, [9]. In navigation it is used in naval kinematics, for current calculations,
(set & drift) and the great circle sailing can be formulated using the vector analysis,
[20–23] ; in [27] a vector approach of celestial navigation is made. In this paper a
solution for the two body problem in celestial navigation using this technique is
presented. The following sub paragraphs present some concepts about the celestial
circle of position, CoP.
1.1. Variables and symbols. Let us denote the dot product by and the cross ’

product by L, and a vector by ~ v or by v. The variables used are :

Variable Intervals

GHA Greenwich Hour Angle 0 <=GHA <=360x (W to E)


Dec Declination x90x (S) <=Dec <=+90x (N)
Ho Observed altitude 0 <=H <=90x
B Latitude x90x (S) <=B <=+90x (N)
L Longitude x180x (W) <=L <=+180x (E)
356 A N D R É S R U I Z G O N Z Á L E Z V O L. 61

Figure 1. Circle of Equal Altitude parameters.

1.2. The Circle of Equal Altitude. A celestial object is far enough away from
the observer that the incoming light rays are nearly parallel to each other. Thus, there
is a point on the surface of Earth where the object is directly overhead at a given
time ; this point is called the geographical position, GP, (or of a star ; substellar point).
Using the spherical model of the Earth, there is a circle on her surface centred about
the object’s geographical position where the angle between the horizon and the
celestial object, called the altitude, is constant at a given instant. This circumference
forms a celestial line of position, a small circle, known as a circle of equal altitude.
The great circle distance from this pole to the circle is the zenith distance of the body,
Zd.
At the time of observation the observer of the celestial object must be located
somewhere along that circle. The geographical position of a celestial body is calcu-
lated from an ephemeris or obtained from the Nautical Almanac, and the altitude
is measured with a sextant. The observed altitude is the sextant altitude corrected
for index error and dip, for refraction and if appropriate corrected for parallax and
semi-diameter. This process is summarized in Figure 1.
Geometrically a Circle of Equal Altitude is generated by the intersection of a
circular cone having its vertex in the centre of the Earth, half angle a=90x-Ho, and
with the vector from O to GP as its axis, with the unit sphere. The distance from the
centre of the Earth to the plane containing the CoP is sin(Ho), as shown in Figure 2.
1.3. Vector equation for the Circle of Equal Altitude. In Figure 3, let OP be
the observer’s position at the time of sight, and GP the geographical position of
the celestial body at the same instant. The dot product of the vectors defined by the
centre of the Earth and these points is the cosine of the angle between them, which
is the zenith distance of the observed body. Then, the vector equation of the circle
of equal altitude is :
! !
O P  G P=cos (90 xHo) (1)
It is possible to write the azimuth in vector form [8].
N O. 2 INTERSECTION OF TWO CIRCLES OF EQUAL ALTITUDE 357

Figure 2. Earth’s normal section to the plane of the Circle of Position (CoP).

Figure 3. Circle of Equal Altitude and vectors.

1.4. Coordinate Systems. Using a right-handed orthonormal basis {~ j, k~}, as in


i, ~
Figure 4, the Cartesian system of coordinates is defined where the origin O, is the
centre of the Earth with Axes :

Z : from O to the North Pole.

X : from O to the Greenwich meridian, included in the Earth’s equatorial plane.

Y : defined by ~j=k~^ ~
i
Since angles are used, not distances, the hypothesis that the Earth is a sphere of unit
radius is valid.
358 A N D R É S R U I Z G O N Z Á L E Z V O L. 61

Figure 4. Right-handed orthonormal basis, and coordinates.

The relationship between the equatorial coordinates (Dec, GHA), and geographi-
cal coordinates (B, L), with the spherical ones, (Q, h), arises from Figure 4:
r=1 r=1
Dec=Q B=Q
GHA=360 -h L=h

According to this formulation the unit vector in Cartesian coordinates, (x,y,z), from
the centre of the Earth to the geographical position of any body is :
!
GP =cos Dec cos GHA ~ ixcos Dec sin GHA ~j+sin Dec  k~ (2)
And the unit vector in Cartesian coordinates from the centre of the Earth to any point
on the surface of the Earth is :
!
OP=cos B cos L ~ j+sin B  k~
i+cos B sin L ~ (3)

2. V E C T O R E Q U A T I O N F O R T H E I N T E R S E C T I O N O F T W O
S I M U L T A N E O U S C I R C L E S O F P O S I T I O N. In the general case, two
CoP intersect at two points : I1 and I2, (Figure 5). The coordinates of these two
crossings are the solution to the problem. Using the vector notation in section 1.3
there are three unknown variables, the Cartesian coordinates of OP ; so three
equations are needed:
! !
OP  GP 1 =sin Ho1
! !
OP  GP 2 =sin Ho2 (4)
! !
OP  OP=1

The last equation takes account of the fact that the observer is on the surface of a
unit sphere : x2+y2+z2=1. To solve the system some methods have been published
[4], [11].
N O. 2 INTERSECTION OF TWO CIRCLES OF EQUAL ALTITUDE 359

Figure 5. Crossing of two CoP.

Figure 6. Section by the plane containing the two geographical positions and the centre of
the Earth.

Another approach arises considering Figures 5 & 6. The great circle passing
through the two geographical positions is perpendicular to the one defined by the
points I1 and I2, and intersect in a point Ick on the surface of the sphere. Each CoP is
contained in a plane, (section 1.2), the intersection of these planes is the line defined
by the points I1 and I2. The line OIck and the line I1I2 have a point in common : Ic.
The vector from the centre of the Earth to each GP in rectangular coordinates is :
!
GP j =(cos Decj cos GHAj xcos Decj sin GHAj sin Decj ) (5)
360 A N D R É S R U I Z G O N Z Á L E Z V O L. 61

k1 cos α = sin Ho 2 − k 2
k 2 cos α = sin Ho1 − k1
then:
sin Ho1 − sin Ho2 cosα
k1 =
sin 2 α
sin Ho2 − sin Ho1 cosα
k2 =
sin 2 α

Figure 7. Vector to the point Ic.

for the two crossings j=1,2. This vector is perpendicular to the plane that contains
the CoP.
The vector from the origin to the point Ic can be written like a linear combination
of the GP vectors :
! ! !
OI c =k1 GP 1 +k2 GP 2 (6)

Where k1 and k2 are the scale factors derived from Figure 7, and alpha is the angle
between the two GP vectors:
! !
GP 1  GP 2 =cos a (7)
The direction of the line connecting the two intersection points : I1 and I2, is defined
by the unit vector
! !
GP 1 ^ GP 2

r=  !
~ !  (8)

 GP 1 ^ GP 2 

perpendicular to the great circle passing through the two geographical positions.
The vectors from Ic to the points solution of the problem are :
! !
Ic I 1 =L1~
r and Ic I 2 =L2~
r:

From Figure 8, L1 and L2 are distances from the middle point of the I1I2 line to
each intersection point.
Lj =Ic Ij (9)

OIc2 +Ic Ij 2 =OIj 2 =1 (10)


N O. 2 INTERSECTION OF TWO CIRCLES OF EQUAL ALTITUDE 361

Figure 8. Section by the plane containing the line I1I2and O.

where j=1,2.
OIc is obtained using the dot product :
!  !
OI c OI c =OI2c (11)
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
! !
Lj =t 1x OI c  OI c (12)

The vector from the origin to each intersection is :


! ! !
OI j = OI c + Ic I j (13)

And finally, the vector equation for the solution points is :


! !
! ! ! GP 1 ^ GP 2
OI j =k1 GP 1 +k2 GP 2 +Lj 
 ! !   (14)
 GP 1 ^ GP 2 

for j=1,2.
!
Transforming the Cartesian coordinates, OI j =( xj yj zj ), in to spherical ones,
the latitude and the longitude of the two points of intersection will be obtained.
qffiffiffiffiffiffiffiffiffiffiffiffiffiffi
Bj =ATAN2(zj , x2j +y2j )
(15)
Lj =ATAN2(yj , xj )

For the North Pole (0,0,1), and the South Pole (0,0,x1), the solution is undeter-
mined. The algorithm is shown in a flow chart in the Appendix.
2.1. The Fix. Only one of the two points of intersection obtained is the true
position of the observer. The dead reckoning position determines the fix.
2.2. Singular case. There is a theoretical case very improbable in navigation :
if the two CoPs are tangents, there is only one solution, but the vector equation gives
the correct result. The two points of intersection I1 and I2 in Figures 5 and 6, the
middle point Ic and its projection on the surface of the Earth Ick are the same. The line
I1I2 degenerates to a point, as well as the two crossings, and Lj=0.
I1  I2  Ic  I0c Ic Ij = 0 OIc = OIj =1 and Lj =0
362 A N D R É S R U I Z G O N Z Á L E Z V O L. 61

Then the vector equation for the position is :


! ! !
OI j =k1 GP 1 +k2 GP 2 for j: 1  2

2.3. Correction for the motion of the observer. When the two sights are not
taken at the same time, it is necessary to move the first CoP to the time of the second
one, or both to a common instant. Many methods have been presented, but the
correct way to move a CoP is to advance or retire the GP due to the motion of
the observer [6], [7].
Using the technique described in reference [6], the correction is a function of the
estimated position of the observer, (Be,Le), and his motion : course and speed, (C,S).
And since what we are looking for is the true position, an iterative process is required
in order to reach the solution for the running fix. The algorithm is described in the
Appendix.

3. C O N C L U S I O N. A vector solution in rectangular coordinates for the two


body fix problem has been presented. The development uses only vector algebra
and coordinate transformation between geographical and Cartesian coordinates
avoiding the use of the spherical trigonometry. The schema for deriving the
equation is clear and intuitive. The equation is a compact function of the geo-
graphical positions, and the scale factors are also functions of the observed altitudes.
N O. 2 INTERSECTION OF TWO CIRCLES OF EQUAL ALTITUDE 363
APPENDIX
A1. Fix Algorithm.

OI1,2 = k1GP1 + k2GP2 + L1,2


364 A N D R É S R U I Z G O N Z Á L E Z V O L. 61

A2. Running Fix Algorithm.

An implementation of these two algorithms is available at the author’s web site:


CelestialFix.exe running under Windows. Other implementations are very easy in a
calculator, electronic spreadsheet, or math dedicated software with vector analysis
functions performed.

REFERENCES
1. Bowditch, Nathaniel, (1995). The American Practical Navigator. Pub. Nx9, DMA.
2. Admiralty Manual of Navigation, Volume 1, BR 45 (1), General, Coastal Navigation and Pilotage.
(1987–2006), TSO London. ISBN: 978-0-11-772880-6
3. Admiralty Manual of Navigation, Volume2, BR 45 (2), AstroNavigation. (2004) TSO London. ISBN:
1-870077-65-2
4. Watkins. R. and Janiczek. (1978–79) P. M., Sight Reduction with Matrices, NAVIGATION, Journal of
The Institute of Navigation, Vol. 25, No. 4, 447–48.
5. Robert W. Severance. (1989). Overdetermined celestial fix by iteration. IoN Vol. 36, No. 4.
N O. 2 INTERSECTION OF TWO CIRCLES OF EQUAL ALTITUDE 365
6. Metcalf, T. R. (1991). Advancing Celestial Circles of Position, NAVIGATION, Vol. 38, No. 3,
285–288.
7. Kaplan, G. H. (1996). The Motion of the Observer in Celestial Navigation, Navigator’s Newsletter,
Issue 51, 10–14.
8. Navigational Algorithms - Vectorial equation of the circle of equal altitude. (2006). Andrés Ruiz
González, http://www.geocities.com/andresruizgonzalez
9. Max Kurtz. (1991) Handbook of Applied Mathematics for Engineers and Scientist. McGraw-Hill.
ISBN 07-035685-8
10. Stanley W. Gery. (1997). The Direct Fix Of Latitude And Longitude From Two Observed Altitudes.
NAVIGATION Vol. 44, No. 1.
11. James A. Van Allen. (1981). An Analytical Solution Of The Two Star Sight Problem Of Celestial
Navigation. NAVIGATION Vol. 28, No. 1.
12. Torben Kjer. (1981). Unambiguous two body fix methods derived from crystallographic principles.
NAVIGATION Vol. 28, No. 1.
13. Kotlaric. S. (1981). K-12 Method By Calculator: A Single Program For All Celestial Fixes, Directly
Or By Position Lines NAVIGATION Vol. 28, No. 1, 1981
14. Bennett G. G. (1979). General Conventions And Solutions-Their Use In Celestial Navigation.
NAVIGATION Vol. 26, No. 4.
15. Daub C. T. (1979). A Completely Programmable Method Of Celestial Navigation. NAVIGATION
Vol. 26, No. 1,
16. Ogilvie R. E. (1977) A New Method Of Celestial Navigation. NAVIGATION Vol. 24, No. 1
17. A’Hearn M. F., and G. S. Rossano. (1977) Two Body Fixes By Calculator. NAVIGATION Vol. 24,
No. 1
18. R. W. Flynn. (1972). Computer Sight Reduction Based On Intersection Of Equal Altitude Circles.
NAVIGATION Vol. 19, No. 1
19. Kotlaric Stjepo. (1971). New Short Method Tables (K11) For Direct Finding Of A Two Star Fix
Without Use Of Altitude Difference Method. NAVIGATION Vol. 18, No. 4
20. Earle, Michael A. (2000). A Vector Solution for Navigation on a Great Ellipse. The Journal of
Navigation, 53, 473–481.
21. Chih-Li Chen, Tien-Pen Hsu and Jiang-Ren Chang. (2004). A Novel Approach to Great Circle
Sailings: The Great Circle Equation. The Journal of Navigation, 57, 311–320.
22. Earle, Michael A. (2005). Vector Solutions for Great Circle Navigation. The Journal of Navigation,
58, 451–457.
23. Wei-Kuo Tseng and Hsuan-Shih Lee. (2007). The Vector Function for Distance Travelled in Great
Circle Navigation. The Journal of Navigation, 60, 158–164.
24. Wight, C. (1976). Direct Methods Of Latitude And Longitude Determination By Mini-Computer.
NAVIGATION Vol. 23, No. 2
25. Fox, C. (1975) Finding Latitude And Longitude By Calculators. NAVIGATION Vol. 22, No. 4
26. Dozier Charles T. (1949). A Simultaneous Two-Star Fix. NAVIGATION Vol. 2, No. 4, 1949
27. Little, Joseph W. (1967). An Engineering Approach To The Mathematics Of Celestial Navigation.
NAVIGATION Vol. 14, No. 3
Vector Solution for the Intersection of two Circles of Equal Altitude

A3. EXAMPLES
Two simultaneous sights
Date UT1 Body GHA Dec Ho
10/10/1990 19:32:36 Eltanin 43.195708 51.49344 45.50248
10/10/1990 19:33:03 Alphecca 78.832391 26.74654 31.17998
results:
GP1 (xyz) 0.453890851 -0.4261679 0.78253691
GP2 (xyz) 0.172957212 -0.87609689 0.450044483
Alpha 36.48192299
k1 0.840152453
k2 -0.15779189
OIc (xyz) 0.354046266 -0.21980502 0.586436933
L1 0.694570888
L2 -0.69457089
GP1xGP2_unit 0.830489865 -0.11592541 -0.54483748
I1 (xyz) 0.930880349 -0.30032343 0.208008679
I2 (xyz) -0.22278782 -0.1392866 0.964865188
I1 (BL) 12.00568121 -17.8808959 12º 0.3' N 17º 52.9' W
I2 (BL) 74.76697018 -147.98644 74º 46.01'N 147º 59.18'W

Running fix
Date UT1 Body GHA Dec Ho
05/05/2007 10:15:28 Sun LL 334.687032 16.205374 54.314509
05/05/2007 12:38:25 Sun LL 10.426691 16.233739 61.982844
C = 20º S = 10 kt
results:

iter error Be Le B1 L1 B2 L2 GHA1 (t2) dec1 (t2)


0 9.117738163 43.3166 -2 -9.466394 0.845506 43.361622 -2.199485 334.450283 16.53628
1 0.049268529 43.361622 -2.199485 -9.46644 0.8454 43.361382 -2.198405 334.449808 16.53567
2 0.000266894 43.361382 -2.198405 -9.466439 0.845401 43.361383 -2.19841 334.449811 16.53568
3 1.44577E-06 43.361383 -2.19841 -9.466439 0.845401 43.361383 -2.19841 334.449811 16.53568
4 7.82877E-09 43.361383 -2.19841 -9.466439 0.845401 43.361383 -2.19841 334.449811 16.53568

05/05/2007 12:38:25 Fix: 43º 21.7'N 002º 11.9'W


Vector Solution for the Intersection of two Circles of Equal Altitude

A4. C++ Source code


#include <math.h>

#define PI ((double)3.14159265358979)
#define DegRad(ang) ((double)((ang)*PI/180.0))
#define RadDeg(ang) ((double)((ang)*180.0/PI))
#define SIN(x) (sin(DegRad(x)))
#define COS(x) (cos(DegRad(x)))
#define ACOS(x) (RadDeg(acos(x)))
#define ATAN2(x,y) (RadDeg(atan2(x,y)))
#define SQ(x) ((double)((x)*(x)))

// General vector algebra functions


double Mod( double *x )
{
return( sqrt(x[0]*x[0]+x[1]*x[1]+x[2]*x[2]) );
}

double* Add( double *x, double *y )


{
double *z = new double[3];

z[0] = x[0]+y[0];
z[1] = x[1]+y[1];
z[2] = x[2]+y[2];

return( z );
}

double* aVector( double a, double *x )


{
double *z = new double[3];

z[0] = a*x[0];
z[1] = a*x[1];
z[2] = a*x[2];

return( z );
}

double* Unit( double *x ) { return( aVector( 1.0/Mod(x), x ) ); }

double Dot( double *x, double *y )


{
return( x[0]*y[0]+x[1]*y[1]+x[2]*y[2] );
}

double* Cross( double *x, double *y )


{
double *z = new double[3];

z[0] = x[1]*y[2]-x[2]*y[1];
z[1] = x[2]*y[0]-x[0]*y[2];
z[2] = x[0]*y[1]-x[1]*y[0];

return( z );
}
Vector Solution for the Intersection of two Circles of Equal Altitude

// Coordinate transformation functions


double* VectorEquatorial2Cartesian( double Dec, double GHA )
{
double *v = new double[3];
// unit vector
v[0] = COS( Dec )*COS( GHA );
v[1] = -COS( Dec )*SIN( GHA );
v[2] = SIN( Dec );

return( v );
}

void Cartesian2Geographical( double x, double y, double z, double* B, double* L )


{
*B = ATAN2( z, sqrt(x*x+y*y) );
*L = ATAN2( y, x );
}

// Vector Solution
void Fix2CoP( double GHA1, double dec1, double HO1,
double GHA2, double dec2, double HO2,
double* B1, double* L1, double* B2, double* L2 )
{
double *GP1, *GP2;
double *OI1, *OI2;
double alpha, k1, k2, l1, l2;
double *GP1l, *GP2l, *OIc;
double *IcI1, *IcI2, *GP1xGP2_unit;

GP1 = VectorEquatorial2Cartesian( dec1, GHA1 );


GP2 = VectorEquatorial2Cartesian( dec2, GHA2 );

alpha = ACOS( Dot( GP1, GP2 ) );

k1 = ( SIN(HO1) - SIN(HO2)*COS(alpha) )/SQ(SIN(alpha));


k2 = ( SIN(HO2) - SIN(HO1)*COS(alpha) )/SQ(SIN(alpha));
GP1l = aVector( k1, GP1 );
GP2l = aVector( k2, GP2 );

OIc = Add( GP1l, GP2l );


l1 = +sqrt( 1.0-Dot(OIc,OIc) );
l2 = -l1;
GP1xGP2_unit = Unit( Cross( GP1, GP2 ) );
IcI1 = aVector( l1, GP1xGP2_unit );
IcI2 = aVector( l2, GP1xGP2_unit );

OI1 = Add( IcI1, OIc );


Cartesian2Geographical( OI1[0], OI1[1], OI1[2], B1, L1 );
OI2 = Add( IcI2, OIc );
Cartesian2Geographical( OI2[0], OI2[1], OI2[2], B2, L2 );

delete[] GP1; delete[] GP2;


delete[] GP1l; delete[] GP2l;
delete[] OIc; delete[] GP1xGP2_unit;
delete[] IcI1; delete[] IcI2;
delete[] OI1; delete[] OI2;
}

You might also like