Ich versuche zu berechnen, ob ein Punkt über oder unter einer Linie liegt, die durch zwei Punkte definiert ist. Zur Klarstellung muss ich nur wissen, ob der Punkt auf "dieser Seite" oder "dieser Seite" steht. Ich erkenne, wenn die Linie perfekt vertikal ist, wird es kein "oben" oder "unten" geben. Ich habe eine Linie durch zwei Punkte definiert (centerX, centerY) und (xprime, yprime). Zur Vereinfachung centerX kann centerY in (0,0) umgewandelt werden. Ich möchte feststellen, ob (mouseX, mouseY) über oder unter dieser Linie ist.Javascript Ermitteln, ob ein Punkt über oder unter einer durch zwei Punkte definierten Linie liegt
Ich habe versucht, diese Formel zu verwenden, aber es gibt mir nicht die Ergebnisse, die ich erwartet habe.
var position = Math.sin((xprime -centerX) * (mouseY - centerY) - (yprime - centerY) * (mouseX - prime));
Die Werte für Position scheinen zufällig von positiv auf negativ als mouseX, mouseY Werte drehen sich um die Linie zu schwingen. Ich hatte den Eindruck, dass sich das Vorzeichen einmal von positiv zu negativ ändern würde, wenn die Mausposition (mouseX, mouseY) die Linie überquerte. Werte über der Linie wären positiv und Werte darunter wären negativ.
Ich verwende diesen Code in Verbindung mit einer Formel, um den Ablenkungswinkel vom ursprünglichen Klicken zu bestimmen. Aber ich kann nicht feststellen, ob sich die Maus jetzt über dem anfänglichen Klick oder darunter befindet. (bitte entschuldigen Sie "oben" und "unten")