知道起点(0,0) 终点(endx,endy),现在想将两点通过三次方贝塞尔曲线连接,需要自己找出控制点,想问问各位这两控制点如何找啊

解决方案 »

  1.   

    lz可以参考一下photoshop中的路径工具、
    controlPoints[0] = (0,0) 
    controlPoints[3] = (endx,endy)
    lz参见这个函数:int BezierLine::computeBezierControlPoints()
    {
    float dist = abs( controlPoints[3].x() - controlPoints[0].x() ) / 2.0f; controlPoints[1] = controlPoints[0];
    controlPoints[1].rx() += dist; controlPoints[2] = controlPoints[3];
    controlPoints[2].rx() -= dist; return 1;
    }
      

  2.   

    3次bezier经过controlPoints[0]和controlPoints[3],其他两个顶点作为控制顶点。