您现在的位置: |
时间分割法圆弧插补参考VB程序 |
圆弧(切线法): Sub 插补() Dim 区间符号 As Integer Dim x, y, z As Double Dim K Dim 径向误差, R动 As Double 顺逆符号判别 读数据 If R < 0.001 Then Else Ts = Ts / 60000 步长 = f × Ts: K = 步长 / R x动点对圆心 = -x圆心对起点 / 系数: z动点对圆心 = -z圆心对起点 / 系数 End If x = ((x动点对圆心 - x终点对圆心) ^ 2 + (z动点对圆心 - z终点对圆心) ^ 2) ^ 0.5 y = 3 × 步长 × 系数 Do Until x <= y deltaZ = -顺逆符号 × K × x动点对圆心 deltaX = 顺逆符号 × K × z动点对圆心 Line -Step(deltaZ, deltaX), vbRed x动点对圆心 = x动点对圆心 + deltaX: z动点对圆心 = z动点对圆心 + deltaZ: x动点对原点 = x动点对圆心 + x圆心对原点: y动点对原点 = y动点对圆心 + y圆心对原点: z动点对原点 = z动点对圆心 + z圆心对原点: x = ((x动点对圆心 - x终点对圆心) ^ 2 + (z动点对圆心 - z终点对圆心) ^ 2) ^ 0.5: y = 3 × 步长 × 系数 R动 = Sqr(x动点对圆心 ^ 2 + z动点对圆心 ^ 2) Loop End Sub |