C
L
O
S
E
3
|
great circle general equation is
-sin(delta) *cos(lambdaV)*sin(phiV-phiK)
-cos(delta)*sin(lambdaK)*cos(lambdaV)*cos(phiV-phiK)
+cos(delta)*cos(lambdaK)*sin(lambdaV) = 0
where
delta = great circle direction angle at city one,
(start point) angle measured with East as
zero degree. North is positive (S. is neg)
phiK is Konstant value, start point Longitude value.
lambdaK Konstant value, start point Latitude value.
phiV =Longitude Variable on great circle
lambdaV=Latitude Variable on great circle
Two variables lambdaV and phiV
one equation (great circle general equation)
result in one degree of freedom movement.
All angle must be in Radian. 2006-01-23-12-27
If [phiV, lambdaV] given at city two, then delta can
be solved.
delta=
arctan{[tan(lambdaV)*cos(lambdaK)
-cos(phiV-phiK)*sin(lambdaK)
]/sin(phiV-phiK)}
require great circle not go through two poles. If it
does, phiV=phiK, sin(phiV-phiK)=0, delta undefined.
2006-01-23-13-00
Angle of Earth center to two cities:
theta=arccos[cos(lambda2)*cos(lambda1)
*cos(phi1-phi2)
+sin(lambda1)*sin(lambda2)
]
where
(phi1,lambda1) first city location
(phi2,lambda2) second city location
phi: Longitude, lambda: Latitude
Please verify above three equations.
2006-01-23-13-18
Above is point-on-circle-based equation.
Which varies when city1 change location.
Below is polar-point-based equation.
Which never change for a given circle.
xp*[cos(phiV)*cos(lambdaV)]
+yp*[sin(phiV)*cos(lambdaV)]
+zp*[sin(lambdaV)]
=0;
Above equation is coded as next
for locus point error
err1=poleX*cos(phi3)*cos(lam3)
+poleY*sin(phi3)*cos(lam3)
+poleZ*sin(lam3);//9505021918 err1
for city one error
pt1=poleX*cos(phi1Lon)*cos(lam1Lat)
+poleY*sin(phi1Lon)*cos(lam1Lat)
+poleZ*sin(lam1Lat);
poleX==xp: eq. C04 below
poleY==yp: eq. C05
poleZ==zp: eq. C06
Polar point has two expressions
Expression one
If assign tilt great circle polar point
location on earth coordiante
Tilt polar point
P=[Lon,Lat]=[PHIp,LAMBDAp]
Above spherical coordinate.
Below x,y,z cartesian coordinate.
xp=cos(PHIp)*cos(LAMBDAp)
yp=sin(PHIp)*cos(LAMBDAp)
zp=sin(LAMBDAp)
Above find polar point with its own Lon/Lat value.
below find polar point from starting point on circle.
(use a on-circle point find NOT-on-circle polar point)
Expression two
If assign tilt great circle start point
[PHI,LAMBDA] this point is on circle.
Polar point (NOT ON CIRCLE) xyz coord. is
xp= ..... eq. C04
+cos(PHI)*cos(LAMBDA)*sin(earthAngle)
-cos(PHI)*sin(LAMBDA)*cos(eastAngle)*cos(earthAngle)
+sin(PHI)*sin(eastAngle)*cos(earthAngle)
yp= ..... eq. C05
+sin(PHI)*cos(LAMBDA)*sin(earthAngle)
-sin(PHI)*sin(LAMBDA)*cos(eastAngle)*cos(earthAngle)
-cos(PHI)*sin(eastAngle)*cos(earthAngle)
zp= ..... eq. C06
+sin(LAMBDA)*sin(earthAngle)
+cos(LAMBDA)*cos(eastAngle)*cos(earthAngle)
Above is small circle polar point equation.
For great circle set earthAngle=0 degree.
eastAngle is east deviation angle of great
circle at city 1 [Lon,Lat]:[PHI,LAMBDA].
This file use Expression two to find
great circle equation.
xp*xr+yp*yr+zp*zr=sin(earthAngle)=0
eq. C04, eq. C05, eq. C06 are copied from
small circle section.
earthAngle not =0 is for small circle.
earthAngle =0 is for great circle.
This page is great circle page,
set earthAngle (alpha) = 0.
Point on circle spherical coordinate is
P=[Lon,Lat]=[phiV,lambdaV]
Point on circle cartesian coordinate is
xr=cos(phiV)*cos(lambdaV)
yr=sin(phiV)*cos(lambdaV)
zr=sin(lambdaV)
where 'r' indicate 'Radius point'
Next are three different points
(PHIp,LAMBDAp) is polar point coordinate.
(polar point is NOT on circle)
(PHI, LAMBDA) is on-circle start point
Start point decide great circle
(phiV, lambdaV) is on-circle moving point
'V' indicate Variable value.
Relative to moving point, starting point is
a constant point.
Relative to polar point, starting point is
a point can-be-varied.
There are infinite many on-circle point can
act as a starting point, create great circle
equaiton which has infinite many face.
There is only one polar point for a given
great circle. Polar point created great
circle equaiton which has only ONE face.
Selection button above box1, 'ErrO' is a
picture symble for on circle ('O') point.
'Err*' is a picture symble for Polar ('*')
point.
'Err' is an evaluation of moving point
relative to great circle equation created.
If point is on circle, error is zero.
5.5511151e-17 or 1.1102230e-16 IS zero.
For a given great circle, its polar point
is calculated with numerical value.
Moving Radius point xr,yr,zr retain
variable form,
Polar-point-based equation
(constant face) is next
xp*[cos(phiV)*cos(lambdaV)]
+yp*[sin(phiV)*cos(lambdaV)]
+zp*[sin(lambdaV)]
=0
where
xp: eq. C04
yp: eq. C05
zp: eq. C06
9505021721
95,04,28,15,59
.....
Pole point P=[Lon,Lat]=[PHIp,LAMBDAp]
xp=cos(PHIp)*cos(LAMBDAp)
yp=sin(PHIp)*cos(LAMBDAp)
zp=sin(LAMBDAp)
above uppercase constant
below lowercase variable
Radius point P=[Lon,Lat]=[phiV,lambdaV]
xr=cos(phiV)*cos(lambdaV)
yr=sin(phiV)*cos(lambdaV)
zr=sin(lambdaV)
moving point vector dot circle axis vector
get
xp*xr+yp*yr+zp*zr=sin(alpha)
alpha=earth angle,
angle of circle deviate from earth center.
if earth angle not = 0, it is small circle
[-------constant------] [------variable------]
cos(PHIp)*cos(LAMBDAp)*cos(phiV)*cos(lambdaV)
+sin(PHIp)*cos(LAMBDAp)*sin(phiV)*cos(lambdaV)
+sin(LAMBDAp) *sin(lambdaV)
=sin(alpha)
[-------constant------] [------variable------]
95,04,28,16,08
for great circle (alpha)=0 => sin(alpha)=0 !!
95,04,28,16,14 that is right
when it become great circle
radius vector perpendicular to
circle axis vector
dot product is zero
xp*xr+yp*yr+zp*zr=sin(alpha)
sin(alpha) is not circle radius [=cos(alpha)]
sin(alpha) is circle center to
earth center distance
sin(alpha) is CONSTANT for a given radius
small circle. All points on small circle
have same earth angle alpha
95,04,28,16,16
CONSTANT great circle equaiton.
poleX*cos(phiV)*cos(lambdaV)
+poleY*sin(phiV)*cos(lambdaV)
+poleZ*sin(lambdaV)
=sin(alpha)=sin(0)=0
(phiV,lambdaV)=moving point lon/lat value
|