モデリング

相互連結ノードグリッドの高速生成

やあ子どもたち。連休終わっちゃったけどちゃんと社会復帰したか。よく画像処理などで、注目ピクセルの隣接ピクセルを参照する場合、 縦横方向それぞれ座標値を1だけ加減したり、 その際に加減した後の座標値が負になっていないか、または画像サイズ上限を…

マカロン君〜最小位相構成をもつ立体の真実とは

やあ子どもたち。寒いけど元気でやっているか。おじさんは最近、前の家よりも寒い家に引っ越したのでこの冬はとくに寒い冬になりそうだよ。さて今日はオイラー標数(以下オイラー数)、オイラーの多面体定理について考えてみよう。(オイラー数の説明はここ…

OpenGL ES2時代の形状情報構築について

やあ子どもたち。新しいOpenGL使ってるか。でっかい組織の中で毎日何やってるかわからない人生送るよりは理学療法士とか社会福祉士とかになった方がよっぽど充実した人生になるという考え方もあるからみんなも人生プランよく考えろな。 glBegin()/glEnd()を…

簡単キューブ形状生成CreateIndexCube 再び

やあ子どもたち、会社や職場などで戦力外通告を受けてもホイミスライムのように逞しく生きているか。まわりの空気など気にせずに自分の目的意識をしっかり持てるかどうかが大事だぞ。 今日はキューブ形状のインデックス形式を早々に生成して返してくれる便利…

ガウス・ボンネ(Gauss-Bonnet)の定理について考えよう!

神が愛した天才数学者たち (角川ソフィア文庫)作者:吉永 良正KADOKAWAAmazon今日は前回考えた、ガウス・ボンネ(Gauss-Bonnet)の定理の証明というほどではないが、どうしてそういうことになるのかということを考えよう。 この定理は、「位相的に穴のない、…

曲面上の点の曲率に関する最も簡単な定義を知ろう

正四面体の頂点は正三角形が3つ合わさってできている。今、頂点を平面上にすとんと落とし、しかもこの3つの正三角形をばらばらにして、頂点の乗った平面上に並べてみると、その合計角度は3x60で180度にしかならない。平面上に落とした頂点のまわりをぐるっ…

glmとclapackでレイ・トライアングル交錯計算

やあ子どもたち元気にしてたかな。 今日はレイ・トライアングル交錯についての考察だよ。レイトレーシングとかピッキングなどで利用頻度の高い計算の一つだ。今更な話題だけど何度も作り直したりするロジックの一つではないかな。 今回おじさんはglm::lookAt…

マウス・レイの計算 2013

やあ子どもたち。以前、数年前にマウスクリック・レイの計算についての記事を書いたが、GLSLの勉強やglmなど使いながら数年分の成長を見せたおじさんが再度送る、よりスマートなマウスクリックレイの実装を今日は子どもたちにお届けするぞ。 マウスクリック…

トラックボールカメラの実装

やあ子どもたち。ビューマトリックスで遊んでいるか?今日もビューマトリックスの話題だよ。ビューマトリックスの考え方や実装方法については過去日記その1や過去日記その2で考えてきたね。今日はユーザーの入力に対して実際にビューマトリックスをどう決…

ビューマトリックス問題

やあ子供たち。今日は3dCGで言うところのビューマトリックスというものについての話をするよ。 (ここでビューマトリクスと読んでいるのはいわゆる「モデル・ビューマトリクス」の後半部分の「ビューマトリクス」のことを指しているよ。日本語にするとワール…

glBufferData()呼び出し前夜〜インデックス形状をFloat配列に展開

やあ子供たち。今日もみんなは何か進歩したかな。日々努力し、自ら進歩を重ねていかないとだめだぞ。一年経てばすごい差になるからな。 「描画に必要な全情報をFloat配列にして一気に流し込んでください。」これが昨今のOpenGLAPIの心であり、実際に実現され…

インデックス形状の簡単法線計算

やあ子供たち。今日はインデックス形式で表記されたポリゴン形状情報に対し、各頂点参照ごとのフラットな法線を一気に計算してくれるスペシャルな関数を紹介するぞ。ソースは以下のようになったよ。 (各頂点参照ごとに定義された法線をここでは"index align…

簡単キューブ描画 CreateIndexCube()

やあ子供たち、元気にしてるかい。glDrawArrays()を使ってGL_TRIANGLESでちょっとしたキューブを描くことを考えてみてくれ。この場合、キューブのテセレーションを真面目に考えた上で、似たような頂点座標が実に36個並んだ頂点配列を作成しなくてはならない…

glBegin/glEndが消えた訳/頂点配列ヘルパークラス

やあ子供たち元気にしてたかな。今日はOpenGLESでちょっとした形状を表示させたいときに便利なヘルパークラスの紹介だよ。OpenGLESと言えばiPhoneやAndroidのアプリ開発なんかにおける、glBegin/glEndがホントに使えなくなてしまったという冗談みたいな状況…

マーチングキューブズ(7) テセレーション準備

3D Volumentric Visualization of MRI Images with Improved Marching Cube: A Smart way to diagnose作者:Patel, NikhilLAP LAMBERT Academic PublishingAmazonマーチングキューブズ(MarchingCubes)アルゴリズムの探求も、残すところ14のプライマリコンフィ…

インデックス球体の簡単作成

やあみんな。よくポリゴンメッシュをインデックスフォーマットで作成するための実験として、球体のインデックスフォーマットデータを作りたい!なんてことがあるね。 ところが球体ときたら、まあ極座標ベースで構築する話だけれども、球体の極座標ベース構築…

簡易統計解析クラスを作ってみたよ

やあ子供たち。夏ももう終わりだね。今日はおじさんはstd::accumulateや、 tr1::bind の練習のためにVS2008SP1で、簡単な統計情報計算テンプレートを作成してみたよ。要素セットと、各要素の値の計算方法を指定すると、以下の統計情報、 総和、平均値 分散 …

三角ストリップ頂点インデックスの展開

三角ストリップになった頂点インデックス並びを、普通の三角頂点インデックスに展開するための最短変換コードを考えました。もういちいち毎回悩まなくてもいいのです!ループの中に条件判定もないし、おまけにreserveもかましてるので、パフォーマンスも完璧…

マーチングキューブズ(6)14グループの描画確認

コンフィギュレーション#6の件などで、マーチングキューブズの穴問題について各種文献を調査中だ。 ところでその中で気付いたのだが、15グループを基本コンフィギュレーションとしている文献が結構見受けられる。これまでの考察により、私としては256通り…

マーチングキューブ(5)…そしていやな予感

コンフィギュレーション#6のループ形状作成とテセレーションについて考えてみた。が!。何通りも可能なソリューションがエッライぎょうさんあるやないかーい。全然14パターンとかそういう単純な話ちゃうやないかーい。ルネッサーンス! まずループ二つがいい…

マーチングキューブズ(4)穴のあくケース

マーチングキューブにおける問題点。グループ#6の場合。一見どちらのテセレーションでもよさそうなのだが、片方だけしか使ってないとこのような穴形状を生じてしまう。たしかにアルゴリズムの持つ本質的な不具合といえそうだ。 これはサンプリングが粗いか…

マーチングキューブズの旅(3):各エントリの相対配置について

暇つぶしとしてのマーチングキューブズ自作研究も3回目を迎えたよ。今回は、各グループにおける、各コンフィギュレーションエントリと、そのプライマリコンフィギュレーションとの相対配置関係を情報化することを考えよう。 マーチングキューブズにおいて予…

マーチングキューブズの「14通り」を探す旅(2)

前回に引き続き、あまり語られてこなかったマーチングキューブズ法の謎を追う旅の途中だが、ここでは前回示した、14グループとそのコンフィギュレーションの探索を行った際の、実装上の詳細とノウハウをメモしておく。格子内の8つの頂点について、IDを振る…

マーチング・キューブズ法の「14通り」の謎を解く

Isosurfaces: Geometry, Topology, and Algorithms作者: Rephael Wenger出版社/メーカー: A K Peters/CRC Press発売日: 2013/07/31メディア: ハードカバーこの商品を含むブログ (1件) を見るマーチング・キューブズ法(Marching Cubes)は、3次元格子の頂点位…

2次元の等高線を作成する関数テンプレート

2次元の等高線を作成する関数テンプレートを作成したよ。よかったら使ってみてくれ。縦横の格子の各頂点に高さ、温度、密度などの「値」がセットされていたとして、あとは閾値さえ与えてやれば、 等高線の輪郭線形状 等高線の輪郭線形状で囲まれた図形領域の…

CCSデータ構造の行削除は難しい!

やあ子供たち。元気にしてたかい? 今日おじさんがやろうとしてたのは、ある巨大な疎行列を有名なCCSデータ構造で持っているところで、ある特定のいくつかの行を削除することだったよ。最近の子供たちは行列計算でCCSとか言ってもどうもピンとこない人が多い…

SparseMatrixのデータ構造入門

ペットボトルで野菜を育てよう ペットマト野菜セット(4種セット)出版社/メーカー: GOODLABメディア: この商品を含むブログ (2件) を見る ★(後日記)この内容はちょっとわかりにくいし内容もあまり意味ないのでタイトルの内容について急いで知りたい人は…

三角メッシュからのクアドメッシュ作成

三角メッシュの重心から頂点にエッジを引き、もとのエッジを削除するだけで、いとも簡単に四角メッシュ(QuadMesh)へ移行することが出来る。しかし、この四角形メッシュ、いやはや、リメッシュが必要だ。四角形メッシュのPliantなリメッシュ操作にはどのよ…

SBIM2007

Eurographicsの分科会である、Sketch-Based Interface and Modelling 2007 というものに参加したのだが、論文集がなかなか送られて来なかったのが、本日届いた。おいっ!今はもう2008年だぞ。まして、SBIM2008ももう終わってるというのにやっと届くかこのや…

離散ラプラシアンメッシュスムージング

離散ラプラシアン微分座標とは、簡単に、己の頂点位置と、己の1隣接頂点の重心位置との、差分ベクトルである。よって、グラフの任意の頂点について、離散ラプラシアン微分座標を計算することができる。この演算操作を「離散ラプラシアン演算子」と呼び、計…