Streckenschnittpunkt

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Kekskiller
Beiträge: 752
Registriert: 14.09.2004 21:39
Kontaktdaten:

Streckenschnittpunkt

Beitrag von Kekskiller »

Ich wüsste gerne, wie man berechnet (programmiertechnisch) ob sich zwei Strecken schneiden - die Schnittpunktkoordinate ist dabei vorerst unwichtig. Ein paar Versionen habe ich schon gehört, entweder schlecht erklärt oder garnicht.

Das ganze möchte ich in einen Raycaster, der mit Vektoren arbeitet einfügen. Eventuell habt ihr eine bessere Möglichkeit, um Vektoren, die den Sichtstrahl kreuzen, zu prüfen.
Zuletzt geändert von Kekskiller am 06.03.2006 21:13, insgesamt 1-mal geändert.
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Batze »

wenn sie nicht parallel sind schneiden sie sich auch
(also in 2D)
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Kekskiller
Beiträge: 752
Registriert: 14.09.2004 21:39
Kontaktdaten:

Beitrag von Kekskiller »

Jaaaa.... das ist vielleicht mit Geraden so, aber mit Strecken von Punkt A nach Punkt B nicht.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8812
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Schau dir das mal an: Schnelle Kollisionsroutinen
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Batze »

Da stand vorher aber Geraden /:->
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Kekskiller
Beiträge: 752
Registriert: 14.09.2004 21:39
Kontaktdaten:

Beitrag von Kekskiller »

Jaja, ok, ich habs für die Nachwet geändert, aber der Titel sagte schließlich aus, dass es Strecken sein sollen. Und ich glaube mal, dass ein VEKTOR auch eine Strecke und keine Gerade ist. Wie gesagt, Strecke liegt mit 2:1 gegenüber der Gerade vorne.
Kekskiller
Beiträge: 752
Registriert: 14.09.2004 21:39
Kontaktdaten:

Beitrag von Kekskiller »

Ah, danke Nick. Genauso sowas hab ich auf die Schnelle gesucht.
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Batze »

Konnt ich ja nicht wissen, schließlich gibts auch blöde Fragen. :wink:
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Kekskiller hat geschrieben:Jaja, ok, ich habs für die Nachwet geändert, aber der Titel sagte schließlich aus, dass es Strecken sein sollen. Und ich glaube mal, dass ein VEKTOR auch eine Strecke und keine Gerade ist. Wie gesagt, Strecke liegt mit 2:1 gegenüber der Gerade vorne.
Ein Vektor kann beides sein(und noch mehr eigentlich), er kann die richtung einer Geraden angeben sowie eine gesamte Strecke, dann benötigt man aber 2 Vektoren, einen Ortsvektor sowie einen Richtungsvektor oder einfach 2 Ortsvektoren, wenn man das so haben will.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Kekskiller
Beiträge: 752
Registriert: 14.09.2004 21:39
Kontaktdaten:

Beitrag von Kekskiller »

In diesem Falle zwei Ortsvektoren :wink:
Antworten