0

我正在寻找一个公式,它会给我Vector2 Points在给定中心的某个半径内的所有内容。

本质上,我要做的是更改 256 x 256 纹理中每个像素的颜色,该纹理位于特定像素的一定半径内(使用 Unity3d 游戏引擎)。编程语言并不重要,因为我可以将它转换为我可以使用的东西。

4

1 回答 1

1

设为中心 xcxcy中心 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,而是立即重置为更接近的值。

于 2010-06-11T05:28:06.860 回答