我需要画一个具有特定范围的圆。在我的例子中,我需要从顶部开始,然后向下到圆圈的底部,越过圆圈的左外边界。我需要知道每条线的长度以及X和Y坐标。我基本上认为一个圆是一堆堆叠在一起的线,随着它的进一步向下,水平线的长度不断增长,直到它到达中点,然后一直向后,收缩和收缩。然后你就有了一个圆圈。我需要迭代每一条线,从左侧知道它们的X和Y坐标,这样我就可以执行line_to_the_left(x, y, length)
来绘制圆。
像这样取一个范围的算法是怎么做到的呢?我知道我需要的一件事就是Pi。
发布于 2021-04-06 03:34:31
您可以在整数Y
值上进行循环。对于中心坐标cx, cy
和半径R
for y = - R ... R:
hw = (int) sqrt(R^2 - y^2) //halfwidth
line(cy + y, cx - hw, cy + y, cx + hw) //left and right ends of line
https://stackoverflow.com/questions/66957157
复制相似问题