圆弧(切线法):
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