我正在使用CGAL::Delaunay_triangulation_3
來生成插值網格。我有三個關於Triangulation_3::locate
的問題。爲什麼CGAL :: Triangulation_3 :: locate不會給你包含你的請求點的四面體的頂點?
在下面,如果
Cell
返回包含點Location
四面體的四個頂點? http://doc.cgal.org/latest/TDS_3/classTriangulationDataStructure__3_1_1Cell.htmlDelaunay_triangulation_3 Mesh(Points.begin(), Points.end()); Cell_handle Cell = Mesh.locate(Location);
什麼會
Cell
歸還時Location
坐的四面體頂點,邊,面嗎?Cell
是否僅返回Location
所在的頂點,邊的兩個頂點,facet的三個頂點?什麼將填寫Cell->vertex(vertex_no)
,而vertex_no
應該是0,1,2,3?在哪種情況下,由
Cell->vertex(vertex_no)
給出的四個頂點構建的四面體可能不包含點Location
?爲什麼我有很多這種情況?另外Cell->vertex(vertex_no)
似乎給與高重複的四個頂點的相同組合,而Location
不包圍他們? http://doc.cgal.org/latest/Triangulation_3/classCGAL_1_1Triangulation__3.html#a63e8c40604ae19d745b5f83e0e927379
你的最後一個環節似乎已經回答您的大多數問題... –
@MarcGlisse是...只是不是很確定......所以第一次是肯定的..第二彷彿'Location'是在邊界上,它給這種四面體拿着點(查詢)?..中的任何一個,但我的主要困惑是爲什麼了'Location'(或'query'中的鏈接)可以躺在其中由'Cell' – saar
給出的四面體之外什麼讓你覺得這可能發生?如果你有一個(小)測試用例,也許你應該開始使用它。 –