I have a vector with position $O=(o_1,o_2,o_3)$ and direction $D=(d_1,d_2,d_3)$ and a plane determined by 3 points $A=(a_1,a_2,a_3),B=(b_1,b_2,b_3),C=(c_1,c_2,c_3)$.

In which point will the vector intersect the plane?

  • 1
    $\begingroup$ Have you read this? $\endgroup$ Jan 19, 2012 at 13:38

3 Answers 3


An outline of one method to find the point of intersection:

First find the equations of the line and the plane

A parameterization of the line is $$\tag{1} (x,y,z)= (o_1+d_1 t\, , o_2+d_2 t\,, o_3+d_3 t ),\quad -\infty<t<\infty. $$

To find an equation of the plane, take the cross product of the vectors $A-B$ and $B-C$. This will give you a normal vector to the plane: $(N_1, N_2, N_3)$. The equation of the plane is then, using $A$ as a point on the plane: $$\tag{2} N_1(x-a_1)+N_2(y-a_2)+N_3(z-a_3)=0. $$

Now, to find the point of intersection, substitute the information from $(1)$ $$ x=o_1+d_1 t , \quad y= o_2+d_2 t\quad z= o_3+d_3 t $$ into $(2)$ and solve for $t$. Then substitute this value of $t$ into $(1)$ to find the coordinates of the point.

I'm assuming there is a point of intersection. There may not be, or there may be infinitely many...

  • 1
    $\begingroup$ worked like a charm! thanks a lot! $\endgroup$
    – Alex
    Jan 19, 2012 at 15:18
  • 1
    $\begingroup$ I found it very helpful too. +1 $\endgroup$
    – cangrejo
    Jan 30, 2014 at 16:23

An alternative method is to describe the line and plane as follows:

The plane can be described as a vector $\vec{x}$ which is the sum of two vectors on the plane $\vec{q_1} = \vec{A} - \vec{B}$, and $\vec{q_2} = \vec{A}-\vec{C}$ scaled by arbitrary parameters $\lambda$ and $\mu$.

$$\vec{x} = \vec{A} + \lambda \vec{q_1} + \mu \vec{q_2}$$

The line can also be described as the vector $\vec{y}$ using another paramater $t$.

$$\vec{y} = \vec{O} + \vec{D} t$$

To find out where the line intersects the plane, solve for $\vec{x} = \vec{y}$. This gives us three equations in which we can find the three parameters. In matrix form this looks like:

$$\begin{bmatrix} q_{1,x} & q_{2,x} & -d_1\\ q_{1,y} & q_{2,y} & -d_2\\ q_{1,z} & q_{2,z} & -d_3 \end{bmatrix} \begin{pmatrix} \lambda\\ \mu\\ t \end{pmatrix} = \begin{pmatrix} o_1 - a_1\\ o_2 - a_2\\ o_3 - a_3 \end{pmatrix} $$

Invert the matrix to find the parameters $\lambda$, $\mu$, and $t$. Once you know $t$ you can plug it into the equation for $\vec{y}$ and that will be your point of intersection.


A point on your plane is $A$, and two direction vectors that lie in your plane are $B-A$ and $C-A$, so any point on the plane can be written as $A + \lambda(B-A) + \mu(C-A)$, where $\lambda, \mu$ are some real numbers. This can be rewritten as $(1-\lambda-\mu)A + \lambda B + \mu C$, or equivalently $\alpha A + \beta B + \gamma C$ where $\alpha + \beta + \gamma = 1$.

So you need to find $k$ such that $kD$ can be written in the form $\alpha A + \beta B + \gamma C$ where $\alpha + \beta + \gamma = 1$. Then $kD$ is the point of intersection.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .