Пример #1
0
        public double GetArea(Triangle triangle)
        {
            try
            {
                var(side1, side2, side3) = TriangleBaseAlgorithms.GetSides(triangle.Point1, triangle.Point2, triangle.Point3);
                var perimeter = TriangleBaseAlgorithms.GetPerimeter(side1, side2, side3);
                var area      = TriangleBaseAlgorithms.GetArea(side1, side2, side3, perimeter);

                return(area);
            }
            catch (Exception e)
            {
                throw new CalculateAreaException(e);
            }
        }
Пример #2
0
        public bool IsRightTriangle(Triangle triangle)
        {
            try
            {
                var(side1, side2, side3) = TriangleBaseAlgorithms.GetSides(triangle.Point1, triangle.Point2, triangle.Point3);

                var sides = new[] { side1, side2, side3 };
                Array.Sort(sides);

                var checkExpression = Math.Abs(sides[0] * sides[0] + sides[1] * sides[1] - sides[2] * sides[2]);

                checkExpression.ThrowIfOverflow();

                var isRight = checkExpression <= Settings.Delta;

                return(isRight);
            }
            catch (Exception e)
            {
                throw new CalculateAreaException(e);
            }
        }