How to project a 3D plane on to another 3D plane by linear algebra

143 Views Asked by At

I have two 3D planes represented by their <surface normal, one point>:

Plane_1 = <N1, V1> 
Plane_2 = <N2, V2>

Then I want to project the Plane_1 onto the Plane_2 along Plane_1's surface normal direction N1.

Let a1, b1, and c1 are points on the Plane_1. After projection, what are the corresponding locations of a2, b2 and c2?

I know one solution is constructing a ray R1 starting at a1 with direction N1. Then a2 is the intersection of R1 and Plane_2. However, if there is a matrix or another elegant representation of the results of this projection?

Thank you for any reply!

1

There are 1 best solutions below

1
On

The projector of a point $\mathbf{P} (x, y, z)$ onto a plane (the second plane) along the direction of the normal of the first plane $\mathbf{d}$ is given by

$ \mathbf{Q} = \mathbf{P_0} + (\mathbf{I} - \dfrac{\mathbf{dn}^T}{\mathbf{d}^T \mathbf{n}} ) ( \mathbf{P} - \mathbf{P_0}) $

where $\mathbf{P_0}$ is any point on the second plane, and $\mathbf{n}$ is the normal vector of the second plane, while $\mathbf{d}$ is the unit vector of the first plane.