Computes the intersection point of two lines. If the lines are parallel or collinear this case is detected and
null is returned.
In general it is not possible to accurately compute the intersection point of two lines, due to numerical roundoff. This is particularly true when the input lines are nearly parallel. This routine uses numerical conditioning on the input values to ensure that the computed value should be very close to the correct value.
-
Parameters:
-
p1 - p1 an endpoint of line 1
-
p2 - p2 an endpoint of line 1
-
q1 - q1 an endpoint of line 2
-
q2 - q2 an endpoint of line 2
-
See also:
-
CGAlgorithmsDD#intersection(Coordinate, Coordinate, Coordinate, Coordinate)
-
Returns:
-
the intersection point between the lines, if there is one, or null if the lines are parallel or collinear