2010-06-11 29 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,但一些接近价值的时候了。