View Single Post
Feb8-08, 10:03 AM
P: 111
Sorry to butt in here but I'm curious to know whether the following
alternative solution derived from vector algebra is the same as the
elegant solution proposed by Office_Shredder:

Let [tex] \{x,y,z\} [/tex] be an orthonormal set of basis vectors
spanning 3D space, and let [tex] a [/tex] be
a unit vector specifying the initial point on the unit sphere:

[tex] a = Xx + Yy +Zz [/tex], where [tex] \{X,Y,Z\} [/tex] are just real numbers.

Following the suggestion in the previous posts,
[tex] a [/tex] can be specified in terms of spherical coordinates:

[tex] X=\sin{\theta}\cos{\phi}; \ Y=\sin{\theta}\sin{\phi}; \
Z=\cos{\theta} [/tex].

The plane tangent to the sphere at the point specified by [tex] \ a [/tex] is

[tex] P := xyza = Xyz +Yzx +Zxy [/tex].

Now define two orthonormal reference vectors in this plane:

[tex] e_1 = z \cdot P/ \left |z \cdot P \right | = (Yx - Xy)/t [/tex], where [tex]t = \sqrt{X^2 + Y^2}[/tex]

[tex] e_2 = (z \cdot P)P^{-1} \\
= (Yx - Xy)(Xzy + Yxz + Zyx) \\
= z - Za. [/tex]

The unit vectors [tex] (a, e_1, e_2) [/tex] comprise a set of orthonormal vectors.
The great circle dividing the sphere in half may now be specified by
defining a unit vector [tex]u[/tex] in terms of an angle
[tex] \tau, \ (0 \leq \tau \leq 2\pi) [/tex]:

[tex] u = e_1\ \cos{\tau} + e_2\ \sin{\tau} [/tex].

The great circle lies in the plane [tex] a\wedge u[/tex]. Any point on this
great circle can be expressed in terms of an angle
[tex] \beta, \ (0 \leq \beta \leq 2\pi) [/tex]
to define a vector r pointing from the origin to a point on the circle:

[tex] r(\beta) = a\ \cos{\beta} + u\ \sin{\beta} [/tex].

If the radius of the sphere is R, then simply multiply r by R.

This formula will fail if the starting point is on the z-axis. In this
case, one can develop an alternative formula by defining the reference
vectors with x instead of with z.

The above procedure should produce the same result as the one by
Office_Shredder but it does not require rotation matrices.