如何三角化乙個複雜多邊形?

時間 2021-06-01 02:13:33

1樓:Hova

題主問的問題屬於Computational Geometry, 相關的演算法有Voronoi Diagram 和 Delaunay Triangulation.

2樓:左慶

那五角星你期望渲染成什麼樣子?哪個區域該繪製哪塊不需要繪製?

比如我畫的這個圖,多邊形輪廓是P1-P2-P3-P4-P5-P1

按照如下順序繪製三角形P1P2P3, P2P3P4, P3P4P5, P4P5P1,P5P1P2。

共有5個三角形,上面這個圖裡面的數字表示被這5個三角形覆蓋的次數。其他多邊形依然可以這麼幹。

關鍵的問題在於你想怎麼畫,比如把覆蓋2次或者以上的區域畫成黑的,或者把覆蓋奇數次的畫成黑的,偶數次的畫出白的。

要計算每個畫素被覆蓋多少次也很容易,就是逐個畫了之後判斷黑還是白即可。

我剛有想了一下,如果是很奇怪的多邊形,用上面說的方法依然是很難判斷的,比如下面這個

但是如果是想把折線內部的區域都凃黑就比較容易了。

方法1:也就是將圖形外面的都當成乙個連通區域,除這個連通區域以外的畫素都塗黑。

以boundingbox作為繪圖區域, 以GL_LINES的方式繪製所有輪廓線,然後以外面某個點做個四向的種子填充即可。

方法2:如果是要提取上面這個奇怪形狀的新的輪廓,也是好辦的,將所有輪廓線相交點當做新的頂點,以前的輪廓線則被砍成若干段了,新的頂點和邊構造了乙個無向圖,以無向圖的某個點(比如Y座標最大的那個)出發,按照找迷宮的方式(一直貼著牆走)去遍歷圖,最後就可以找到外圈輪廓。

乙個三角求範圍問題,年紀大了不會做了,三角形ABC周長的最小值怎麼求?

inversioner小號 由條件 故 如果 則 注意到 故 1 eeimg 1 這不可能。故 從而 問題轉化為 求 的最小值。之前予一人大佬給了不等式的做法,我就直接提供暴力做法了。設 則 問題轉化為求 0 eeimg 1 的最小值,然後就求導吧。 予一人 依題設的三角條件,可以斷定 這是因為,由...

sin,cos,tan 中選乙個三角函式之首,你會選擇誰?

甲卡西酮 憑第一印象和直覺,我對sin最有好感,其次是cos,最後tan,其實我對三個印象都很好。個人覺得三角函式比別的函式更有優越感,更美觀,包括反三角函式。某些方面,它們三個是有等級之分的。看看它們的故事。三角函式廣義地誕生,應該是在單位圓裡定義來的,而不是初級階段的直角三角形。還記得我們用單位...

遇到乙個三角戀該怎麼解決?

青檸蘇打園 我納悶的是回答的人大部分都是正兒八經的給你分析的,為什麼認為你這個行為不妥的人沒有占多數。你這個根本不算三角戀,而是兩個男生單方面的被你選擇,這好嗎?既然你已經認為那個摩羯男快要被綠了,我相信你心裡也有答案了,希望那個摩羯男能及時止損吧。 溫和聰明的雷先生 看的我一臉蒙蔽,也沒有見確認關...