【发布时间】:2016-06-16 20:43:20
【问题描述】:
我正在编写两个圆的碰撞检测。但我真正想要的是主对象只会在其一半表面上与其他对象发生碰撞,如下图所示:
半圆面会从不同方向与其他圆碰撞。我应该如何编写函数来模拟这个?
我目前发现的两圈检测是这样的:
var dx = circle1.x - circle2.x;
var dy = circle1.y - circle2.y;
var distance = Math.sqrt(dx * dx + dy * dy);
if (distance < circle1.radius + circle2.radius) {
// collision detected!
}
但是只有一半的主要圈子参与如何?如果只有一小部分圆表面参与碰撞呢?说只有 Math.PI / 2 度圆会检测到碰撞?
【问题讨论】:
标签: javascript html collision-detection