Python Line Intersection
John Nagle
nagle at animats.com
Fri Apr 9 20:43:52 CEST 2010
Chris Rebert wrote:
> On Fri, Apr 9, 2010 at 8:04 AM, Peyman Askari <peter_peyman_puk at yahoo.ca> wrote:
>> Hello
>>
>> This is partly Python related, although it might end up being more math related.
>>
>> I am using PyGTK (GUI builder for Python) and I need to find the intersection point for two lines. It is easy to do, even if you only have the four points describing line segments (http://www.maths.abdn.ac.uk/~igc/tch/eg1006/notes/node23.html). However, it requires that you solve for two equations. How can I do this in Python, either solve equations, or calculating intersection points some other way?
>
>
> Just solve the equations ahead of time by using generic ones.
>
> Given:
> y = mx + b
> y = nx + c
>
> We set them equal and solve for x:
> mx + b = nx + c
> mx - nx = c - b
> (m-n)x = c - b
> x = (c - b) / (m-n)
Actually, you don't want to do it that way, because it fails for vertical
lines, when m and n go to infinity.
See Wikipedia for the usual solution, given points on both lines:
http://en.wikipedia.org/wiki/Line-line_intersection
This is done all the time in computer graphics work.
John Nagle
More information about the Python-list
mailing list