与えられた2つの長方形の線分を3Dで計算する高速な方法を探しています。たとえば、各3D長方形は、その4つの頂点によって定義されます。
妥当なプログラミング言語での解決策で十分です。
与えられた2つの長方形の線分を3Dで計算する高速な方法を探しています。たとえば、各3D長方形は、その4つの頂点によって定義されます。
妥当なプログラミング言語での解決策で十分です。
エラーが含まれていると思われるアーロンの回答に基づいています。
手順 4 を省略すると、最初の四角形が 2 番目の四角形の平面と交差するが、四角形自体とは交差しない場合に、誤った交差が発生します。例:
rectangle1=[(-1,-1,0),(-1,1,0),(1,1,0),(1,-1,0)]
rectangle2=[(0,50,50),(0,50,40),(0,40,40),(0,40,50)]
Plane1 は z=0、plane2 は x=0、それらの交点は y 軸であり、1 と -1 でrectangle1 と交差します。ただし、長方形は交差しません。
(*) 平面が重なっている場合、長方形の交点は依然として線になる可能性がありますが、これはかなり厄介なケースです。
3 つの一般的な 3D 操作を組み合わせる必要があります。
2 つの長方形を 2 つの平面に変換します (4 つの頂点のうち 3 つを取り、そこから平面を作成します)。
2 つの平面を交差させて、無限の線を取得します (ここを参照)。
この線を最初の長方形の境界線と交差させます。求める線分の終点である 2 つの交点を取得する必要があります。