一种椭圆弧插补算法
【技术领域】
[0001 ]本发明涉及数控技术领域,具体涉及到一种椭圆弧插补算法。
【背景技术】
[0002] 数控系统的核心是如何控制刀具或工件的运动轨迹,是由插补程序来实现的。根 据进给速度的要求,完成在轮廓起点和终点之间各中间点的坐标值的计算。直线和圆弧是 构成工件轮廓的基本线素。数控系统一般都具有直线和圆弧插补功能。常用的插补算法有 逐点比较法、数字积分法等。算法步骤繁琐,效率低,精度不足。
[0003] SVG可升级矢量图像中,绘制椭圆弧的方式,即以起点、终点、长半轴、短半轴、大小 弧标记、顺逆时针方向标记、倾角为参数来确定一段弧。这个方法可绘制任意的椭圆弧。
【发明内容】
[0004] 本发明所要解决的技术问题是:提供一种椭圆弧插补算法,具体为基于最大弓高 误差在允许范围内,来设定步距角的一种椭圆弧插补算法。本方法可以实现快速,高效率的 求取椭圆弧插补点坐标。
[0005] 为解决上述技术问题,本发明提供的技术方案是:一种椭圆弧插补算法,已知条 件:X轴半径为a,Y轴半径为b,椭圆弧起点坐标(XQ,,y〇),终点坐标(Xi,yi),且起点和终点在 椭圆上;
[0006] 步骤一、由已知条件,得出椭圆中心点坐标及开始点与结束点对应角度:
[0007] 今R = -(vn+vi)
[0016]
[0017]
[0018] 则开始点和结束点对应角度为0Astart和9Aend,或 9Bstart和9Bend;
[0019] 步骤二、求开始点与结束点之间的夹角
[0020] isLargeArcFlag表示如果弧线的角度大于或等于180°,则设置为1;否则设置为0;
[0021 ] sweepDirectionFlag表示如果弧线按照正角方向绘制,则设置为1;否则设置为0;
[0022] 假设由椭圆中心点坐标的解一(m,nu),开始点与结束点的对应角度为0Astart, ΘAend,而开始点与结束点之间的夹角为Aang 1 e。椭圆中心点坐标的解二(Π2,m2),开始点与结 束点的对应角度为QBStart,9Be3nd,而反映出来的开始点与结束点之间的夹角为Bangle。
[0023] 若8?^6卩〇;^6(31:;[01^1&区=1,且9六恤代大于9六611心则厶&1^16 = 9六011(]+231-0知1;"1;;