19 lines
675 B
Python
19 lines
675 B
Python
from __future__ import print_function
|
|
from numpy import *
|
|
|
|
|
|
# evaluates cubic bezier at t, return point
|
|
def q(ctrlPoly, t):
|
|
return (1.0-t)**3 * ctrlPoly[0] + 3*(1.0-t)**2 * t * ctrlPoly[1] + 3*(1.0-t)* t**2 * ctrlPoly[2] + t**3 * ctrlPoly[3]
|
|
|
|
|
|
# evaluates cubic bezier first derivative at t, return point
|
|
def qprime(ctrlPoly, t):
|
|
return 3*(1.0-t)**2 * (ctrlPoly[1]-ctrlPoly[0]) + 6*(1.0-t) * t * (ctrlPoly[2]-ctrlPoly[1]) + 3*t**2 * (ctrlPoly[3]-ctrlPoly[2])
|
|
|
|
|
|
# evaluates cubic bezier second derivative at t, return point
|
|
def qprimeprime(ctrlPoly, t):
|
|
return 6*(1.0-t) * (ctrlPoly[2]-2*ctrlPoly[1]+ctrlPoly[0]) + 6*(t) * (ctrlPoly[3]-2*ctrlPoly[2]+ctrlPoly[1])
|
|
|