gpt4 book ai didi

java - 计算处理中 Pi 的值

转载 作者:行者123 更新时间:2023-12-01 08:54:37 25 4
gpt4 key购买 nike

Processing 是一个使用 Java 的环境。我正在尝试使用蒙特卡罗方法来计算 Pi 的值。我正在尝试创建一个飞镖靶(正方形内的圆圈),并在每当在圆圈内选择随机选择的点时返回"is"。

处理时使用坐标系,其中左上角为原点,向右为正 x 轴,向下为正 y 轴。

这是我的代码:

float circleX;
float circleY;
float r;

void setup() {
size(360, 360);
circleX = 50;
circleY = 50;
frameRate(0.5);
}

void draw() {
background(50);
fill(255);
stroke(255);
fill(100);
ellipse(180, 180, 360, 360);
ellipse(circleX, circleY, 10, 10);
circleX = random(360);
circleY = random(360);

r = (circleX-180)*(circleX-180) + (180-circleY)*(180-circleY);

if (r < 32400) {

print("Yes! ");

}
}

但是,在许多情况下,圆内的点不会返回"is",而圆外的点会返回"is"。关于哪里出了问题有什么想法吗?

最佳答案

您必须交换生成随机坐标并绘制它的线:

  // Generate new random coordinates
circleX = random(360);
circleY = random(360);
// Draw circle at those coordinates
ellipse(circleX, circleY, 10, 10);

// Check whether the coordinates are withing the big circle
r = (circleX-180)*(circleX-180) + (180-circleY)*(180-circleY);

按照您的方式,在生成新坐标之前绘制圆,然后检查新坐标。

关于java - 计算处理中 Pi 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42129075/

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