私は 3D の非縮退三角形を持っています。前面と背面は頂点の曲がりによって決定されます。この三角形は、深さdとともに、直角三角柱を表します* (三角形の背面は「内側」であり、他の三角形の面は暗黙的に定義されます)。
4 番目の点が与えられた場合、その点がプリズム内にあるかどうかを確認する必要があります。プリズム内にある場合は、指定された三角形の面の表面上でその点に最も近い点を見つけます。
ノート:
- この質問は似ていますが、私が望むものとはまったく異なります。
- ※直角三角形とは限りません。
https://stackoverflow.com/a/8361714/15472の回答を使用して、ポイントが三角形の上にあるかどうかを確認すると、最初に下の三角形の上にあるかどうかを確認し、次に上の三角形の下にあるかどうかを確認できます (ここでは逆巻き)、両方が真であれば、それが中間にあることがわかります。最も近い点は、上部への投影または下部への投影のいずれかです。ポイントが 3D の三角形内にあるかどうかを調べるにはどうすればよいですか? 、これは簡単に解決できます。
2D の問題が得られるように回転を行うと、計算効率が向上する場合があります。(現在は単一の)三角形にポイントが含まれているかどうかを確認し、再度回転して2つの投影のそれぞれまでの距離を確認します。