在我目前的問題中,我希望能夠檢測一個點是否在2D vtkUnstructuredGrid中。如何查找一個點是否在由VTK中2D非結構化網格定義的輪廓內?
我已經嘗試使用vtkSelectEnclosedPoints製作一個vtkGeometryFilter並在我的unstructuredGrid上使用它。但是,vtkSelectEnclosedPoints類旨在檢查點是否位於曲面內,而不是輪廓內。因此,當我嘗試在2D中應用它時,我發現我的點位於我的網格之外,即使我知道它們位於內部。這是因爲該課程固有地在3D中工作。 有沒有類似的類或方法可以用來檢測何時點在2D vtkUnstructuredGrid中?代碼能夠在打開它之前知道網格的尺寸(這是用戶輸入)。
我vtkUnstructuredGrid的輪廓中的所有點形成了一個奇怪的凹面幾何形狀,隨着我的軟件的每次運行而改變。由於這個幾何體是由許多可能隨時間變化的多邊形構成的,所以我不知道每次我如何重建這些多邊形? – BlaB
PointInPolygon函數也適用於凹多邊形,所以這不是問題。如果像你說的幾何圖形是多個多邊形一樣,只需使用示例中的PointInPolygon函數測試所有多邊形,直到找到其中的一個點(或直到您測試所有多邊形,如果它不在其中任何一箇中)。如果這個解決方案不是你正在尋找的東西,也許一些截圖或代碼片段會更好地說明你的問題......如果你想測試的邊界不是一個(一組)多邊形,你想要測試的邊界如何? – tomj