1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

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

  1. Apr 14, 2015 #1
    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 im stuck at how to find a point on that line as they're seems to be too many variables involved, Any help appreciated, thanks.
  2. jcsd
  3. Apr 14, 2015 #2


    Staff: Mentor

    Is this a homework assignment?
  4. Apr 14, 2015 #3
    No, it's a personal one, it's for a game.
  5. Apr 14, 2015 #4


    Staff: Mentor

  6. Apr 14, 2015 #5
    "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.
  7. Apr 14, 2015 #6


    Staff: Mentor

    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.
  8. Apr 14, 2015 #7
    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: Apr 14, 2015
  9. Apr 14, 2015 #8
    Say you have two normal vectors, [itex]\vec{n}_1 = (a_1, b_1, c_1), \vec{n}_2 = (a_2, b_2, c_2)[/itex] as well as two position vectors [itex]\vec{p}_1 = (x_1, y_1, z_1), \vec{p}_2 = (x_2, y_2, z_2)[/itex]. The intersection of two planes defined by these vectors is all position vectors [itex]\vec{x} = (x, y, z)[/itex] that satisfy
    (\vec{x} - \vec{p}_1) \cdot \vec{n}_1 = 0\\
    (\vec{x} - \vec{p}_2) \cdot \vec{n}_2 = 0\end{array}\right..
    [/tex]This is equivalent to solving the linear algebra problem[tex]\left [\begin{array}{ccc}
    a_1 & b_1 & c_1 \\
    a_2 & b_2 & c_2 \end{array}\right] \left [\begin{array}{ccc}x \\ y \\ z\end{array}\right] = \left [\begin{array}{ccc}
    \vec{p}_1 \cdot \vec{n_1} \\
    \vec{p}_2 \cdot \vec{n_2} \end{array}\right][/tex] which can be written as [itex]\vec A \vec x = \vec b[/itex].

    Assuming a solution exists (Rouché-Capelli theorem), the solution should be in the form [itex]\vec x = k \vec r + \vec p[/itex]. Hence [itex]\vec A (k \vec r + \vec p) = \vec b[/itex] where [itex]\vec p[/itex] is a particular solution and [itex]\vec r[/itex] is a homogeneous solution that spans the null space of [itex]\vec A[/itex]. As has been pointed out, [itex]\vec r = \vec{n}_1 \times \vec{n}_2, \vec{r} \neq \vec 0[/itex] 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 [itex]x = 0[/itex]. You then solve the equation
    [tex]\left [\begin{array}{ccc}
    b_1 & c_1 \\
    b_2 & c_2 \end{array}\right] \left [\begin{array}{ccc}y \\ z\end{array}\right] = \left [\begin{array}{ccc}
    \vec{p}_1 \cdot \vec{n_1} \\
    \vec{p}_2 \cdot \vec{n_2} \end{array}\right][/tex] to get a particular solution.

    Alternatively, you can get everything by reducing the augmented matrix [itex][\vec A|\vec b][/itex] to a reduced row echelon form. Then, each leading coefficient is located on a column [itex]i[/itex]. The [itex]i[/itex]th 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 [itex]j[/itex], with the [itex]j[/itex]th coordinate being 1. For instance, the augmented matrix

    [tex]\left [\begin{array}{ccc}
    1 & 2 & 3 & 5\\
    1 & 2 & 4 & 9\end{array}\right][/tex]has the reduced row echelon form
    [tex]\left [\begin{array}{ccc}
    1 & 2 & 0 & -7\\
    0 & 0 & 1 & 4\end{array}\right][/tex] hence the full solution is
    [tex]\vec x = \left [\begin{array}{ccc}
    -7\\0\\4\end{array}\right] + k
    \left [\begin{array}{ccc}
    Last edited: Apr 14, 2015
  10. Apr 14, 2015 #9
    Thanks everyone
  11. Apr 14, 2015 #10


    User Avatar
    Science Advisor

    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.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook