Я получил задание для поступления в программу Computer Science, где мне нужно поступить в PI. Чтобы вычислить пи, я должен сделать соотношение между площадью квадрата, круга, общим количеством точек и количеством точек в круге.
- N = общее количество точек
- M = точки внутри круга
- Диаметр 400
Формула площади круга
радиус ^ 2 * π или диаметр ^ 2 * π / 4
Формула площади квадрата
2 * радиус ^ 2 или диаметр ^ 2
У меня была формула (M / N) * 4
Вот как я понял:
(d ^ 2 * π / 4): d ^ 2 = M: N
π / 4 = M / N
π = (M / N) * 4
проблема в том, что я не получаю пи в качестве вывода, но около 14.2 ..
Кто-нибудь знает, что я делаю не так?
Итак, при обработке я написал следующий код
float N = 0;
float M = 0;
void setup()
{
size(400, 400);
frameRate(90000);
background(255, 255, 255);
ellipse(200,200,400,400);
}
void draw()
{
/* Random x- en y-coordinate. */
float x = random(0,400);
float dx= (x-200);
float y = random(0,400);
float dy = (y-200);
float d = (float)(Math.sqrt(Math.pow(dx,2) + Math.pow(dy,2)));
/*Red in the circle*/
if(d <= 200 ){
stroke(255,0,0);
M++;
}
else{
stroke(0,255,0); /*green around the circle*/
N++;
}
point(x,y);
println
((M/N)*4);
}