簡體   English   中英

在已知(光源)點上找到給定多邊形的兩個“邊界”頂點

[英]Finding two "bounding" vertices of a given polygon w.r.t. a known (light source) point

上下文:我提前為問題的不嚴謹性道歉,因為事實證明它比我原先想象的更難表述。 我將通過不同的方法在給定多邊形的二維空間中找到兩個“邊界”頂點到已知點。 在這種情況下,“邊界”頂點是指這張圖片最能描述的情況。 即讓p成為已知點並想象我們在p處放置一個光源。 那么多邊形P(x_1,...,x_n)的邊界頂點是連接線段l(v_1, v_2)以與整個多邊形P(x_1,...,x_n)相同的方式阻擋來自p的光的那兩個點v_1, v_2 P(x_1,...,x_n)確實如此。

問題:我已經有了一個解決方案,可以通過旋轉角度 wrt 來比較P的頂點與p 然而,這種方法需要使用三角函數 atan2 函數,所以我很想知道是否有一種計算成本更低的方法。

選擇一個任意的起始頂點,讓 A。現在選擇另一個,讓 B,並檢查它是否位於 FA 的左側。 如果是,繼續FB等等。 同時對左和右執行此操作。

LeftOf 測試只是 2x2 行列式的一個標志。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM