turtleモジュールで描画する。

Pythonで描画できないかなぁと考えたところ、「そういえばturtleってライブラリがあったな」という訳で使ってみる。

turtleモジュール

Python2.5から標準ライブラリに入って、Tkinterを利用しているグラフィカルライブラリ。

詳細は、PYJUGの日本語ライブラリリファレンスを参照のこと。20.4 turtle -- Tkのためのタートルグラフィックス

注意が必要なのは、Python2.5系とPython2.6系、3.0系に含まれるモジュールが結構異なる事。

環境

使ってみた。

円を書く。


import turtle

if __name__ == '__main__':
t = turtle.Turtle()
t.circle(50, 180)
t.circle(-50, 180)
t.circle(-100)
turtle.exitonclick()

実行結果

模様を書いてみる(追)


import turtle

def main(count, xy):
t= turtle.Turtle()
for x in range(5):
wave_down(t, count, xy)
t.forward(xy[0] + xy[1])
wave_up(t, count, xy)
t.forward(xy[0] + xy[1])
turtle.exitonclick()

def wave_down(obj, count, xy):
for x in range(count):
obj.forward(xy[0])
obj.right(90)
obj.forward(xy[1])
obj.right(90)
obj.forward(xy[0])
obj.left(90)
obj.forward(xy[1])
obj.left(90)

def wave_up(obj, count, xy):
for x in range(count):
obj.forward(xy[0])
obj.left(90)
obj.forward(xy[1])
obj.left(90)
obj.forward(xy[0])
obj.right(90)
obj.forward(xy[1])
obj.right(90)

if __name__ == '__main__':
main(10, [20,5])

実行結果

f:id:rokujyouhitoma:20090506220350p:image

参考


結構面白いことできそうだから、続けて触ってみる。