3Dで軸を揃えた軸が線分(線ではない)と交差するかどうかを教えてください。私は交差点を必要としません。シンプルな3D AABB線分の衝突検出(交差点)
ボックスが2対角によって定義され、その始点と終点によって線分が、このような何か:
Boolean intersection(Vector3 boxStart, Vector3 boxEnd, Vector3 segmentStart, Vector3 segmentEnd){...}
は、私は多くの研究を行ってきた、と見つけることができたhaventは私が理解できる、または少なくとも使用するコード(C#またはJavaでうまくいけば)。私はその方法を必要とし、仕事をするライブラリではありません...
私の問題は100%正確である必要があり、セグメントがちょうどボックスに触れる(すなわち、それらが1つのポイントを共有する)場合、それはfalseを返す必要があります。たとえば、セグメントがボックスの辺の1つであるか、またはコーナーを通過する場合、それらは交差しません。 Javaでは
http://www.gamedev.net/topic/338987-aabb---line-segment-intersection-test/。 「ちょうど感動する」ケースを除外するには、「<' and '>」テストを使用してください。それらを含める場合は、 '<=' and '> ='テストを使用してください。 –
@Merlyn私がそれについて理解できない唯一の事はイプシロンです。私はそれを見つけましたが、それは100%正確ではないと私には思われます、そして、私は使用するεを知りません... – Nicolas
"イプシロンは、セグメントがほぼ平行であるボックス軸。 - 多くのサイクルを無駄にせずに退化した症例を検出できれば、イプシロンの使用を避けることができます。 –