いわゆる Raycast ですね。 線分が三角形、つまりポリゴンと交差しているかを判定することで、例えば3D空間上のオブジェクトをマウスで選択したり、あるいはオブジェクトが接触しているか、などなど様々な判定をすることができます。 今回はこの「三角形と線分との交差判定」について調べてみたのでそのメモです。 理論 今回参考にしたのは「Tomas Mollerのアルゴリズム」です。比較的高速で一般的な手法のようです。 概要についてはこちらの記事を参考にしました。 なにを求める? 各式や、計算方法などは見ていればなんとなく分かりますが、これがなにを求めているのかが最初は分かりませんでした。 行っていることは最終的にはごく簡単な1次関数のグラフに落としこむものでした。 具体的には以下の画像を見てください。 考え方 レイをある方向に飛ばします。 仮にこのレイが三角形面と交わると仮定します。 すると上記