Пример #1
0
        /// <summary>
        ///     Чем меньше, тем больше похож
        /// </summary>
        /// <param name="shape"></param>
        /// <returns></returns>
        public static double GetSimilarityCoefficientToCircle(Shape shape)
        {
            double byRadius = Math.Abs(1 - shape.GetAttitudeheightToWeight());

            double xRad = (shape.MaxX - shape.MinX)/2;
            double yRad = (shape.MaxY - shape.MinY)/2;
             double rad = (xRad + yRad)/2;
            double matnSq = Math.PI*rad*rad;

            double bySquere = Math.Abs(1 - (matnSq/shape.Square));

            return byRadius + bySquere;
        }