>>> import pylab
>>> def bezier(p0, p1, p2, p3):
def f(t, p0, p1, p2, p3):
return ((1-t)**3)*p0 + (3*t)*((1-t)**2)*p1 + 3*(t**2)*(1-t)*p2 +(t**3)*p3
def _bezier(t):
return [f(t, p0[i],p1[i],p2[i],p3[i]) for i in (0, 1)]
return _bezier
>>> t = pylab.arange(0.0, 1.0, 0.01)
>>> f = bezier((2, 2), (3, 4), (4.5, 4), (5, 1.5))
>>> pylab.plot(*f(t))
>>> pylab.axis([0, 6, 0, 6])
>>> pylab.show()
確かにベジエ曲線が描けました。

0 件のコメント:
コメントを投稿