gpt4 book ai didi

java - "relax"圆的方程如何得到更好看的圆?

转载 作者:搜寻专家 更新时间:2023-11-01 03:39:14 26 4
gpt4 key购买 nike

我需要使用 java 编写一个程序来完成作业。程序需要在给定坐标处输出一个给定半径的圆。到目前为止,我已经创建了一个嵌套在另一个 for 循环内的 for 循环,以扫描所有坐标并在坐标满足圆方程时打印“#”,即:(x−a)^2 +(y− b)^2 =r^2

但是,我的圈子缺少某些坐标。

我相信这是因为我没有考虑问题中包含的提示之一。

提示是:我们必须处理的离散世界使得很难表达等式 1 中的严格等式(等式 1 是圆的等式)。为了画出更好的圆圈,你能放松这种平等吗?

如果有人能给我任何关于如何“放松”圆方程以输出更完整的圆的想法,我将不胜感激。

enter image description here

谢谢!

最佳答案

问题在于整数运算的舍入会影响您的结果。

整数舍入并不是真正的舍入,而是截断(所有小数部分都丢失了,即 (int).9 = 0),因此您可以先尝试将每个结果加上 .5(如果数字为负数,则为 -.5 ) 在截断发生之前。

如果这没有帮助,请尝试通过重复该过程在同一个网格上绘制多个圆圈,但使用 r +/- .5,以“填充”锯齿状的间隙。

如果这还不够,我会在虚拟网格上以更大的比例(可能是 4 倍)和更粗的线“画”一个圆(画 3 个 r +/- 1 的圆),然后将其缩小以适合真正的网格。

关于java - "relax"圆的方程如何得到更好看的圆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19372077/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com