我正在使用CGAL來使用ex_alpha_shapes_3 example創建一組3D點的凹形。接下來,我想知道空間中的點查詢是否位於由三角形凹殼面(ex_alpha_shapes_3代碼的輸出)創建的曲面內。一個「多邊形點」技術應該對此有用。如果有人能幫助我解決這個問題,我將不勝感激。確定一個點是否在CGAL的3D Alpha形狀表面的內部或外部
2
A
回答
4
1
我不知道CGAL,但有幾個啓發式可以使用,因爲你的多面體已知是凸的。基本上2D可以做很多工作。您可以使用任何軸,但假設我們正在XY平面中工作並暫時忽略Z分量。由於你的形狀是凸的,通常只有兩個三角形的XY座標圍繞着你的點的XY座標。對於任何三角形,您可以快速確定是否x [min] < x [point] < x [max],同樣對於y。如果這些測試失敗,繼續前進。如果他們成功了,需要進一步測試來確定點是否實際在三角形內。找到2個可接受的三角形後,找到該點(X,Y)處每個三角形的Z值。如果點的Z位於面的Z值之間,則該點位於實體內部。
相關問題
- 1. 確定一個點是否在opencv形狀的內部或外部
- 2. 保存CGAL alpha形狀表面網格
- 3. 谷歌地圖API:確定點是否在內部形狀
- 4. 在CGAL和可視化中創建3D Alpha形狀
- 5. 確定一個點是否坐在任意形狀內?
- 6. 確定多邊形法線,多邊形內部還是外部的點
- 7. 3D alpha形狀產生意想不到的凸面的表面
- 8. 找到一個點是否內部或外部的柔性基本對象
- 9. 如何測試一個點是在三角形的內部還是外部?
- 10. 如何確定Delaunay三角形是內部還是外部?
- 11. 是否在特定元素內部或外部
- 12. CGAL找到網格中的內部點
- 13. 是否可以確定某個方法是從一個類的內部還是外部調用的?
- 14. 確定點是否在多邊形內?
- 15. 確定點是否在多邊形內
- 16. '扭'不是一個公認的內部或外部命令
- 17. 如何知道一個點是否在一個多邊形的內部android
- 18. 確定一個點相對於給定3D表面的位置
- 19. 明確不被識別爲一個內部或外部命令
- 20. 找到一條線段(矩形內部的一個點,外部的一個點)和直腸側的交點
- 21. 在內部放置一個UImageView?或外面?一個UITableView
- 22. 確定一組點的「內部域」
- 23. 確定一個點是否在多邊形的頂點
- 24. 如何確定一系列點(或多邊形)是否在矩形區域內?
- 25. 確定一個點的列表是否符合「形成」?
- 26. 是否在報價單內部或外部放置減號?
- 27. C#移動面板內部形狀
- 28. 的JavaScript不是內部形狀
- 29. 確定外部頁面
- 30. 測試矩形是否包含另一個矩形的全部或部分?
我不熟悉CGAL,所以我不知道在那裏實現光線追蹤和射線碰撞算法是多麼容易。如果這很難,而且性能也不重要,那麼如果一個點在一個alpha形狀內,那麼原始點集+查詢點的alpha形狀應該與原始alpha形狀相同,並且您可能能夠檢查這個「平等」。 –
感謝您的回覆。實際上,性能非常關鍵,因爲我需要在每個時間步驟重複此過程,並且我的數據集中可能會有相當多的點(數十萬甚至更多)。 – Vahid