[R] How to get the normal direction to a plane?

Spencer Graves spencer.graves at pdf.com
Sat Jul 3 00:18:04 CEST 2004

      While we need 3 points to determine a line, we need only 2 
vectors, provided they both have the same origin and differ in direction 
not just magnitude;  this latter condition is the same as saying that 
the 3 points can not lie on a line. 

      To apply this, suppose a, b, and c are 3 vectors in k-space, and 
let X = the k x 2 matrix with columns b-a and c-a.  By the assumption 
that the three points do not lie on a line, the matrix X has rank 2, so 
X'X is nonsingular.  Let P = X*inv(X'X)X'.  Note that P is idempotent, 
i.e., P*P = P.  Further, note that Pz is a vector in the column space of 
X, for any k-vector z.  Further, (I-P) is also idempotent and projects 
any vector onto the subspace orthogonal to P.  Thus, (I-P)z will be 
orthogonal to P and therefore also orthogonal to X, for any k-vector z. 

      This discussion reveals a subtle flaw in the logic as stated 
(which I didn't see until I worked the exercise):  Only in the case 
where k = 3 is there only one direction that is orthogonal to this 
plane.  In general, there are (k-2) such directions.  For more 
information, see any good book on finite dimensional vector spaces such 
as Halmos (1974), or Google this or see ?svd or ?qr or the references 
cited therein. 

      hope this helps.  spencer graves

Fred wrote:

>Dear All
>Maybe the following is a stupid question.
>Assume I have 3 coordinate points (not limited to be in 2D or 3D space)
>a, b, c.
>It is known that these 3 points will define a plane.
>The problem is how to get the normal direction that is orthogonal to
>this plane.
>Is there an easy way to calculate it using the values of a, b, and c?
>Thanks for any point or help on this.
>	[[alternative HTML version deleted]]
>R-help at stat.math.ethz.ch mailing list
>PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

More information about the R-help mailing list