|
#region 根据三点创建圆弧
private Point3d GetArcCenter(Point3d pt1,Point3d pt2,Point3d pt3,ref double radius)
{
double xysm, xyse, xy;
double[] m_ArcCenter = new double[3];
xy = Math.Pow(pt1.X, 2) + Math.Pow(pt1.Y, 2);
xyse = xy - Math.Pow(pt3.X, 2) - Math.Pow(pt3.Y, 2);
xysm = xy - Math.Pow(pt2.X, 2) - Math.Pow(pt2.Y, 2);
xy = (pt1.X - pt2.X) * (pt1.Y - pt3.Y) - (pt1.X - pt3.X) * (pt1.Y - pt2.Y);
// 判断参数有效性
if (Math.Abs(xy) 0 && Y > 0)||(X > 0 && Y 0) || (X 0)
{
CalculateLineAngle = Math.PI / 2;
}
}
else if (Y == 0)
{
if (X 0)
{
CalculateLineAngle = 0;
}
}
else
{
;
}
if (Math.Abs(CalculateLineAngle - 0)
该贴已经同步到 |
|