Javascript 检查圆边界内的碰撞
我试图用一些线条相似的精灵来填充这个圆圈。 我在+-半径范围内生成随机位置x和y,但我不想在精灵不与圆边界相交时绘制精灵,如: 绿色的线我想画,红色的线我不想画。 我想知道一些想法,可以帮助检测不需要的精灵快。有什么我可以用的吗?Javascript 检查圆边界内的碰撞,javascript,graphics,2d,collision,Javascript,Graphics,2d,Collision,我试图用一些线条相似的精灵来填充这个圆圈。 我在+-半径范围内生成随机位置x和y,但我不想在精灵不与圆边界相交时绘制精灵,如: 绿色的线我想画,红色的线我不想画。 我想知道一些想法,可以帮助检测不需要的精灵快。有什么我可以用的吗? 我使用的是pixi.js,sprite的高度和宽度总是一样的。一个简单的想法可能是: 对于段(直线?),由两点P1=(x0,y0)和P2=(x1,y1)定义。 圆由中心R=(xc,yc)和半径R定义 现在检查 距离P1-C
我使用的是pixi.js,sprite的高度和宽度总是一样的。一个简单的想法可能是: 对于段(直线?),由两点P1=(x0,y0)和P2=(x1,y1)定义。 圆由中心R=(xc,yc)和半径R定义 现在检查
- 距离P1-C
- 距离P2-C
- 距离P2-C
pointIsInCircle
,它可以完成一半的工作
下面是一个简单的例子
功能检查点(a、b、x、y、r){
var dist_points=(a-x)*(a-x)+(b-y)*(b-y);
r*=r;
if(距离点
function check_a_point(a, b, x, y, r) {
var dist_points = (a - x) * (a - x) + (b - y) * (b - y);
r *= r;
if (dist_points < r) {
return true;
}
return false;
}