n点求圆简单 ,但是在点位数据采集时候往往存在各种各样的误差,致使计算结果误差较大。
所以写了一个3点拟合一个新点。形成内外圆拟合均分法求出圆心及坐标
数据点采集如下图
绿色圆为真圆 红色圆为拟合计算圆 点位为采集点
已知圆心和半径
根据采集点求拟合圆心和半径
点位拟合代码
//拟合点
public static double[,] nihe(double[,] XY)
{
double[,] ZDZB = new double[XY.GetLength(0) - 2, 3];
for (int i = 0; i < XY.GetLength(0) - 2; i++)
{
//计算1-3点中点
ZDZB[i, 0] = (XY[i, 0] + XY[i + 2, 0]) / 2;
ZDZB[i, 1] = (XY[i, 1] + XY[i + 2, 1]) / 2;
//计算13中点至2距离
// Sqrt [(X2-X1)^2+(y2-y1)^2]
double T1 = Math.Pow(ZDZB[i, 0] - XY[2, 0], 2);
dou