2009-05-28
■[Blender]Blenderでコッホ曲線の万華鏡を作った
ちょろっとPythonスクリプトを書けば自動化ができる。コッホ曲線の鏡を作ってみた。
フリーのツールをダウンロードして数十行コードを書くだけでこんなのが作れるとはいい時代になったものだ。レンダリング時間もノートPCで作業しているのに一番長いので5分程度だし。







import BPyAddMesh import Blender from math import cos, sin, pi Vector = Blender.Mathutils.Vector def turtle(): verts = [] faces = [] context = dict(x=0, y=0, dir = (1, 0)) verts.append(Vector(context["x"], context["y"], 0)) verts.append(Vector(context["x"], context["y"], 1)) def forward(mag): dir = context["dir"] context["x"] += dir[0] * mag context["y"] += dir[1] * mag verts.append(Vector(context["x"], context["y"], 0)) verts.append(Vector(context["x"], context["y"], 1)) i = len(verts) faces.append((i - 1, i - 2, i - 4, i - 3)) def rot(rad): dir = context["dir"] context["dir"] = ( dir[0] * cos(rad) - dir[1] * sin(rad), dir[0] * sin(rad) + dir[1] * cos(rad)) def deg(x): return 2 * pi / 360 * x def koch(level=1): if level == 0: forward(1) else: koch(level - 1) rot(deg(60)) koch(level - 1) rot(deg(-120)) koch(level - 1) rot(deg(60)) koch(level - 1) koch(1) rot(deg(-120)) koch(1) rot(dega(-120)) koch(1) BPyAddMesh.add_mesh_simple('Turtle', verts, [], faces) turtle()
トラックバック - http://d.hatena.ne.jp/nishiohirokazu/20090528/1243508099
リンク元
- 28 http://reader.livedoor.com/reader/
- 17 http://search.yahoo.co.jp/search?p=万華鏡 西尾&search.x=1&fr=top_ga1_sa&tid=top_ga1_sa&ei=UTF-8&aq=&oq=
- 16 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4ADBR_jaJP269JP269&q=ブレンダー 曲線
- 15 http://d.hatena.ne.jp/nyaxt/
- 14 http://tw.image.search.yahoo.com/images/view?back=http://tw.image.search.yahoo.com/search/images?p=%E5%8F%8D%E5%B0%84%E7%90%83&js=1&b=81&ni=20&ei=utf-8&pstart=1&fr=yfp&w=796&h=599&imgurl=gyazo.com/
- 13 http://search.yahoo.co.jp/search?p=西尾 万華鏡+&ei=UTF-8&fr=top_ga1_sa&x=wrt
- 13 http://www.google.com/reader/view/
- 12 http://b.hatena.ne.jp/entry/d.hatena.ne.jp/nishiohirokazu/20090528/1243508099
- 12 http://ezsch.ezweb.ne.jp/search/?sr=0101&query=西尾 万華鏡
- 11 http://ezsch.ezweb.ne.jp/search/?sr=0101&query=万華鏡西尾