离散步骤绘制弧线
|
下午好,
背景
我的问题涉及使用离散步长绘制空间中的任意弧线。但是,它的独特之处在于,我不是用典型的意义来画画布。我正在设计的固件是用于CNC铣床的gcode解释器,它将命令转换为步进电机的运动。现在,我已经在这个站点上找到了一个类似的问题,但是建议的方法(Bresenham算法)对于在空间中移动物体似乎是不兼容的,因为它仅依赖于一个圆的一个八分圆的计算。然后围绕其余对称轴镜像。此外,计算两个任意角度之间的弧线的规定方法依赖于三角函数(我正在微控制器上实现,如果可能的话,希望避免使用昂贵的三角函数),而不必采取超出范围的步骤。最后,仅将算法设计为沿一个旋转方向(例如,逆时针方向)工作。
题
因此,关于一个实际的问题:是否有人知道一种通用算法,该算法可用于以离散步骤“绘制”任意弧,同时仍然考虑角度方向(CW / CCW)?最终实现将使用C语言完成,但用于该问题的语言无关紧要。
先感谢您。
参考文献
S.O关于使用Bresenham算法绘制简单圆的帖子:
以不连续的x-y步骤“绘制”圆弧
Wiki页面,描述了布雷森汉姆算法的一个圆圈
http://en.wikipedia.org/wiki/Midpoint_circle_algorithm
要执行的Gcode指令(请参阅G2和G3)
http://linuxcnc.org/docs/html/gcode.html
没有找到相关结果
已邀请:
2 个回复
糕泰灌
懊毁暗