簡體   English   中英

如何在圓周上接近pi

[英]How to approach pi in a circle

我已經收到了計算機科學計划的錄取任務,在那里我必須攻讀PI。 為了計算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

問題是我沒有得到pi作為輸出,而是大約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); 

}

由於圓位於正方形內,落在圓內的點也落在正方形內。

您需要執行4 * M /(M + N)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM