public void KtLine2DTest2() { var line = new KtLine2D(-3, 12, 5); Assert.AreEqual(line.A, -3); Assert.AreEqual(line.B, 12); Assert.AreEqual(line.C, 5); var line2 = new KtLine2D(1, 2, 4); Assert.AreEqual(line2.A, 1); Assert.AreEqual(line2.B, 2); Assert.AreEqual(line2.C, 4); var line3 = new KtLine2D(0, 2, 4); Assert.AreEqual(line3.A, 0); Assert.AreEqual(line3.B, 2); Assert.AreEqual(line3.C, 4); var line4 = new KtLine2D(-1, 0, 4); Assert.AreEqual(line4.A, -1); Assert.AreEqual(line4.B, 0); Assert.AreEqual(line4.C, 4); var line5 = new KtLine2D(-1, -4, 0); Assert.AreEqual(line5.A, -1); Assert.AreEqual(line5.B, -4); Assert.AreEqual(line5.C, 0); }
public void InsectionHorizontalSegmentWithYAxis2() { var segment = new KtSegment2D(-3, 3, 5, 3); var yaxis = KtLine2D.YAxis(); Assert.AreEqual(yaxis.IntersectionWith(segment), new KtPoint2D(0, 3)); }
public void KtLine2DTest1() { var start = new KtPoint2D(1, 2); var end = new KtPoint2D(3, 4); var line = new KtLine2D(1, 2, 3, 4); Assert.AreEqual(line.Start, start); Assert.AreEqual(line.End, end); }
public void IntersectionTest() { var line3 = new KtLine2D(3.0 / 4.0, -1, 0); var line2 = new KtLine2D(100, -1, 75 * 100); #pragma warning disable CS0618 // Type or member is obsolete Assert.AreEqual(line3.IntersectWith3(line2), new KtPoint2D(30000.0 / 397.0, 22500.0 / 397.0)); #pragma warning restore CS0618 // Type or member is obsolete }
public void CreateAxisTest() { var line = KtLine2D.YAxis(); Assert.AreEqual(line, new KtLine2D(0, 0, 0, 12)); var line2 = KtLine2D.XAxis(); Assert.AreEqual(line2, new KtLine2D(0, 0, 12, 0)); }
public void InlineTest() { var line = new KtLine2D(1, 2, 4, 5); Assert.IsTrue(line.Inline(line.Start)); Assert.IsTrue(line.Inline(line.End)); Assert.IsTrue(line.Inline(new KtPoint2D(13, 14))); Assert.IsFalse(line.Inline(new KtPoint2D(-4, 20))); }
public void InsectionHorizontalSegmentWithYAxis() { var segment = new KtSegment2D(-3, 3, 5, 3); var yaxis = KtLine2D.YAxis(); #pragma warning disable CS0618 // Type or member is obsolete Assert.AreEqual(yaxis.IntersectWith3(segment), new KtPoint2D(0, 3)); #pragma warning restore CS0618 // Type or member is obsolete }
public void Inequality() { var line = new KtLine2D(0, 0, 20, 1); var segment = new KtSegment2D(0, 0, 20, 1); var ray = new KtRay2D(new KtPoint2D(0, 0), new KtPoint2D(20, 1)); Assert.AreNotEqual(line, segment); Assert.AreNotEqual(line, ray); Assert.AreNotEqual(segment, ray); }
public void TestIntersectionsOfLineTypes() { var line = new KtLine2D(2, 4, 5); var segment = new KtSegment2D(0, 2, 30, 4); #pragma warning disable CS0618 // Type or member is obsolete Assert.AreEqual(line.IntersectWith3(segment), null); segment = new KtSegment2D(0, 4, -2, 2); Assert.AreEqual(line.IntersectWith3(segment), new KtPoint2D(-11.0 / 6, 13.0 / 6)); segment = new KtSegment2D(-2, 2, 0, 4); Assert.AreEqual(line.IntersectWith3(segment), new KtPoint2D(-11.0 / 6, 13.0 / 6)); var ray = new KtRay2D(new KtPoint2D(0, 2), new KtVector2D(1, 2)); Assert.AreEqual(line.IntersectWith3(ray), null); ray = new KtRay2D(new KtPoint2D(0, 2), new KtVector2D(1, -2)); Assert.AreEqual(line.IntersectWith3(ray), new KtPoint2D(.5, 1.0)); var yaxis = KtLine2D.YAxis(); var line2 = new KtRay2D(new KtPoint2D(0, 20), new KtVector2D(3, 4)); Assert.AreEqual(yaxis.IntersectWith3(line2), new KtPoint2D(0, 20)); var line45 = new KtRay2D(new KtPoint2D(), new KtVector2D(30, 30)); var line45N = new KtRay2D(new KtPoint2D(0, 50), new KtVector2D(30, -30)); Assert.AreEqual(line45.IntersectWith3(line45N), new KtPoint2D(25, 25)); #pragma warning restore CS0618 // Type or member is obsolete }
public void PointInsideLineTest() { var line = new KtLine2D(1, 3, 4, 5); Assert.AreEqual(line.PointInsideLine(4), new KtPoint2D(13, 11)); }
public void DistanceTest() { var line = new KtLine2D(1, 2, 4, 5); Assert.IsTrue((line.Distance(new KtPoint2D(-4, 20)) + 16.2634559672906).NearZero(4)); }
public void CreateVerticalLineTest() { var line = KtLine2D.CreateVerticalLine(3); Assert.AreEqual(line, new KtLine2D(3, 0, 3, 12)); }
public void CreateHorizontalLineTest() { var line = KtLine2D.CreateHorizontalLine(3); Assert.AreEqual(line, new KtLine2D(0, 3, 12, 3)); }
public void CloneTest() { var line4 = new KtLine2D(-1, 0, 4); Assert.AreEqual(new KtLine2D(-1, 0, 4), line4); }