So-net無料ブログ作成
考え中 - プロットライブラリ ブログトップ
前の10件 | -

Mac用プロットライブラリ-25「重なりチェックのアルゴリズム」 [考え中 - プロットライブラリ]

前回は2次元オブジェクトが重なっているかどうか、をどうやってチェックするか大まかなフローを考えた。これをもとにもう少し具体的なアルゴリズムを考えてみる。

続きを読む


Mac用プロットライブラリ-24「重なりチェック」 [考え中 - プロットライブラリ]

QTKit Captureのお勉強でしばらくお休みしていた3次元プロットでの隠面陰線消去について考えている。結構、いやすっかり忘れてるのでもう一度おさらいすると

  1. 3次元オブジェクトに射影変換を行って2次元に変換する。そのとき奥行き方向の値も保持する
  2. 奥行き方向の値に従って並べ替える
  3. 遠いオブジェクトから描画して近くのオブジェクトはそれを上描きする
という一番簡単な方法で隠面消去をすることにした。

前回まで、奥行きに従って並べ替えるときの問題を考えていた。オブジェクトは半順序集合になって普通のソートアルゴリズムでは対応できないことがわかった。そこで半順序集合を非循環有向グラフとして表現してそれを再帰的に取り出すことで並べ替えをすることにした。

つぎに、今回からオブジェクトの前後関係をどうやって調べるか、という問題を考える。すなわち、頂点しか座標値を持っていないオブジェクトの前後関係をどうやって比較するかという問題になる。オブジェクトの間に重なりがなければ順序を考える必要はない。

続きを読む


Mac用プロットライブラリ-23「隠面消去特有の問題と非循環有向グラフ」 [考え中 - プロットライブラリ]

3次元プロットのための隠面消去をいかに実装するか、と言う問題をしばらく考えている。前後関係をハッセ図に描ければ、Z-Sort法(奥にあるオブジェクトから描いて手前のオブジェクトを上描きしていく)で隠面消去が可能になるのでその方針で考えている。

わざわざ半順序集合だのハッセ図だの持ち出して、無理矢理難しい話にするつもりなわけではない。しかし、数学に現れる概念と同じに見なせるものがあれば、その周辺のいろいろな定理や特徴をそのまま流用することができる。非常に便利なのでちょっと行き詰まると数学の、特に代数と数論まわりで似たものがないか探すのが癖になっている。似ているだけで役に立たないこともあるけど、単に名前を流用するだけでも(名前をつけるのは大切なのに、なんとつけるかはいつも困るので)有益と言える。

ところがそこのちょっとした問題が...さて困った。

続きを読む


Mac用プロットライブラリ-22「隠面消去と半順序集合」 [考え中 - プロットライブラリ]

一人で面白がっている3次元プロットの隠面消去の問題。半順序集合と見なして見通しをよくしようと考えた。多分こういう問題はさんざっぱら研究されて当たり前になっているんだろうけど、ネットで調べるぐらいだとあまり有益な情報は見当たらない。自力でなんとかしよう、面白いし。

続きを読む


Mac用プロットライブラリ-21「隠面消去の問題」 [考え中 - プロットライブラリ]

こないだから突入した3次元プロットの問題点整理。前回は隠面消去がナイーブな方法では解決できないことに気がついた。ではどうするか、というところで寝てしまったので今日はその続き。

続きを読む


Mac用プロットライブラリ-20「隠面消去」 [考え中 - プロットライブラリ]

こないだから突入した3次元プロットの問題点整理。昨日は射影変換の大まかな方針を決めた。今日は隠面消去の問題点について。

続きを読む


Mac用プロットライブラリ-19「Normalized座標と射影変換」 [考え中 - プロットライブラリ]

もう榴岡に戻ってきた。
昨日からプロットライブラリの3次元プロットの問題を整理し始めた。特に3次元プロットではMathematicaと動作を似せようとしたときに意識する必要のあるところを整理していく。次は3次元プロットでの座標の規格化と射影変換について。

続きを読む


Mac用プロットライブラリ-18「3次元プロットの問題点整理」 [考え中 - プロットライブラリ]

三連休で横浜に帰っている。前回までで2次元の一番大きな問題だったはみ出しの扱いに一段落ついたので、今度は3次元の問題点をこれから整理しよう。

前にも書いたように3次元グラフは

  1. 2次元と同様にAutomaticオプションを展開して3次元のPrimitiveの集合に変換する
  2. 3次元のNormalized座標に変換する
  3. 射影変換を行い、2次元のPrimitiveの集合に変換する
  4. それを2次元PrimitiveレイヤとしてViewレイヤまで展開し描画する
ということを行う。さらに付加的な作業
  1. 隠面処理
  2. 疑似照明の処理
  3. 2次元Primitveの3次元上の平面への貼付け
などがある。

もう少し詳細を整理する。

続きを読む


Mac用プロットライブラリ-17「何をやっていたか思い出す」 [考え中 - プロットライブラリ]

ずいぶん前にたどり着いた、プロットライブラリでのはみ出し問題の解決法としての線形計画法のお勉強の続き。しばらくほったらかしにしていたので何をやっているのか忘れてしまった。がんばって思い出す。何を隠そう実は、「思い出す」ことは一番苦手な精神作業である。その逆は得意だけど。「思い出す」の逆って「忘れる」ではなくて「覚えない」なのか?ああ、書いててわからなくなる...

続きを読む


Mac用プロットライブラリ-16「シンプレックス法のアルゴリズム」 [考え中 - プロットライブラリ]

昼過ぎて日が出てきやがった。くそー。もう遅いわい。
前回、行列で表現した線形計画問題を、ふたつの行列に分解した。この効能について。

続きを読む


前の10件 | - 考え中 - プロットライブラリ ブログトップ
メッセージを送る