アンカーの判別処理を書いた。

判定アルゴリズムは、ある頂点に対してアンカーを構成するすべての三角形の平面の陰関数を解いて
すべてが正、もしくは負であればアンカーの中にあるとみなすというもの。
ax + by + cz + d = 0
を各三角形について算出(a, b, c, d値を求める)しておいて、対象の点(x, y, z)を代入して
結果の符号をチェックする。
この方法だと凸型のアンカーでないと判定に失敗する(中にあると判定できない)場合があるが、
まぁいいだろう。
任意の形状に対応しようと思ったらレイトレースして入った出たをカウントするくらいしか思いつかないが
そこまでする必要もなかろうと。


アルゴリズムはこれだけだが、オブジェクトの名前やアンカーのマテリアルの名前での対象の絞り込み、オブジェクト内の複数アンカーを連続した面毎に分割するなどの前処理が極めて煩雑。


モーションプログラミングの最初の題材にmikotoを選んだのは正直失敗だった。
面倒くさすぎる。
xファイルとかでやっとけばもぅ動いているんじゃなかろうか。
乗りかかった船なのでこのまま進めるけど。