2017-07-17 3 views
0

私はCGAL::Delaunay_triangulation_3を使って補間のためのメッシュを生成しています。 Triangulation_3::locateに関する3つの質問があります。以下でなぜCGAL :: Triangulation_3 :: locateは四面体の頂点にあなたの要求ポイントを含んでいないのですか?

  • CellLocationが含まれている四面体の4つの頂点を返す場合? http://doc.cgal.org/latest/TDS_3/classTriangulationDataStructure__3_1_1Cell.html

    Delaunay_triangulation_3 Mesh(Points.begin(), Points.end()); 
    Cell_handle Cell = Mesh.locate(Location); 
    
  • Locationは、四面体の頂点、エッジ、ファセットの1に座ったときにCell何をお返しでしょうか? Cellは、Locationの頂点だけを返します。エッジの2つの頂点、ファセットの3つの頂点は返されますか? vertex_noは0,1,2,3となりますが、Cell->vertex(vertex_no)は何を記入しますか?

  • Cell->vertex(vertex_no)によって与えられる4つの頂点によって構築された四面体が、点Locationを含まない可能性がありますか?なぜ私はこの事件の多くを持っていますか?またCell->vertex(vertex_no)は、高い繰り返しの4つの頂点の同じ組み合わせを与えているようですが、Locationはそれらに囲まれていませんか? http://doc.cgal.org/latest/Triangulation_3/classCGAL_1_1Triangulation__3.html#a63e8c40604ae19d745b5f83e0e927379

+0

あなたの最後のリンクはすでにあなたの質問のほとんどに答えているようです... –

+0

@MarcGlisseはい...ちょっとわかりません... 1番目ははいです.2番目は「Location」が境界にあるかのように2番目です(クエリー)を保持するこの四面体のいずれか?しかし、私の大きな混乱はなぜ 'Location'(またはリンク内の' query')が 'Cell'によって与えられた四面体の外側にあるのでしょうか? – saar

+0

それが起こると思いますか?あなたが(小さい)テストケースを持っているなら、たぶんそれを使って始めたはずです。 –

答えて

0

機能locate()のいくつかのオーバーロードがあることに注意してください。あなたはLocate_type ltint li、およびljでそれを取るべきです。これは、クエリがセル内、面上、エッジ上、または頂点上にあるかどうかを示し、liljは、どの面、辺、または頂点を表示しますか。

関連する問題