我正在寻找一个公式,它会给出我在给定中心的某个半径范围内的所有Vector2 Points
。
基本上我要做的是改变特定像素内某个半径范围内256 x 256纹理中每个像素的颜色(使用Unity3d游戏引擎)。编程语言并不重要,因为我可以把它转换成我可以使用的东西。
答案 0 :(得分:1)
让cx
和cy
为中心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,而是立即将某个更接近的值重置为。