Пример #1
0
        public void BasicVoronoiAddOne_RegionBasicFunctionality()
        {
            IVoronoiDelunayGraph gdv = createNewVoronoiDiagram(4);
            IVoronoiRegion       reg = gdv.AddNewPoint(new double[] { 10, 3, 45, 2 });

            Assert.IsTrue(reg.ContainsPoint(new double[] { 1, 2, 3, 4 }));
            CheckGeneralDiagramCoherence(gdv);
        }
Пример #2
0
        public void BasicVoronoiAddTwo_BasicFunctionality()
        {
            IVoronoiDelunayGraph gdv  = createNewVoronoiDiagram(4);
            IVoronoiRegion       reg  = gdv.AddNewPoint(new double[] { 10, 3, 45, 2 });
            IVoronoiRegion       regB = gdv.AddNewPoint(new double[] { 10, 50, 45, 50 });

            double[] testingPoint = new double[] { 10, 4, 43, 0 };

            Assert.IsTrue(reg.ContainsPoint(testingPoint));
            Assert.IsFalse(regB.ContainsPoint(testingPoint));
            Assert.AreEqual(gdv.GetMatchingRegion(testingPoint), reg);
            CheckGeneralDiagramCoherence(gdv);
        }
Пример #3
0
        public void BuildOneSimplice_2D()
        {
            IVoronoiDelunayGraph gdv  = createNewVoronoiDiagram(2);
            IVoronoiRegion       reg  = gdv.AddNewPoint("Cordoba", new double[] { 20, 5 });
            IVoronoiRegion       regB = gdv.AddNewPoint("Huelva", new double[] { 1, 1 });
            IVoronoiRegion       regC = gdv.AddNewPoint("Cadiz", new double[] { 40, 1 });

            double[] testingPoint = new double[] { 4, 4 };

            Assert.IsFalse(reg.ContainsPoint(testingPoint));
            Assert.True(regB.ContainsPoint(testingPoint));
            Assert.IsFalse(regC.ContainsPoint(testingPoint));
            Assert.AreEqual(gdv.GetMatchingRegion(testingPoint), regB);

            Assert.IsTrue(gdv.Nucleis.All(n => n.BelongConvexHull));
            Assert.IsTrue(gdv.Simplices.Count() == 1);
            Assert.IsTrue(gdv.Simplices.Single().Nucleis.Intersect(gdv.Nucleis).Count() == 3);

            Assert.IsTrue(gdv.Nucleis.All(n => n.Simplices.Contains(gdv.Simplices.Single())));

            CheckGeneralDiagramCoherence(gdv);
        }