7

私は決定的な答えを探しています.おそらく私は遅いので、JavaScriptで線分と円が衝突したかどうかを判断する関数です(キャンバスでの作業)

以下のような、衝突した場合に true を返し、そうでない場合に false を返すだけの関数はすばらしいでしょう。私はあなたに赤ちゃんを提供するかもしれません。

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

    ...
}

このような数式をたくさん見つけましたが、頭の中にありません。

4

4 に答える 4

8

ここでは、いくつかの数学が必要になります。

ここに画像の説明を入力 これは、一般的な方程式の解き方がわからない場合の基本概念です。残りの考えはあなたに任せます。;)CDの長さを把握することはそれほど難しくありません。

方法を尋ねる場合は、次のようにします ここに画像の説明を入力 。JavaScript で衝突を見つけるのは、ちょっと複雑です。

于 2012-06-09T01:56:25.867 に答える
0

Matt DesLauriers は、この問題の Javascript ライブラリをhttps://www.npmjs.com/package/line-circle-collisionで公開しました。API は簡単です。

var circle = [5, 5],
    radius = 25,
    a = [5, 6],
    b = [10, 10]

var hit = collide(a, b, circle, radius)
于 2017-07-19T17:20:55.640 に答える