Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

A 'simple' vector problem - where a line meets a plane

  1. Feb 24, 2012 #1
    Hi all,
    I am a little stuck on a problem I'm trying to solve for something I'm programming.
    I'm trying to find the point at which a line meets a plane.

    The line is defined as [itex]\vec{x} = \vec{a}+d\vec{l}[/itex]
    where [itex]\vec{a}[/itex] is a point on the line, [itex]\vec{l}[/itex] is a unit vector defining the direction of the line and d is the distance along the line.

    The plane is defined using a point [itex]\vec{x_{0}}[/itex] and normal [itex]\vec{n}[/itex] as [itex]\vec{n}.\left(\vec{x}-\vec{x_{0}}\right)=0[/itex]

    I want to sub in my line equation into my plane equation and solve for [itex]d[/itex] to get [itex]\vec{x}[/itex] but my vector algebra is very rusty and I cant for the life of me figure out how to get my [itex]d[/itex] out.

    The funny thing is I used a similar method to find where a line intersects a sphere with equation [itex]\left|\vec{x}-\vec{c}\right|^{2}=R^{2}[/itex] ([itex]\vec{c}[/itex] = centre, [itex]R[/itex] = radius) and subbed in no problems. But that dot product in the plane equation is just confusing me.

    Has anyone got any suggestions for me to follow?
    Many thanks!
  2. jcsd
  3. Feb 24, 2012 #2


    User Avatar
    Science Advisor

    Two vectors are perpendicular if and only if their dot product is 0. If x and x0 are both points in the plane, then the vector x- x0 lies in the plane so the dot product is just saying that the normal, n and the vector x- x0 are perpendicular- which is the definition of "normal vector"!) Suppose the normal vector, n, is given by <A, B, C>, the generic point x by (x, y, z), and the point x[sub0[/sub by <x0, y0, z0>. Then x- x0 is <x- x0, y- y0, z- z0> so the dot product is A(x- x0)+ B(y- y0), C(z- z0)= 0.

    Now suppose [itex]\vec{a}= <a_1, a_2, a_3>[/itex] and [itex]\vec{l}= <l_1, l_2, l_3>[/itex] so that the line [itex]\vec{x}= <a_1, a_2, a_3>+ d<l_1, l_2, l_3>= <a_1+ dl_1, a_2+ dl_2, a_3+ dl_3>[/itex]. Okay, put those components in for x, y, and z in the equation of the plane: [itex]A(a_1+ dl_1x_0)+ B(a_2+ dl_2y_0)+ C(a_3+ dl_3z_0)= 0[/itex]

    Multiplying that out, [itex]Aa_1+ Adl_1x_0+ Ba_2+ Bdl_2y_0+ Ca_3+ Cdl_3z_0= 0[/itex]

    Moving everything that does not involve "d" to the right, and factoring d out,
    [itex](Al_1x_0+ Bl_2y_0+ Cl_3z_0)d= -(Aa_1+ Ba_2+ Ca_3)[/itex]

    Now, of course, divide both sides by [itex](Al_1x_0+ Bl_2y_0+ Cl_3z_0)[/itex] to solve for d.

    Finally, put that value of d int0 the formula for the line to determine the point of intersection.
  4. Feb 25, 2012 #3
    Brilliant! Thank you for this, not sure why I didn't think of splitting into the different compenents :)

    edit: For anyone interested I simplified the end result into

    [itex]d= \frac{\vec{n}.(\vec{x_{0}}-\vec{a})}{\vec{n}.\vec{l}}[/itex]
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook