TouchVG framework

◆ arcToBezier()

int mgcurv::arcToBezier ( Point2d  points[16],
const Point2d center,
float  rx,
float  ry,
float  startAngle,
float  sweepAngle 
)
static

将一个椭圆弧转换为多段三次贝塞尔曲线

4段三次贝塞尔曲线是按逆时针方向从第一象限到第四象限连接,每一段4个点, 第一个点和最后一个点重合于+X轴上点(rx, 0)。

参数
[out]points贝塞尔曲线的控制点,16个点
[in]center椭圆心
[in]rx半长轴的长度
[in]ry半短轴的长度,为0则取为rx
[in]startAngle起始角度,弧度,相对于+X轴,逆时针为正
[in]sweepAngle转角,弧度,相对于起始角度,逆时针为正
返回
计算后的控制点数,点数小于4则给定参数有错误
参见
bezier4P, ellipse90ToBezier, ellipseToBezier, arc3P
函数调用图:
这是这个函数的调用关系图:

通用矢量图形框架, 版权所有 (C) 张云贵 2004-2017,BSD 开源许可证