You are given two straight line segments, each defined by the coordinates of its endpoints. Segment AB goes from (Ax,Ay) to (Bx,By) and segment CD - from (Cx,Cy) to (Dx,Dy).
How would you determine if the two line segments intersect?
(Assume that you can't just draw the lines and see)
(In reply to No Code, just theory
Indeed descriptions in English are just as valid as descriptions in computer language.
However I find a problem with
"Using the points given, find the Slope of each line - call them mAB and mCD. You'd need a check to see if |mAB| = |mCD| but that's a trivial case."
I don't see the use of the absolute value indications. If one has slope 2 and the other has slope -2, it's the ordinary case of seeing where they intersect.
Also even if the slopes are themselves the same, the lines could be either parallel or the same line. If parallel they don't intersect. If they are the same line, you have to check if the endpoint of either is located between the two endpoints of the other. If so, there's an extended intersection (in the set theory definition of intersection, as they share not only 1 but many points).
Likewise your solution considers one of the lines' being vertical, but there is the possibility that both are vertical, with the same considerations as other lines with the same slope.
Your solution, with the addition of the above, are basically what the code in Algebraic Solution did. And specifying it in English is fine.
Posted by Charlie
on 2003-07-03 03:15:44