目次ページ  前ページ   次ページ

11. 二平面の交差計算と応用

11.3 二面の交差線を計算するアルゴリズム


11.3.5 予備的に箱の干渉で調べる

 多面体の干渉を検査するとき、多面体を囲う箱の寸法を頂点座標の集合から計算します。多面体が交差するか・しないかの予備的な判定は、多面体を囲う個別の箱の位置と寸法を調べることで得られます。二つの箱に重なりが無ければ、干渉がありません。二つの箱の共通部分があれば、これを最小箱寸法として控えておきます。多面体を構成している面は、多面体の部品に当たります。プログラミングの用語で言えばオブジェクト(物)です。面は、さらに辺と頂点とを部品として持つと考えます。面を空間にある一単位の部品と見ると、頂点の集合から、面を囲う箱状の寸法が計算できます。二面が交差するか・しないかの予備的な判定も、二面を個別に囲う箱が、最小箱と干渉するか・しないかを調べることと、箱同士の干渉を検査することで得られます。二つの箱に重なりが無ければ、交差の可能性がありません。干渉の可能性の有る無しの通知情報は、面・辺・頂点のリストセルの作業領域にマークしておきます。頂点座標が最小箱寸法の内側にあれば、それと関連を持つ辺・面は干渉の可能性があります。辺も部品の性格があります。辺の両端の頂点座標が共通箱の寸法の外側にあったとしても、辺が箱を横切る場合は干渉の可能性があります。このような予備的な判定をしておいて、無駄な干渉検査を省きます。
2008.11 橋梁&都市PROJECT

前ページ  次ページ