我的问题的简短描述
我需要为 3D 打印实现从 G1 指令到 G2 和 G3 ( http://www.cnccookbook.com/CCCNCGCodeArcsG02G03.htm ) 的GCODE 自动重构。
G1 是带有打印的直线运动(路径由矢量描述)。
我正在搜索基于给定向量路径的算法来近似圆/弧(特别是它的中点)。请注意,G2 和 G3 无法打印不属于圆的曲线 - 因此并非每个向量路径都可以通过这种方式进行近似。
我的问题的详细描述
我正在寻找通过圆(弧)近似部分(或全部)矢量路径(可以是正多边形、部分或不规则多边形部分)的方法。但是,首先让我们关注正则多边形。
在图片中,我画了这个问题的不同案例。
注意:每个多边形都是由向量构建的(如第 5 点)。
- 对全 x 边形的逼近。
- 一侧不同的部分 x-gon 的近似值
- x-gon 的近似值,其中两条边不同但彼此相等
- x-gon 的近似值,其中两条边不同(甚至彼此不相等)不相等
- 所有边相等的部分 x-gom 的近似值
这不是故事的结局……有几个标准:
- 圆的起点/终点必须在向量路径的起点/终点。
- 我需要知道圆圈的中点。
我找到的解决方案(好的和坏的):
1) 和 5) - 我的简单解决方案
这是最简单的情况。我可以计算共享一个观点的每一侧之间的半径。如果它们具有相同的长度并且每个之间的角度相等,我可以计算圆的中点(作为属于垂直中线的点,每边一条中线)并且我有我需要的一切:起点,终点,中点观点。
但此解决方案仅适用于案例 1 和 5。
当我有案例 2、3、4 或不规则多边形的部分时,我真的不知道该怎么办