ポイントが2点で定義された線の上または下にあるかどうかを計算しようとしています。明確にするために、ポイントが「この側」か「その側」にあるかどうかだけを知る必要があります。ラインが完全に垂直であれば、「上」または「下」はなくなります。 (centerX、centerY)と(xprime、yprime)という2つの点で定義された行があります。簡略化のためにcenterX、centerYは(0,0)に変換することができます。私は(mouseX、mouseY)がその行の上か下であるかどうかを調べたいと思います。Javascript点が2点で定義された線の上または下にあるかどうかを調べる
この式を使用しようとしましたが、期待した結果が得られません。 位置ため
var position = Math.sin((xprime -centerX) * (mouseY - centerY) - (yprime - centerY) * (mouseX - prime));
値がするmouseX、mouseYの値は線回りに回転として正から負にランダムに振動するように見えます。マウスの位置(mouseX、mouseY)がラインを越えると、符号が1回正から負に変化する印象を受けました。線より上の値は正であり、下の値は負である。
私はこのコードを数式とともに使用して、元のクリックからのたわみ角を決定しています。しかし、マウスが最初のクリック以上になったかどうかを判断することはできません。 (もう一度 "上"と "下"とお考えください)