- 引用“System.Drawing”
- Using指令:
using System.Drawing;
- 代碼塊:
public void CalculateCicular(PointF px1, PointF px2, PointF px3, out float X, out float Y, out float R)
{
float x1, y1, x2, y2, x3, y3;
float a, b, c, g, e, f;
x1 = px1.X;
y1 = px1.Y;
x2 = px2.X;
y2 = px2.Y;
x3 = px3.X;
y3 = px3.Y;
e = 2 * (x2 - x1);
f = 2 * (y2 - y1);
g = x2 * x2 - x1 * x1 + y2 * y2 - y1 * y1;
a = 2 * (x3 - x2);
b = 2 * (y3 - y2);
c = x3 * x3 - x2 * x2 + y3 * y3 - y2 * y2;
X = (g * b - c * f) / (e * b - a * f);
Y = (a * g - c * e) / (a * f - b * e);
R = (float)Math.Sqrt((X - x1) * (X - x1) + (Y - y1) * (Y - y1));
}