Описать класс треугольник через координаты трех точек - 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)));
}