Colisionserkennung Punkt -> Linie || Linie -> Linie

Developer_X

Top Contributor
Hi.
Ich wollte euch mal fragen wie man folgendes realisieren könnte:

Wie kann man eine Kollision erkennen, ob ein Punkt eine Linie durchtrifft, oder Linie und Linie.
Wie könnte man soetwas realisieren?

Java:
Point A = new Point(0,0); // Punkt

Point Line_A = new Point(0,2); // Linien Beginn
Point Line_B = new Point(2,2); // Linien Ende

Danke für eure Antworten,
Developer_X
 

Nardian

Bekanntes Mitglied
ich würde das versuchen rein mathematisch zu lösen...

also einfach eine line als eine geradengleichung ansehen, womit das in deinem bsp bedeuten würde:

(allgemein: y = k*x+d
k = (y1-y2)/(x1-x2)
d = achsenabschnitt)

k = (2-2) / (2-0) = 0

y = (0*x) + d

achsenabschnitt berechnen:
(einen der beiden punkte einsetzten)
2 = (0*2) + d
das heißt:
d = k*x - y (k,x und y kennen wir zu dieser zeit bereits).

somit haben wir die gesamte geradengleichung

dann einfach nur noch den punkt einsetzten und ein if drum und fertig :)

if(y == k * x + d)

wobei x und y in diesem fall die koordinaten vom punkt sind, da k und d ja die gerade beschreiben, und x und y eben "getestet" werden.


hoffe dass ich dir damit helfen konnte

/edit:
auf den sonderfall musst du natürlich extra eingehen, falls x1 und x2 gleich sind.. dann hätten wir ja ne steigung von unendlich, womit java nicht umgehen kann, und eine divide by zero -exception wirft :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Punkt auf Linie Spiele- und Multimedia-Programmierung 5
I Wo befindet sich ein Punkt? Spiele- und Multimedia-Programmierung 6
P Winkel von einem Punkt zum anderen berechnen Spiele- und Multimedia-Programmierung 9
A Wann ist ein Punkt inerhalb eines Polygons? Spiele- und Multimedia-Programmierung 2
C Java3D Rotation um einen Punkt (y-achse) Spiele- und Multimedia-Programmierung 2
Developer_X Punkt-Winkel Berechnung Spiele- und Multimedia-Programmierung 3
C JAVA3D Rotation um einen bestimmten Punkt Spiele- und Multimedia-Programmierung 20
hdi 3d punkt -> 2d punkt Spiele- und Multimedia-Programmierung 10
G Wie bekomme ich einen Punkt (Graphics) Spiele- und Multimedia-Programmierung 2
G Punkt in Image auf Transparenz prüfen Spiele- und Multimedia-Programmierung 6
G gezeichnete Elemente überprüfen ob sie ein Punkt xy abdecken Spiele- und Multimedia-Programmierung 3
A Einfacher bewegter Punkt im Frame Spiele- und Multimedia-Programmierung 6
S Punkt berechnen, nach Rotation Spiele- und Multimedia-Programmierung 2
L Punkt im 3D-Raum Spiele- und Multimedia-Programmierung 2
R Wie zeichne ich einen einzelnen Punkt Spiele- und Multimedia-Programmierung 2
A Verpixelte Linie Spiele- und Multimedia-Programmierung 1
aze Schnittmenge zwischen Linie und einer Area wegschneiden Spiele- und Multimedia-Programmierung 3
L Kreis auf Linie platzieren (-> Koordinatentransformation?) Spiele- und Multimedia-Programmierung 7
M Linie - kurvige Linie Kollisonserkennung bei Polygonen Spiele- und Multimedia-Programmierung 8
N Linie mit Rand zeichnen Spiele- und Multimedia-Programmierung 10
B Linie verankern in Java3D Spiele- und Multimedia-Programmierung 2
G Linie im Applet zeichnen Spiele- und Multimedia-Programmierung 5
P linie in bild zeichnen Spiele- und Multimedia-Programmierung 2
H Eine gestrichelte Linie Spiele- und Multimedia-Programmierung 3
O Beschriftete Linie in Java 2D Spiele- und Multimedia-Programmierung 9

Ähnliche Java Themen


Oben