public void LineSegmentsDoNotIntersect() { Vector intersection; var actual = LineSegment.LineSegementsIntersect( new Vector(3, 0), new Vector(3, 4), new Vector(0, 5), new Vector(5, 5), out intersection); Assert.IsFalse(actual); }
public void LineSegmentsIntersect() { Vector intersection; var actual = LineSegment.LineSegementsIntersect( new Vector(0, 0), new Vector(5, 5), new Vector(0, 5), new Vector(5, 0), out intersection); Assert.IsTrue(actual); Assert.AreEqual(new Vector(2.5, 2.5), intersection); }
public void LineSegmentsAreCollinearAndOverlapping() { Vector intersection; var actual = LineSegment.LineSegementsIntersect( new Vector(0, 0), new Vector(2, 0), new Vector(1, 0), new Vector(3, 0), out intersection, considerOverlapAsIntersect: true); Assert.IsTrue(actual); Assert.AreEqual(double.NaN, intersection.X); Assert.AreEqual(double.NaN, intersection.Y); }