3D 凸包を計算するためのクイック ハル アルゴリズムを実装しようとしています。問題は、ポイントが特定のサーフェスを「見る」ことができるかどうかを知る必要があることです。
サーフェスには、時計回りまたは反時計回りの方向があります。
アルゴリズムの動作をグラフィカルに説明するために、小さな opengl プログラムを作成しました。
他のアルゴリズムが使用しているのを見たさまざまな方程式を試しました (正規化された外積、平面からのドットの距離)
それらはすべて、アルゴリズムで間違った手順を実行することにつながりました。つまり、特定のサーフェスがそのポイントから見えると判断したことを意味します (グラフィックで見ることができますが、そうではありません)。
表面または「面」の例。
e1 = 0, 0, 0 to 10, 0, 0
e2 = 10, 0, 0 to 10, 10, 0
e3 = 10, 10, 0 to 0, 10, 0
e4 = 0, 10, 0 to 0, 0, 0
<---------/\
|| ||
|| ||
|| ||
\/--------->
2 つのポイントがあり、それらがサーフェスのどちら側にあるかを知りたいとしましょう。
p1 = -1、-1、-1 p2 = 1、1、1
どんな助けでも大歓迎です。