2014-05-14 43 views
0

我在畫布上創建了畫布和圓圈。畫布上的圓圈內的隨機點

我試圖通過使用解決方案here在圓內創建隨機點,但點也放置在圓內部和外部。

這裏的那一刻起我的代碼創建的圈子:

draw_circle(600, 600, 500); 


      for (i = 0; i < 20; i++) { 
       radius = 500; 
       y = 0; 
       x = 0; 
       y = -radius + Math.random() * (radius + radius + 1); 

       // x must respect x² + y² < r² 
       xMax = Math.pow(Math.pow(radius, 2) - Math.pow(y, 2), 0.5); 
       x = Math.random() * 2 * xMax - xMax; 

      draw_circle(x, y, 3); 
      } 

,這是我draw_circle功能:

function draw_circle(x, y, r) { 

     ctx.beginPath(); 
     ctx.arc(x, y, r, 0, Math.PI * 2); 
     ctx.stroke(); 
    } 
+1

定義 「完全不是那麼回事。」 –

+0

圓點大部分都放在圓圈外面,有的放在 – Dvirski

回答

0

的問題是,你正在繪製的圓圈(600,600)中心,但您正在繪製以(0,0)爲中心的點。

嘗試:

draw_circle(x+600, y+600, 3); 
+0

謝謝,你說得對 – Dvirski