/// <summary> /// Инициализирует данные треугольника по массиву его сторон /// </summary> /// <param name="sides">Массив сторон треугольника</param> private void _InitTriangleData(double[] sides) { // сортируем стороны по длине Array.Sort(sides); // треугольник может быть равносторонним if (GeometryCalcs.TriangleIsEquilateral(sides[0], sides[1], sides[2])) { this.data = new EquilateralTriangleData(sides[0]); } // треугольник может быть прямоугольным (первые два элемента после сортировки — катеты) else if (GeometryCalcs.TriangleIsRightAngled(sides[0], sides[1], sides[2])) { this.data = new RightAngledTriangleData(sides[0], sides[1], sides[2]); } // обычный треугольник, задаваемый сторонами else { this.data = new SemiScaleneTriangleData(sides[0], sides[1], sides[2]); } }
/// <summary> /// Инициализирует данные треугольника по массиву его сторон /// </summary> /// <param name="sides">Массив сторон треугольника</param> private void _InitTriangleData(double[] sides) { // сортируем стороны по длине Array.Sort(sides); // треугольник может быть равносторонним if (GeometryCalcs.TriangleIsEquilateral(sides[0], sides[1], sides[2])) this.data = new EquilateralTriangleData(sides[0]); // треугольник может быть прямоугольным (первые два элемента после сортировки — катеты) else if (GeometryCalcs.TriangleIsRightAngled(sides[0], sides[1], sides[2])) this.data = new RightAngledTriangleData(sides[0], sides[1], sides[2]); // обычный треугольник, задаваемый сторонами else this.data = new SemiScaleneTriangleData(sides[0], sides[1], sides[2]); }