JavaScript中的直线和圆之间的碰撞检测

Jar*_*rod 4 javascript geometry canvas collision-detection line

我正在寻找一个确定的答案,可能是一个函数,因为我很慢,这将决定一个线段和圆圈是否已经碰撞,在javascript(使用画布)

像下面那样的函数如果碰撞则返回true,否则返回false将是很棒的.我甚至可能会给你一个孩子.

function isCollided(lineP1x, lineP1y, lineP2x, lineP2y, circlex, circley, radius) {

    ...
}
Run Code Online (Sandbox Code Playgroud)

我找到了很多公式,比如这个公式,但它们都在我的头上.

Der*_*會功夫 6

在这里你需要一些数学:

在此输入图像描述 如果您不知道如何解决方程式,这是基本概念.我会把剩下的想法留给你.;)弄清楚它CD的长度并不难.

如果你问如何,那是怎么回事: 在此输入图像描述 在JavaScript中查找冲突有点复杂.