Re: simple geometry problem




Duncan Muirhead wrote:

A common convention is to use a (left handed) "topocentric" coordinate
system U (north) V (east) and W (up). At a point with latitude phi
and longitude lambda (in radians), the topocentric coordinates are related
to the (right handed) geocentric cartesian coordinates X,Y,Z by
(U) = P2 * R2(phi-pi/2) *R3( lambda-pi)* (X)
(V) (Y)
(W) (Z)
where P2 is
( 1 0 0 )
( 0 -1 0)
( 0 0 1)
R2 is rotation about the y axis and R3 rotation about the
z axis
In the UVW coordinates your vector is (cos(alpha1), sin(alpha1), 0)
To get the XYZ coordinates of this you want to apply to this the
inverse of the above transformation, ie
R3(pi-lambda)*R2(pi/2-phi)*P2

Duncan
PS Exactly the same formulae hold if you model the earth
as an ellipsoid rather than a sphere, as long as you take the
latitude to be the geodetic latitude (the angle between the local
vertical and the plane of the equator) rather then the geocentric
latitude (the angle between the line from the centre of the earth to
the point and the plane of the equator).

Thanks! I had just found a way to rotate the "north" vector around the
normal vector to the plane, but your approach seems a lot simpler.

My actual problem is that I want to calculate the height of a passing
satellite from a set of observations (alt and azimuth at a certain
point in time) from two different locations. So I suppose this will
work? I construct a topocentric coordinate system for each of the two
locations, find the "viewing" line in each system, transform those to
the geocentric cartesian coordinate system, find the point where they
intersect (or where the distance is minimal) and calculate the distance
from that point to the earth surface?

Cheers
Piet

.



Relevant Pages


Quantcast