PDA

View Full Version : Intersection of two lines


ross
Oct14-04, 03:19 PM
I'm using the following equation to represent lines

(x, y) = (start_x, start_y) + t((end_x, end_y) - (start_x, start_y))

I'm trying to find the interesection point of two lines written in this form.

I have been able to solve for t and plug it back into the equation, but i get two values of t when i solve for it. So that gives me 2 possible x values and 2 possible y values in the end. One x value is correct, and one y value is correct, but I get a wrong x value and a wrong y value.

I'm wondering if theres a totally different way, or a way to get rid of the x and y value that I don't need.

Thanks.

arildno
Oct14-04, 03:40 PM
Welcome to PF!
You are going about this in a fundamentally wrong way.
The parameter "t" need not have the same value at the point of intersection for each line!!
What you need, is to solve a 2*2 system of two unknowns, the two parametrization variables:
Let superscript "1" denote Line 1 expression, "2" Line 2 expression.
Then we may write:
(x,y)=(x^{1}_{0},y^{1}_{0})+t^{1}(x_{1}^{1}-x_{0}^{1}, y_{1}^{1}-y_{0}^{1})
And line 2:
(x,y)=(x^{2}_{0},y^{2}_{0})+t^{2}(x_{1}^{2}-x_{0}^{2}, y_{1}^{2}-y_{0}^{2})
Set these expressions equal to each other, and solve for t^{1},t^{2}

You may also eliminate the parametrization variable, and solve the following system
for x and y:
y=a^{1}x+b^{1}
y=a^{2}x+b^{2}

ross
Oct14-04, 08:47 PM
Ok, thanks.

What I ended up doing was turning the (x, y) = (a, b) + t(c - a, d - b) into y = mx + b. Then I solved for x and y.

The reason I wanted t was to know whether the intersection was actually between the two points (0 <= t <= 1). But I can just plug the point I found back into the first equation and solve for t.

x = a + t(c - a)
t = (x - a) / (c - a)