Сообщение от A_Z
нигде нет нормально пашуших исходников, или формул, хотя казалось бы...
|
Edge1.X = B.X - A.X
Edge1.Y = B.Y - A.Y
Edge2.X = C.X - A.X
Edge2.Y = C.Y - A.Y
Edge3.X = C.X - B.X
Edge3.Y = C.Y - B.Y
Point1.X = A.X + B.X
Point1.Y = A.Y + B.Y
Point2.X = A.X + C.X
Point2.Y = A.Y + C.Y
Alpha1 = Edge1.X * Point1.X + Edge1.Y * Point1.Y
Alpha2 = Edge2.X * Point2.X + Edge2.Y * Point2.Y
Scale = 0.5 / ( Edge1.X * Edge3.Y - Edge1.Y * Edge3.X )
Center.X = ( Edge2.Y * Alpha1 - Edge1.Y * Alpha2 ) * Scale
Center.Y = ( Edge1.X * Alpha2 - Edge2.X * Alpha1 ) * Scale
A, B, C - вершины треугольника
Center - искомый центр окружности