Beispiel #1
0
        private bool isSquare(List <IntPoint> edgePoints, out List <IntPoint> corners)
        {
            if (shapeChecker.IsQuadrilateral(edgePoints, out corners))
            {
                // edges same length?
                IntPoint v1 = corners[0] - corners[1];
                IntPoint v2 = corners[1] - corners[2];
                float    t1 = v1.EuclideanNorm() - v2.EuclideanNorm();
                if (t1 < 0)
                {
                    t1 = -t1;
                }
                if (t1 > 3)
                {
                    return(false);
                }

                IntPoint v3 = corners[2] - corners[3];
                float    t2 = v2.EuclideanNorm() - v3.EuclideanNorm();
                if (t2 < 0)
                {
                    t2 = -t2;
                }
                if (t2 > 3)
                {
                    return(false);
                }

                IntPoint v4 = corners[3] - corners[0];
                float    t3 = v3.EuclideanNorm() - v4.EuclideanNorm();
                if (t3 < 0)
                {
                    t3 = -t3;
                }
                if (t3 > 3)
                {
                    return(false);
                }

                return(true);
            }
            else
            {
                return(false);
            }
        }
Beispiel #2
0
        public void EuclideanNormTest( int x, int y, double expectedNorm )
        {
            IntPoint point = new IntPoint( x, y );

            Assert.AreEqual( point.EuclideanNorm( ), expectedNorm );
        }
Beispiel #3
0
        public void EuclideanNormTest(int x, int y, double expectedNorm)
        {
            var point = new IntPoint(x, y);

            Assert.AreEqual(point.EuclideanNorm(), expectedNorm);
        }