您现在的位置:

时间分割法直线插补参考程序

Sub 插补()

Dim l, K, a, B, f1, t

    x动点对起点 = 0: z动点对起点 = 0

    f1 = f × 10: t = Ts / 60000

    l = Sqr((x终点对起点 ^ 2 + z终点对起点 ^ 2))

    K = f1 × t / l

    a = Sqr((x动点对起点 - x终点对起点) ^ 2 + (z动点对起点 - z终点对起点) ^ 2)

x步长 = K × x终点对起点: z步长 = K × z终点对起点:

    B = Sqr(z步长 ^ 2 + x步长 ^ 2)

    Do Until a <= B / 2

    x动点对起点 = x动点对起点 + x步长: z动点对起点 = z动点对起点 + z步长

    a = Sqr((x动点对起点 - x终点对起点) ^ 2 + (z动点对起点 - z终点对起点) ^ 2)

    Line -Step(z步长 × 系数, x步长 × 系数), vbRed

x动点对原点 = x动点对起点 + x起点对原点: y动点对原点 = y动点对起点 + y起点对原点: z动点对原点 = z动点对起点 + z起点对原点

    Loop

End Sub