- OpenGL
今年も出かける予定は数日程度あるだけで後は何もしない日々が続く、とはならない。このことは予想していたので色々とやることを考えていたのである。その一つはCCTLに関してユーザーからの声をこの時間を使って少しでも反映しようと思っているがあくまで暇つぶしということで課題にはしないのである。
- さてCCTLにはCCTLPLOTというグラフィックプログラムを通して結果を可視化する機能がある。で今日は少しどこまで綺麗なグラフィックができるか少し遊んでみた。ちなみにCCTLPLOTはOpenGLを使って3Dグラフィックを行っている。
パラメタライゼーションを使うとこんな感じの事ができる。
もう少しパラメタライズされている事を見やすくして光源や反射、色を調整すると
こんな感じである。綺麗じゃん!!
- 以前ボリュームレンダリングについて試行したけどもう少しそれっぽく作ってみた。密度の違いごとにポリゴンを作成してそれぞれを異なった色で計算してすべてを重ねた後に透明化してみた。
こんな感じであるが。。。。本当のボリュームレンダリングでは無い。
それでもなんとなくそれっぽく見えないか?
それと前回考えていた点群からB-SPLINE曲面(パラメトリック曲面)について先日から少し着手した。以下は現在考えている手順である。
(1)点群の法線ベクトルを決定する。
これはつぎのような共分散行列から算出できる
ある点の近傍の平均である。がこの平均から共分散行列Cは
と計算できる。
この行列Cの固有値
の最も小さいのに対応する固有ベクトルが推定される法線ベクトルとなる。
(2)点と法線ベクトルのセットからRBF陰関数を生成する。
(3)ポリゴンを生成する。
(4)ポリゴンをパラメータライズする。これによって点にUVを配置することができる。
(5)後は2005.7.16に書いたように最適化計算によってパラメータ曲面を生成する。
既に(2)、(3)、(4)はCCTLに実装しているので(1)と(5)を実装しなければならない。なんとなく(1)の実装で連休は終わりそうな感じである。まぁのんびりとやろうと思っているし、ユーザーからのバグ対応依頼もあるのでそっちも少しはやらないとね。こんな感じの連休となりそうである。
※これら計算結果はWCCTLによって得られたものです
|