Pythonでスプライン曲線

Python->Tkinter->Canvasにスプライン曲線描きます。


普通にCanvasオブジェクトで用意されているので簡単です。

create_line(x1,y1,x2,y2,x3,y3)
で直線ですが、

create_line(x1,y1,x2,y2,x3,y3,smooth=True)
でスプライン曲線になります。splinestepsで細かさを設定できます。デフォルトは12らしい。

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
import Tkinter
 
def main():
 
window = Tkinter.Tk()
canvas = Tkinter.Canvas(window, bg = "white",width = 300, height = 200)
canvas.pack()
#spline
canvas.create_line(30,30,150,30,150,130,240,140,
fill="green",width=3,smooth=True,splinesteps=30)
#line
canvas.create_line(30,30,150,30,150,130,240,140,
fill="red",width=1)
window.mainloop()
 
 
if __name__ == '__main__':
main()
 

up_20080816010710.jpg

その他create_lineについてはこちらが参考になります。
http://kansai.anesth.or.jp/gijutu/python/man-gui/man-canvas.php#c-create_line

なんでこんな簡単なことをわざわざ書いたかと言うと、最初知らなくて自前で関数を作るしかないなっと思って、苦手な数学と格闘して、負けて惨めな気分になったからだ。むきゃー。

参考
http://www.pythonware.com/library/tkinter/introduction/x2102-methods.htm

目次へ
関連記事

コメント

コメントの投稿

非公開コメント

このブログについて
□ ブログ内容
決まった趣旨はありません。
興味を持ったこと・日常で行ったことを何でも書きます。

3DCG・プログラミングなどが多めです。

□ 現在の活動
・ウェブサイト制作
 (http://tiblab.net)
・3Dゲーム制作
 (コックパニック)
検索フォーム
ユーザータグ

Blender キャプチャ blendファイル BGE Python GameEngine ムービー Android CG  Red5 Terragen C# C++ 

カテゴリー
プロフィール

TiBra

Author:TiBra
趣味でCG制作、プログラミング等を行っています。メイカーズに憧れています。

ネットを通じた交流を広げたく思っていますので、コメント・メールはお気軽にどぞー

戯言程度のことは、こちらのブログに投稿しています。基本戯言なので、実質移転しているようなものです。

Mail:tibraあっとlive.jp
HP:TibLabmemocode
動画:VimeoFC2動画ニコニコ
ファイル:SkyDrive
企画:3Dゲーム作業実況

Blogリンク
不都合がございましたらご連絡ください。
当ブログのリンクバナー
FC2 ID
FC2カウンター
RSSフィード+解析コード