/// <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; }