javascript中有没有一种方法可以绘制x,y坐标,使它们落入圆形而不是方形?
例如,如果我有以下代码:
circleRadius = 100;
context.drawImage(img_elem, dx, dy, dw, dh);
我需要计算出落在 100 像素圆内的 x、y 值的组合。
Thanks!
- 随机选择 -100 到 100 之间的 x
- 圆的定义是
x^2 + y^2 = r^2
,在您的情况下等于 100^2 = 10000
- 从这个方程你可以得到
y^2 = 10000 - x^2
,因此具有选定 x 的点和y = +/-sqrt(10000 - x^2)
将躺在圆圈上。
- 在点 3 找到的两个坐标之间随机选择一个 y
- 你已经准备好了!
EDIT:
In JS:
var radius = 100;
x = Math.random() * 2 * radius - radius;
ylim = Math.sqrt(radius * radius - x * x);
y = Math.random() * 2 * ylim - ylim;
另一个编辑: 一个 jsFiddle 示例 https://jsfiddle.net/6hvc70jj/3/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)