# [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.
>
>Fred
>
>	[[alternative HTML version deleted]]
>
>______________________________________________
>R-help at stat.math.ethz.ch mailing list
>https://www.stat.math.ethz.ch/mailman/listinfo/r-help