Описать класс треугольник через координаты трех точек - C#
Формулировка задачи:
Листинг программы
- class Triangle
- {
- // поля
- double Ax;
- double Ay;
- double Bx;
- double By;
- double Cx;
- double Cy;
- double ab;
- double ac;
- double bc;
- // свойства
- public double AX
- {
- get { return Ax; }
- set { Ax = value; }
- }
- public double AY
- {
- get { return Ay; }
- set { Ay = value; }
- }
- public double BX
- {
- get { return Bx; }
- set { Bx = value; }
- }
- public double BY
- {
- get { return By; }
- set { By = value; }
- }
- public double CX
- {
- get { return Cx; }
- set { Cx = value; }
- }
- public double CY
- {
- get { return Cy; }
- set { Cy = value; }
- }
- // конструктор
- public Triangle(double x1, double y1, double x2, double y2, double x3, double y3)
- {
- AX = x1;
- AY = y1;
- BX = x2;
- BY = y2;
- CX = x3;
- CY = y3;
- }
- // длины сторон
- public double Length(double x1,double y1,double x2,double y2)
- {
- return Math.Sqrt(Math.Pow(x1 - x2, 2) + Math.Pow(y1 - y2, 2));
- }
- // существование треугольника
- public bool Exist()
- {
- return (ab.Length() + bc.Length() > ac.Length()) && (bc.Length() + ac.Length() > ab.Length()) && (ab.Length() + ac.Length() > bc.Length());
- }
- //углы треугольника
- public double Ygl()
- {
- return ((Math.Pow(ab, 2) + Math.Pow(ac, 2) - Math.Pow(bc, 2)) / (2 * ab * ac));
- }
- //периметр
- public double Per()
- {
- return +bc.Length() + ac.Length();
- }
- // площадь
- public double Square()
- {
- double p = this.Per() / 2;
- return Math.Sqrt(p * (p - ab) * (p - bc) * (p - ac));
- }
- }
Решение задачи: «Описать класс треугольник через координаты трех точек»
textual
Листинг программы
- //углы треугольника
- public double Ygl()
- {
- return ((Math.Pow(Length(Ax, Bx, Ay, By), 2) + Math.Pow(Length(Ax, Cx, Ay, Cy), 2) - Math.Pow(Length(Bx, Cx, By, Cy), 2)) / (2 * Length(Ax, Bx, Ay, By) * Length(Ax, Cx, Ay, Cy)));
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д