2012-01-13 116 views
1

對於您的計算機科學家來說,這是一個棘手的問題。 假設我有一個由100個條目arr [i] [j]組成的二維數組/矩陣。我和j從0-99開始。 這可以設想爲一個點的平方,每個點對應一個數據值。二維數組中的特殊多邊形for循環

現在,如果我定義了一個4點多邊形並知道這4點的標記: 是否有可能(是否有一個聰明的算法)僅遍歷位於4點內的矩陣中的條目多邊形? 也就是說,循環圈中的i和j的每個值都對應於arr [i] [j]中有趣的值(i和j在4點聚內)。

這是否清楚?我明白如果它很難理解。

此致敬禮

+3

在網上搜索「掃描轉換」。你會發現大量的教程和示例代碼。 – 2012-01-13 04:27:30

+0

你基本上正在尋找一種填充算法,其中有很多。 – 2012-01-13 04:35:30

+0

非常感謝,這對我的問題有很大幫助。你知道這些算法是否也存在參數化橢圓而不是多邊形? – Nicke 2012-01-13 05:07:28

回答

2

聽起來很像三角形光柵化。

有許多文章/教程,你可以在它身上找到,比如這個:

http://joshbeam.com/articles/triangle_rasterization/

或本:

http://sol.gfxile.net/tri/index.html

隨着4點多隻是把它分成2個三角形。

+0

謝謝Pubby,因爲我們的目標是在實時實現中使用該算法,所以快速而簡單至關重要。這是找到位於poly內部的標記(在你的例子中是灰色/藍色)的最好(計算)方法嗎? – Nicke 2012-01-13 04:41:47

+1

@Nicke它非常快,因爲它主要用於3D圖形。 – Pubby 2012-01-13 04:50:13

+0

非常感謝,這真的幫助了我的問題的很大一部分。我還會問你另一個相關的問題,如上所述:你知道這些算法是否也存在參數化橢圓而不是多邊形? – Nicke 2012-01-13 05:08:09