This note does not offer a better method
than Prof Ramsey's for calculating the
angle between planes. Instead it simply
offers some comments for students on
such solutions as Bill Owens's & John
Ramsey's.
In our natural space, calculating the
angle between two planes is a problem
dual to that of calculating the angle
between two lines. One need only choose
vectors perpendicular to rather than
within the planes.
Numerical stability
When using computers, it is always
prudent to print the critical
intermediate values, such as the sine of
the dip & cosine of the strike, to be
sure that one is not so small & one so
large that their product loses
significance.
Using spans
Geologists who calculate stresses &
strains may have an algorithm for the
singular-value decomposition on a
computer. One could then continue in the
manner of Bill Owens, using two vectors
(such as traces on cliff faces) rather
than a polar vector to define a plane.
Angles between subspaces
The best rotation of one linear subspace
into another has been addressed by
statisticians, who call this the
orthogonal procrustes problem. It is
commonly solved by linear analysts using
the singular-value decomposition, whose
algorithm you may use frequently.
References
Bjorck, A., & G.H. Golub, 1973.
Numerical methods for computing angles
between linear subspaces. Math. Comp.
v27, p. 579-94.
See also,
Golub, G.H., & C.F. van Loan, 1983.
Matrix Computations. Baltimore, MD: The
Johns Hopkins University Press. Cf. sec.
12.4.
Algorithm
Implementations of the SVD in Fortran 77
are usually based upon Chan's revision
of the Golub-Reinsch algorithm of 1982:
http://www.netlib.org/toms/581,
Software
and open source packages (not for
Microsoft) can be found in
http://www.netlib.org/netbuild/packages/linpack,
or
http://packages.debian.org/unstable/libs/lapack.html.
Bruce Bathurst
PS. The map of the first plane to the
second is a rotation about their axis of
intersection. The angle is defined as
the smallest that map vectors in each:
this will have the largest cosine, which
is the largest singular value of the 3x3
matrix mapping one 2x3 matrix of column
vectors to another. Because the matrix
is skew symmetric (aka curl), it has two
singular values of equal values and the
angle is unique. A geometrical
explanation I leave to someone
competent.
|