コード例 #1
0
        public void edgesIntersectTest()
        {
            Ngon n = new Ngon(new double[][] { new double[] { 0, 1 }, new double[] { 0, -1 } });

            //intersect
            Edge e1 = new Edge(new Vertex(0, 0), new Vertex(1, 1));
            Edge e2 = new Edge(new Vertex(1, 0), new Vertex(0, 1));

            Assert.IsTrue(n.edgesIntersect(e1, e2));

            //parallel
            e1 = new Edge(new Vertex(0, 1), new Vertex(3, 1));
            e2 = new Edge(new Vertex(0, 0), new Vertex(10, 0));
            Assert.IsFalse(n.edgesIntersect(e1, e2));

            //nonparallel, not intersect
            e1 = new Edge(new Vertex(10, 0), new Vertex(8, 1));
            e2 = new Edge(new Vertex(0, 0), new Vertex(3, 20));
            Assert.IsFalse(n.edgesIntersect(e1, e2));
        }