Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

If given 2 lines $\alpha$ and $\beta$, that are created by

  1. 2 points: A and B
  2. 2 plane intersection

I want to find shortest distance between them.

$$\left\{\begin{array}{c} P_1=x_1X+y_1Y+z_1Z+C=0 \\ P_2=x_2X+y_2Y+z_2Z+C=0\end{array}\right.$$
$$A=\left(x_3;y_3;z_3\right)$$
$$B=\left(x_4;y_4;z_4\right)$$
$$\alpha =n_1\times n_2=\left(\left|\begin{array}{cc} y_1 & z_1 \\ y_2 & z_2\end{array}\right|;-\left|\begin{array}{cc} x_1 & z_1 \\ x_2 & z_2\end{array}\right|;\left|\begin{array}{cc} x_1 & y_1 \\ x_2 & y_2\end{array}\right|\right)$$
$$\beta =$$

From here I tried:

The question of "shortest distance" is only interesting in the skew case. Let's say p0 and p1 are points on the lines L0 and L1, respectively. Also d0 and d1 are the direction vectors of L0 and L1, respectively. The shortest distance is (p0 - p1) * , in which * is dot product, and is the normalized cross product. The point on L0 that is nearest to L1 is p0 + d0(((p1 - p0) * k) / (d0 * k)), in which k is d1 x d0 x d1.

Read more: http://wiki.answers.com/Q/If_the_shortest_distance_between_two_points_is_a_straight_line_what_is_the_shortest_distance_between_two_straight_lines#ixzz17fAWKFst

I tried, but failed.

share|improve this question
    
What do you mean 2 planes intersection? If two planes intersect in $\mathbb{R}^3$ they can only create a line. –  Jon Beardsley Dec 10 '10 at 0:23
    
@JBeardz Sorry, I made this unclear ... It is totally unimportant. I'm looking for a way to find shortest distance of 2 lines in 3D. –  Margus Dec 10 '10 at 0:48
    
The wiki answers page you cite and quote looks to me like a failed copy/paste of something else—the symbols don't make sense to me in the way that they are arranged, suggesting to me that something is missing or out of place. I think the Wikipedia article to which I link in my answer is probably a better resource. –  Isaac Dec 10 '10 at 1:12
    
@Isaac Yes. I'm now struggling to remember how to find $\vec{X_1}$ in case of planes. It would be most helpful, if you could show that. –  Margus Dec 10 '10 at 1:58
    
@Margus: Interestingly, I was trying to remember the same thing when I was thinking about my answer. One way you could try is to pick some arbitrary value of one variable, say $z=0$, and solve the system of the two plane equations with that value to find the corresponding $x$ and $y$ coordinates. –  Isaac Dec 10 '10 at 2:05
show 1 more comment

2 Answers

up vote 3 down vote accepted

Per this wikipedia article, if your lines are $\vec{X}=\vec{X_1}+t\vec{D_1}$ and $\vec{X}=\vec{X_2}+t\vec{D_2}$, the distance between them is $$\left|\frac{\vec{D_1}\times\vec{D_2}}{|\vec{D_1}\times\vec{D_2}|}\cdot(\vec{X_1}-\vec{X_2})\right|.$$

share|improve this answer
add comment

Say you have two lines $\vec L_1 = \vec X_1 + t\vec D_1$ and $\vec L_2 = \vec X_2 + t\vec D_2$.

Start with $(\vec X_1 - \vec X_2)$, which is a skew (non-perpendicular) segment from one line to the other. The distance from $\vec L_1$ to $\vec L_2$ is the component of $(\vec X_1 - \vec X_2)$ that is perpendicular to the lines $\vec L_1$ and $\vec L_2$. We can find this direction by taking the cross product $(\vec L_1 \times \vec L_2)$. After normalizing by dividing by the norm $|\vec L_1 \times \vec L_2|$, take the dot product with $(\vec X_1 - \vec X_2)$ to find the length of the component.

The distance is therefore $$ \left|\frac{\vec{D_1}\times\vec{D_2}}{|\vec{D_1}\times\vec{D_2}|}\cdot(\vec{X_1}-\vec{X_2})\right| = \frac{\left|(\vec{D_1}\times\vec{D_2})\cdot(\vec{X_1}-\vec{X_2})\right|}{|\vec{D_1}\times\vec{D_2}|}. $$

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.