How to find a point on line of intersection of 2 planes?

AI Thread Summary
To find a point on the line of intersection of two planes, one can start by obtaining the normal vector through the cross product of the planes' normal vectors. The next step involves eliminating a variable by setting one coordinate, typically the one with the largest magnitude in the cross product, to zero and solving for the remaining coordinates. This approach simplifies the problem and avoids singularities. Additionally, using linear algebra techniques, such as reducing the augmented matrix to row echelon form, can help identify particular solutions. Ultimately, combining these methods allows for the effective determination of the intersection line's parametric form.
NotASmurf
Messages
150
Reaction score
2
Hey all, for some software I'm writing a sub problem of a bigger math problem I have is that I need to find the line of intersection of two planes, One can obtain the normal via the cross product but I am stuck at how to find a point on that line as they're seems to be too many variables involved, Any help appreciated, thanks.
 
Mathematics news on Phys.org
No, it's a personal one, it's for a game.
 
"I can see that both planes will have points for which x = 0." Is there no technique? "I can see" isn't very mathamatical. But thanks.
 
What do you mean by mathematical?

This is how people solve this sort of problem by find a point and the direction vector and putting them together to find the line.

This is easily converted to code.
 
So find variables with same coefficients or if not use lowest common multiple to get them common, then eliminate a variable, set z=t and express each component in terms of t, this avoids using cross product?

What if you have 2x+2y+z=6 and 3x+3y+2z=2
multiply eqn 1 by 3 and eqn 2 by 2
then you get 6x+6y+4z=4 and 6x+6y+3z=18

then the x's cancel but so do the y's then you get a numerical answer for z?? then do you set x or y as t then?
 
Last edited:
Say you have two normal vectors, \vec{n}_1 = (a_1, b_1, c_1), \vec{n}_2 = (a_2, b_2, c_2) as well as two position vectors \vec{p}_1 = (x_1, y_1, z_1), \vec{p}_2 = (x_2, y_2, z_2). The intersection of two planes defined by these vectors is all position vectors \vec{x} = (x, y, z) that satisfy
\left\{\begin{array}{ccc}<br /> (\vec{x} - \vec{p}_1) \cdot \vec{n}_1 = 0\\<br /> (\vec{x} - \vec{p}_2) \cdot \vec{n}_2 = 0\end{array}\right..<br />This is equivalent to solving the linear algebra problem\left [\begin{array}{ccc}<br /> a_1 &amp; b_1 &amp; c_1 \\<br /> a_2 &amp; b_2 &amp; c_2 \end{array}\right] \left [\begin{array}{ccc}x \\ y \\ z\end{array}\right] = \left [\begin{array}{ccc}<br /> \vec{p}_1 \cdot \vec{n_1} \\<br /> \vec{p}_2 \cdot \vec{n_2} \end{array}\right] which can be written as \vec A \vec x = \vec b.

Assuming a solution exists (Rouché-Capelli theorem), the solution should be in the form \vec x = k \vec r + \vec p. Hence \vec A (k \vec r + \vec p) = \vec b where \vec p is a particular solution and \vec r is a homogeneous solution that spans the null space of \vec A. As has been pointed out, \vec r = \vec{n}_1 \times \vec{n}_2, \vec{r} \neq \vec 0 is one such solution. In the case when the two normal vectors are parallel, then any non-zero vector spanned by the basis of one of the planes will do like say a vector projection of one of the standard unit vectors onto the plane (keep switching to find one that's non-zero).

To find a particular solution, simply remove a linearly dependent column vector and set it's corresponding variable to zero and solve the matrix equation. For instance, if the first column is linearly dependent, remove it and let x = 0. You then solve the equation
\left [\begin{array}{ccc}<br /> b_1 &amp; c_1 \\<br /> b_2 &amp; c_2 \end{array}\right] \left [\begin{array}{ccc}y \\ z\end{array}\right] = \left [\begin{array}{ccc}<br /> \vec{p}_1 \cdot \vec{n_1} \\<br /> \vec{p}_2 \cdot \vec{n_2} \end{array}\right] to get a particular solution.

EDIT:
Alternatively, you can get everything by reducing the augmented matrix [\vec A|\vec b] to a reduced row echelon form. Then, each leading coefficient is located on a column i. The ith coordinate of the particular solution is therefore the augmented element on the same row. The coordinates of the homogeneous solution is given by the negatively inverted value of the element on the same row in a linearly dependent column j, with the jth coordinate being 1. For instance, the augmented matrix

\left [\begin{array}{ccc}<br /> 1 &amp; 2 &amp; 3 &amp; 5\\<br /> 1 &amp; 2 &amp; 4 &amp; 9\end{array}\right]has the reduced row echelon form
\left [\begin{array}{ccc}<br /> 1 &amp; 2 &amp; 0 &amp; -7\\<br /> 0 &amp; 0 &amp; 1 &amp; 4\end{array}\right] hence the full solution is
\vec x = \left [\begin{array}{ccc}<br /> -7\\0\\4\end{array}\right] + k<br /> \left [\begin{array}{ccc}<br /> -2\\1\\0\end{array}\right]<br />
 
Last edited:
  • Like
Likes NotASmurf
Thanks everyone
 
  • #10
NotASmurf said:
Hey all, for some software I'm writing a sub problem of a bigger math problem I have is that I need to find the line of intersection of two planes, One can obtain the normal via the cross product but I am stuck at how to find a point on that line as they're seems to be too many variables involved, Any help appreciated, thanks.
Let (u,v,w) be the cross product. You want to find a point (x,y,z) so that (x,y,z)+t(u,v,w) is the parametric form of the line. Determine which coordinate among u,v,w has the largest magnitude. Let us say it is u. Then set x=0 in the expressions for the two planes and solve for y and z.

Using the coordinate with the largest magnitude avoids problems with singularities.

I noticed you decided to start a new post. I hope this clarifies it for you.
 
  • Like
Likes NotASmurf
Back
Top