Javascript 如何在椭圆内绘制随机点?

Javascript 如何在椭圆内绘制随机点?,javascript,math,canvas,geometry,Javascript,Math,Canvas,Geometry,我想在这个椭圆上填充随机点,如果有任何帮助,我会很高兴的 动作的算法是什么?要在椭圆内生成均匀分布的点,请使用并按所需比例缩放坐标: generate two random values r = A * sqrt(random(0..1)) fi = 2 * Pi * random(0..1) and point in ellipse with horizontal semiaxis A and vertical one B x = center.x + r * cos(fi) y =

我想在这个椭圆上填充随机点,如果有任何帮助,我会很高兴的


动作的算法是什么?

要在椭圆内生成均匀分布的点,请使用并按所需比例缩放坐标:

   generate two random values
r = A * sqrt(random(0..1))
fi = 2 * Pi * random(0..1)
  and point in ellipse with horizontal semiaxis A and vertical one B
x = center.x + r * cos(fi)
y = center.y + B / A *  r * sin(fi)
如果旋转椭圆,也旋转这些坐标

您可以在椭圆周围的框内绘制随机点,如果它们落在椭圆内,您可以保留它们,否则,您将丢弃它们。当你在ellipseOr中得到30个点时停止,你在域中随机选取一个x值,得到相应的y=f(x)。重复30次。在椭圆区域1内生成30个随机点。1在包含椭圆的矩形内生成随机点。假设椭圆是AxB大小,所以在矩形x:[0,a],y:[0,B]1.2内生成一个点,如果该点不在椭圆内,则过滤掉该点。勾选(x/A)^2+(y/B)^2<1-如果为假,则该点已被指出,应予以放弃。1.3在循环中重复此操作,直到收集到30个有效点2。绘制它们为什么指定旋转角度等于π?在我的例子中a和B是什么?半径x,半径y(150/2和75/2)