ポイントがソリッド(閉じたサーフェスのセット)内にあるかどうかをテストするための非常に迅速な解決策(数学をまったく必要としない)は、すでに推測したように3Dゲームエンジンを使用することです。ルシウスが指摘するように、それはハエを粉砕するためにクレーンを使用するようなものです。しかし、それはごくわずかな労力で機能します。
これを確認するために、私はPanda3Dを使用する前にこれを実行しました(そして、ほぼすべての3Dエンジンを使用できても驚かないでしょう)。
衝突検出は役に立ちました。Luciusが指摘したように、サーフェスを検出する必要があります。したがって、パンダが「RayCollider」(基本的には線)と呼ぶものを使用して、3Dモデルのサーフェスと交差する回数を確認します。Pandaには、これを行うためのヘルパー関数がすでに用意されており、SDKをダウンロードするときにRayCollidersを使用してサーフェスを検出するフルコードの例が多数含まれています。
次に、すべてのx、y、zスペースを反復処理し、パンダヘルパー関数を使用して光線の原点を移動するのは簡単なことです。奇数のサーフェスと衝突する場合は、内部にいます。そうでなければ、あなたは外にいます。
Panda3Dのフルコードの例と比較すると、このタスクは実際には非常に簡単です。学習曲線は、ほとんどの場合、数学ではなくエンジンに慣れるために費やされます。