使用X,Y坐标绘制圆内的点

Rig*_*gil 7 javascript plot geometry coordinates

有没有办法在javascript中绘制x,y坐标,使它们落入一个圆而不是一个正方形?

例如,如果我有以下代码:

  circleRadius = 100;
  context.drawImage(img_elem, dx, dy, dw, dh);
Run Code Online (Sandbox Code Playgroud)

我需要弄清楚x,y值的组合会落在100像素的圆圈内.

谢谢!

nic*_*ico 6

  1. 在-100和100之间随机选择一个x
  2. 一个圆被定义x^2 + y^2 = r^2,在你的情况下等于100 ^ 2 = 10000
  3. 从这个等式中你可以得到它y^2 = 10000 - x^2,因此选择x的y = +/-sqrt(10000 - x^2)点将在圆上得到碱液.
  4. 在第3点找到的两个坐标之间随机选择y
  5. 你定了!

编辑: 在JS中:

var radius = 100;
x = Math.random() * 2 * radius - radius;
ylim = Math.sqrt(radius * radius - x * x);
y = Math.random() * 2 * ylim - ylim;
Run Code Online (Sandbox Code Playgroud)

另一个编辑: 一个jsFiddle示例