私は、プロジェクトのポイントロケーションクエリを実行するためにCGALのAABBツリーを使用しています。私は3次元のデカルトグリッドとグリッドの内側に置かれた表面を持っています。グリッドのどの要素が外側/内側/表面であるかを調べる必要があります。このために、レイをキャストして、セルの各コーナーの交差点の数を見つけて、それらが内側か外側かをチェックします。CGAL AABBツリーの問題
グリッドのコーナーがサーフェス上のノードと一致しない限り、これは正常に機能します。しかし、セルのコーナーポイントがサーフェス上のノードと一致すると、私はゴミの結果を得る。そのようなシナリオの1つがErroneous result from CGALに示されています。
Simple_cartesian<double>
とExact_predicates_inexact_constructions_kernel
を使ってみましたが、状況は改善されませんでした。
CGALは浮動小数点演算に非常に敏感です。
どのようにこの問題を解決できますか?
提案されたクラスを使用して自分のコードを変更しました。それは私が必要とするように働いています。ありがとうございました。 –