バウンディングボックス
GTKとOpenGLを使いながら作っているパッチビューワーにバウンディングボックスを作る機能を追加しようと思っています。
メッシュデータの読み込みができるようになったので。
バウンディングボックスはx,y,zの軸に沿った箱AABBとOBBがあります。
僕が作ろうとおもっているのはOBBの方。
OBBというのは主軸とよばれるメッシュデータ固有の軸を使ってつくるバウンディングボックスの事です。
固有の軸というのは、例えばメッシュがx,y,z軸には沿っていなくて各軸に45°ずつずれているとすると…AABBでは箱の内部にメッシュの存在しない領域が増えてしまいます。
しかし、固有の軸を使えばそのような無駄な領域を減らす事ができます。
固有の軸というのは、メッシュを構成する各点が質量1であるとみなして慣性テンソルを作る事でもとまります。(主値、主軸の事ですね)
でも、日本で売られている邦訳されたCGの本ではこの固有の軸を慣性テンソルから説明するのでなく、共分散行列とかから説明しているらしいですね…。
共分散行列からだと分かりづらくないかなぁ。