反応拡散系のシュミレーションをoFで書いてみた。3次元2成分のGray Scottモデルを使用。
参考は、Nervous Systemのこのコードと、このページ。
最初、FitzHugh-Nagumoモデルに書きなおしていじってたけど、よさげなパラメータが見つからずgdgdになったので放置。結局、単純に元ネタをcppに翻訳した感じになった。
RD_GrayScott3D_Mesh.zip (使用しているアドオンはofxMarchingCubes、ofxSTL、ofx3DUtils、ofxVectorMath。)
GUIはきまぐれで自作。実はMarchingCubesも自作してたけど、後から見つけたアドオンのほうが出来がよかったのでお蔵入りになった。残念。
デザイン系の学生がプログラミングするブログ(仮)
openframeworks、cinder、processing、Flashに関しての個人的メモ置き場
2011年6月10日金曜日
2011年5月7日土曜日
貝のやつ
HIGASHISMのひとを見てたら自分もやってみたくなったので、やってみた。
円錐からの整形は早々に諦めてwebでカンニングしてたところいい感じにまとまったサイトを発見したので参考にしつつcinderで実装してみた。
上記のサイトにのってるアルゴリズムは基本的な殻の生成に加え、瘤を発生させることができ、画像のようなトゲの生えた貝も描画できる。
以下がソース(SimpleGUIが必要。)
TheMuseumOfAllShells.zip
法線計算が力技でかなりひどく、また瘤の挙動が仕様か実装ミスか時々変なのが気になる。時間できたら、手を加えよう。
あと、gitにある最新のcinderで該当箇所のコメントアウト(TheMuseumOfAllShellsAppApp.cppの263行目くらい)を外してビルドするとメッシュを.obj形式で保存できるようになる。なかなか便利。
円錐からの整形は早々に諦めてwebでカンニングしてたところいい感じにまとまったサイトを発見したので参考にしつつcinderで実装してみた。
上記のサイトにのってるアルゴリズムは基本的な殻の生成に加え、瘤を発生させることができ、画像のようなトゲの生えた貝も描画できる。
以下がソース(SimpleGUIが必要。)
TheMuseumOfAllShells.zip
法線計算が力技でかなりひどく、また瘤の挙動が仕様か実装ミスか時々変なのが気になる。時間できたら、手を加えよう。
あと、gitにある最新のcinderで該当箇所のコメントアウト(TheMuseumOfAllShellsAppApp.cppの263行目くらい)を外してビルドするとメッシュを.obj形式で保存できるようになる。なかなか便利。
2011年4月18日月曜日
openframeworks上でのアンチエイリアスのかけ方
tipsを二つメモ。openframeworksでアンチエイリアスをかける方法と、ワイヤーフレームを描画する方法について
ラベル:
C++,
openframeworks,
Opengl
2011年4月4日月曜日
断面図の出力
3Dモデルの断面図を計算するコードをスケッチしてみた。
前回のsplitMeshをやっつけで書きなおしただけなのでコードは汚め。
3Dモデルのアウトプットとかに使うつもり。
前回のsplitMeshをやっつけで書きなおしただけなのでコードは汚め。
3Dモデルのアウトプットとかに使うつもり。
ここからさらにsvgで出力し、
カッティングプロッタでプラ板等に切り出し、
積層していくとか。
2011年3月22日火曜日
三次元ボロノイ分割
half-edgeデータ構造の勉強に、Frederik Vanhoutte氏のコードをFlashへ移植してみた。
マウスプレスで母点追加、キープレスで更新のオンオフ
描画はテキトー
さらっと書くつもりが、完成間近で一度ミスってファイルを消したり、バグがとれなかったりで時間かかった。
マウスプレスで母点追加、キープレスで更新のオンオフ
描画はテキトー
さらっと書くつもりが、完成間近で一度ミスってファイルを消したり、バグがとれなかったりで時間かかった。
2011年3月18日金曜日
Xcodeでパッケージにファイルがコピーされない
cinder上でGLSLをいじっていて
左のカラムの”ターゲット”を開くと、”ソースをコンパイル”にGLSLのファイルが入っていたので、”バンドルリソースをコピー”にドラッグする。そうすると警告がでなくなり上手く動くようになった。
単純だけど、いきなりなって焦った。 .vertや.fragって前からこうだったかな?
warning: no rule to process file '$(PROJECT_DIR)/hoge/FlatShader.frag' of type sourcecode.glsl for architecture i386という警告がでてパッケージに該当するファイルがコピーされなくなった。
warning: no rule to process file '$(PROJECT_DIR)/hoge/FlatShader.vert' of type sourcecode.glsl for architecture i386
warning: no rule to process file '$(PROJECT_DIR)/hoge/NormalMap.frag' of type sourcecode.glsl for architecture i386
warning: no rule to process file '$(PROJECT_DIR)/hoge/NormalMap.vert' of type sourcecode.glsl for architecture i386
左のカラムの”ターゲット”を開くと、”ソースをコンパイル”にGLSLのファイルが入っていたので、”バンドルリソースをコピー”にドラッグする。そうすると警告がでなくなり上手く動くようになった。
単純だけど、いきなりなって焦った。 .vertや.fragって前からこうだったかな?
2011年3月10日木曜日
XcodeでMacPortsのフォルダにインクルードパスを通す
セットアップしたMacPortsを実際に使用してみる。ついでに、Xcodeでの使用方法もメモしとく。
とりあえず、Boostライブラリを例にする。
ターミナルから
これで、ライブラリのインストールは終了。
で、Xcodeでインストールしたライブラリを使用するには、インストール先である/opt/loaclまでのパスを設定してやればいい。
boostのヘッダーは/opt/local/include/に格納されているので、Xcodeのプロジェクト>プロジェクト設定の編集>ヘッダ検索パスに/opt/loacl/include/と追加する。
これで、Xcodeのプロジェクト上でboostが使用可能になる。
とりあえず、Boostライブラリを例にする。
ターミナルから
sudo port install boostとうつとインストールが始まるので、しばらく待つ。buildに時間がかかる。
これで、ライブラリのインストールは終了。
で、Xcodeでインストールしたライブラリを使用するには、インストール先である/opt/loaclまでのパスを設定してやればいい。
boostのヘッダーは/opt/local/include/に格納されているので、Xcodeのプロジェクト>プロジェクト設定の編集>ヘッダ検索パスに/opt/loacl/include/と追加する。
これで、Xcodeのプロジェクト上でboostが使用可能になる。
登録:
投稿 (Atom)