Ninja Library - 構造体/その他のデータ型

NJS_PARAHEXA

コリジョン用の平行六面体を定義する構造体

定義

typedef struct{ 
    NJS_POINT3  p; 
    NJS_VECTOR  v[3]; 
} NJS_PARAHEXA; 

メンバ

 平行六面体のある頂点
v[3]   頂点 p を始点とする辺のベクトル

解説

コリジョン用の平行六面体を定義する構造体です。

平行六面体の8頂点の座標が以下のように定義されます。
p
p+v[0]
p+v[1]
p+v[2]
p+v[0]+v[1]
p+v[1]+v[2]
p+v[2]+v[0]
p+v[0]+v[1]+v[2]

コリジョン関数は、高速化のため、一般的な平行六面体は扱 わず、直方体であることを仮定します。

したがって、v[0], v[1], v[2] が互いに直角である ようにしてください。

なお、v[0],v[1],v[2] の与え方に右手系、左手系などの制限 はありません。どのように与えても、上記で定義された直方体 の周囲及び内部がコリジョンの対象になります。


参照

njCollisionCheckB2B2() 2つの直方体の当たり判定
njCollisionCheckB2C() 直方体とカプセルの当たり判定
njCollisionCheckB2S() 直方体と球の当たり判定
njGetBox2MinMax() 平行六面体のバウンディングボックスを算出

NJS_PARAHEXA
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000