2010-06-11 53 views
0

我正在尋找一個公式,該公式可以給出我在給定中心的某個半徑內的所有Vector2 Points獲取Radius中的所有Vector2點

基本上我想要做的是改變每個像素在256 x 256紋理中的顏色,該紋理在特定像素(使用Unity3d遊戲引擎)的特定半徑範圍內。編程語言並不重要,因爲我可以將它轉換爲我可以使用的東西。

+0

你有沒有解決它? – aioobe 2010-06-14 10:39:08

回答

1

cxcy爲中心x和中心y,r爲半徑。

r2 = r * r; 
for each dy = 0 ... r 
    dx = 0 
    while (dx*dx + dy*dy <= r2) 
     within(cx+dx, cy+dy) 
     within(cx-dx, cy+dy) 
     within(cx+dx, cy-dy) 
     within(cx-dx, cy-dy) 
     dx++ 

的優化是,不要在每次迭代dx重置爲0,但一些接近價值的時候了。