それぞれが独自の位置を持ち、頂点の座標を定義するクワッドの配列があります。カメラの平面にシーンの投影があります。各クワッドの配列要素の投影面積を知りたいです。実際、それがどのオブジェクトに属しているかを投影ピクセルで知ることはありません。
質問する
75 次
1 に答える
0
Viewport.Project メソッドを使用して、各頂点を画面に投影できます。
その後、画面座標でクワッドの頂点を取得します。残っているのは、問題のポイントがそのポリゴンに属するかどうかを判断することだけです。これはさまざまな方法で行うことができます。
1 つのオプションは、各ポリゴン エッジに対してポイントの側を決定することです。これは、ポリゴンが凸面であるため機能します。
previousSide := 0
for each edge in polygon
d1 := edge.p2 - edge.p1 //direction vector of edge
d2 := pointInQuestion - edge.p1 //direction of first edge point to point in question
side = d1.x * d2.y - d1.y * d2.x //cross product
if side * previousSide < 0 then return false //different sides
previousSide := side
next
return true
于 2012-10-12T15:18:53.790 に答える