wordpress手机单页面模板,东莞seo优化公司,足球外围网站自己做的,wordpress 导航站点应用场景
机器视觉项目应用中#xff0c;相机安装在机器人上#xff0c;并且需要定位产品返回坐标偏差以及角度偏差。 与九点标定配合使用#xff0c;实现精准角度补偿。
算法输入
不共线的三点坐标 A#xff08;X₁,Y₁#xff09; #xff0c;B#xff08;X₂,Y₂相机安装在机器人上并且需要定位产品返回坐标偏差以及角度偏差。 与九点标定配合使用实现精准角度补偿。
算法输入
不共线的三点坐标 AX₁,Y₁ BX₂,Y₂ ,CX₃,Y₃
算法原理及实现
原理
由图可知线OAOBOC外接圆的半径r,从三点向【以O点为原点的坐标系】做垂线。由勾股定理可得
X - X₀² Y - Y₀² r ²
由上式带入三点坐标可的可得 公式变换可得由公式①-②①-③ 由于上公式可得该式有唯一解的条件为 即任两点组成的斜率不能相等也验证了三点成圆条件三点不共线。
实现
设 a 2(X₁ - X₂) b 2(Y₁ - Y₂)
c 2(X₁ - X₃) d 2(Y₁ - Y₃)
e (X₁)² - (X₂)² (Y₁)² - (Y₂)² f (X₁)² - (X₃)² (Y₃)² - (Y₃)²
代回方程:
代码实现 public PointF CalculateCicular(PointF px1, PointF px2, PointF px3)
{float x1, y1, x2, y2, x3, y3;float a, b, c, g, e, f, X, Y;x1 px1.X;y1 px1.Y;x2 px2.X;y2 px2.Y;x3 px3.X;y3 px3.Y;a 2 * (x1 - x2);b 2 * (y1 - y2);c 2 * (x1 - x3);d 2 * (y1 - y3);e x1 * x1 - x2 * x2 y1 * y1 - y2 * y2;f x1 * x1 - x3 * x3 y1 * y1 - y3 * y3;X (e * d - b * f) / (a * d - b * c); Y (e * c - a * f) / (b * c - a * d);//R (float)Math.Sqrt((X - x1) * (X - x1) (Y - y1) * (Y - y1)); //半径PointF center new PointF(X, Y);return center;
}