正在阅读:贝赛尔曲线的拆分算法贝赛尔曲线的拆分算法

2004-05-27 15:17 出处:CSDN 作者:happyparrot 责任编辑:linjixiong

              ptBuffer[3] = bezierPts[1];

              BezierToPoly(&ptBuffer[0], apt,precision);

              polyPt.Append(apt);

       }

       count = polyPt.GetSize();

       i=0;

    //过滤相邻的值相等的点(由于精度和误差,可能会有一些坐标值相同的相邻拆分点)

       while(i<count-1){

              if(polyPt[i] ==polyPt[i+1]){

                     polyPt.RemoveAt(i+1);

                     count--;

                     continue;

              }

              i++;

       }

       return true;

  }

  //拆分贝赛尔曲线

  bool  InciseBezier(CPoint *pSrcPt, CPoint *pDstPt)

  {

       CPoint buffer[3][3];

       int i;

       for(i=0;i<3;i++){

              buffer[0][i] = pSrcPt[i] + pSrcPt[i+1];

              buffer[0][i].x /=2;

              buffer[0][i].y /=2;

       }

       for(i=0;i<2;i++){

              buffer[1][i] = buffer[0][i] + buffer[0][i+1];

              buffer[1][i].x /=2;


察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:

键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品