7. Lineárna interpolácia

from pygame import *

A = [100, 100]
B = [500, 300]
r = 10

canvas = display.set_mode((600, 400))
x, y = A

# return (1 - t) * a + t * b
def lerp(a, b, t):
    c = a + t * (b - a)
    return int(c)

c = 0
while True:
    canvas.fill(Color(0, 0, 0))

    draw.circle(canvas, Color(128, 0, 128), A, r)
    draw.circle(canvas, Color(128, 0, 128), B, r)
    draw.line(canvas, Color(255, 255, 255), A, B)

    x = lerp(A[0], B[0], c)
    y = lerp(A[1], B[1], c)
    draw.circle(canvas, Color(0, 230, 0), [x, y], r)

    c += 0.02
    if c > 1:
        c = 1

    display.update()
    time.delay(30)