2012年5月16日水曜日

[Python,pylab]how to plot bezier curve.

pylabの実験のために、ベジエ曲線を描いてみました。 ベジエ曲線を描くためのメソッドを使用するのではなく、 数式で座標を計算してプロットしました。
>>> 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 件のコメント:

コメントを投稿