(define make-bezier
(lambda (x1 y1 x2 y2 cx1 cy1 cx2 cy2)
(let* ((xc (* 3 (- cx1 x1)))
(xb (- (* 3 (- cx2 cx1)) xc))
(xa (- x2 x1 (* 3 (- cx2 cx1))))
(yc (* 3 (- cy1 y1)))
(yb (- (* 3 (- cy2 cy1)) yc))
(ya (- y2 y1 (* 3 (- cy2 cy1)))))
(lambda (t)
(cons (+ (* xa t t t)
(* xb t t)
(* xc t)
x1)
(+ (* ya t t t)
(* yb t t)
(* yc t)
y1))))))