菜鸟Liu 发表于 2012-2-28 16:49:00

三点创建圆弧(由于开发需要,将VB版本改成c#版本)

#region 根据三点创建圆弧
      private Point3d GetArcCenter(Point3d pt1,Point3d pt2,Point3d pt3,ref double radius)
      {
            double xysm, xyse, xy;
            double[] m_ArcCenter = new double;
            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 && Y0) || (X0)
                {
                  CalculateLineAngle = Math.PI / 2;
                }
            }
            else if (Y == 0)
            {
                if (X0)
                {
                  CalculateLineAngle = 0;
                }
            }
            else
            {
                ;
            }
            if (Math.Abs(CalculateLineAngle - 0)
http://space.mjtd.com/xwb/images/bgimg/icon_logo.png
该贴已经同步到
页: [1]
查看完整版本: 三点创建圆弧(由于开发需要,将VB版本改成c#版本)