Linienkollision

Übersicht BlitzMax, BlitzMax NG FAQs und Tutorials

Neue Antwort erstellen

Vertex

Betreff: Linienkollision

BeitragDi, Jun 13, 2006 0:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Da es anscheinend häufiger benötigt wird, habe ich ein kleines Tutorial darüber geschrieben:

http://vertex.dreamfall.at/intersection.pdf
(Sorry, manche Vektorstriche sind im Nachhinein doch zu lang geworden. Scheiß Word sage ich nur!)

Vorraussetzung sind Kenntnisse in Vektorrechnung. Der objekt orientierte Beispielcode in BMax liegt bei.

mfg olli

Markus2

BeitragFr, Jun 30, 2006 14:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
habe mir eben mal dein PDF angesehen .
Also mit dem ganzen Formel wirrwar kann ich überhaupt nix anfangen .
Wäre schöner wenn du unter der Formel das gleiche
in Basic Syntax schreiben würdest bzw. kannste dir eigentlich die
Formel Syntax sparen weil man dann immer umdenken muß .
Wäre schön wenn du das ein bischen klarer beschreiben würdest
das es auch nicht so begabte verstehen Smile

Was ist a : x
Pfeile auf OP heißt Vectoren
OP statt P , O wie Ortsvector und P wie Punkt
Was ist 0;1
Was heißen diese bögen und Sonderzeichen
Was ist Skalars
Wofür ist ta und tb
Was sind Intervallgrenzen
z.B. Dabei gilt für jeden Punkt auf der Strecke von P1 nach P2
die Geradengleichung

PS:Vorraussetzung sind Kenntnisse in Vektorrechnung habe ich gelesen Wink

D2006

Administrator

BeitragFr, Jun 30, 2006 14:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Also erstmal muss ich sagen, dass das keine komplizierten Formeln sind, sondern nur ein bissl Mathematik. Außerdem finde ich es gut, dass er es so erklärt hat, als anhand des Codes. So kann man es nunmal eher verstehen. Dadurch muss man zwar wirklich Vektorrechnung gehabt haben, aber das hat er ja vorrausgesetzt.

Markus2 hat Folgendes geschrieben:
Was ist a : x

a ist die erste Gleichung. Der ":" bedeutet wie immer in der Mathematik "mit der Eigenschaft" bzw. "bestimmt durch". Danach kommt die Geradengleichung.

Markus2 hat Folgendes geschrieben:
Pfeile auf OP heißt Vectoren
OP statt P , O wie Ortsvector und P wie Punkt

Was willst du damit sagen?
OP mit Pfeil drüber is Tatsache der Ortsvektor von P. Heißt aber eigentlich Vektor von O zu P. könnte auch P1P2 sein...

Markus2 hat Folgendes geschrieben:
Was ist 0;1

[0;1] ist das Intervall für t. Es geht also von 0 bis 1. 0 und 1 selbst sind auch mit drin.

Markus2 hat Folgendes geschrieben:
Was heißen diese bögen und Sonderzeichen

Der Bögen bedeutet soviel wie "und". t ist element der reellen Zahlen UND im Bereich von 0 bis 1. Die Pfeile über den Buchstaben sind halt das Zeichen für Vektoren und mehr Sonderzeichen fand ich nicht.

Markus2 hat Folgendes geschrieben:
Was ist Skalars

In dem Fall meint er einfach nur das t. Ist quasi ne Variable.

Markus2 hat Folgendes geschrieben:
Wofür ist ta und tb

Die machen halt die Geradengleichung aus. Eine Geradengleichung in der Vektorenwelt (analytische Geometrie) besteht aus einem Punkt und einem Richtungsvektor, in welche Richtung die Gerade zeigt. Wenn mann nun unendlich viele Werte für t einsetzt, bekommt man alle Punkte der Geraden, also die Gerade selbst. Hier hat vertex auch einen Fehler gemacht. Bei a: = OP1 ... muss das OP1 einfach nur P1 sein und kein Vektor.

Markus2 hat Folgendes geschrieben:
Was sind Intervallgrenzen

Von wo bis wo eine Variable gehen soll.
In diesem Fall muss er Intervallgrenzen nehmen, weil er Geraden bentutzt. Aber eigentlich geht es ihm bei der Funktion später ja mal um Linien. Die haben ein Anfang und ein Ende. Das nennt man in der Mathematik Strecke und mithilfe des Intervalls kann er eine Strecke drausmachen. Dabei fängt die Linie/Strecke halt bei t=0 an und hört bei t=1 auf.

Alle Klarheiten beseitigt?
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

Markus2

BeitragFr, Jun 30, 2006 17:59
Antworten mit Zitat
Benutzer-Profile anzeigen
@D2006

danke , das hat mir schon ein bischen geholfen .

Also ta und tb ist ein Wert von 0-1 und sowas wie
ne Linear Interpolation das man von P1 nach P2 kommt
und von P3 nach P4 .

Was ist denn dieser Faktor aus den Koeffizienten von ta ?

Mit Pfeil meinte ich das

->
P

=

P.x
P.y
P.z

ist und das muß man ja erstmal wissen .

Vertex

BeitragSa, Jul 01, 2006 13:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, ich wollte das Dokument mal ein wenig wissenschaftlich gestalten.

D2006 hat ja schon vieles erklährt, aber mal zu OP: O ist Origo sprich der Ursprung des Koordinatensystems. Hat also die Koordinaten (0;0;0). Und ein Pfeil darüber besagt, das ein Vektor vom Ursprung zum Punkt P gezogen wird ergo OP nur ein Ortsvektor ist.

Ich muss mir mal die Formel nochmal anschauen. Event. lässt sie sich doch verkürzen.

mfg olli
vertex.dreamfall.at | GitHub
 

Arschloch

BeitragMi, Jul 05, 2006 15:59
Antworten mit Zitat
Benutzer-Profile anzeigen
theoretisch kann es keine linienkollision geben oder?
 

feider

ehemals "Decelion"

BeitragFr, Jul 07, 2006 22:19
Antworten mit Zitat
Benutzer-Profile anzeigen
wieso nicht ?!?!?
 

GrrBrr

BeitragFr, Jul 07, 2006 23:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Sehr, sehr schönes Tutorial.
Aber stimmt schon, die mathematische Terminologie ist für jemanden, der nie höhere Mathematik gelernt hat schwierig zu begreifen.

Ich würde sowieso jedem, der mal aufwändigere Sachen programmieren will empfehlen, sich ein Mathe-Lehrbuch zu besorgen. Gerade mit Vektorrechnung und Trigonometrie lassen sich eine Menge Sachen machen. Will man irgendwann aufwändigere Bewegungen im 3D-Raum berechnen kommt man auch um Matrizen nicht drumherum.

(Ich empfehle die Lehrbücher und Formelsammlungen von Papula) Wink



Übrigens: Die Mehrzahl von Skalar ist Skalare *nochmehrrumklugscheisser* Very Happy
3D - GFX - Wallpaper - PixelArt - Galerie
>>> http://www.augensound.de <<<

Vertex

BeitragSa, Jul 08, 2006 0:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke!

Ich werde mal sehen, dass ich noch ein paar Tutorials nach dieser Art auf die Beine stelle.

Zitat:
2. 1Ska|lar, der; -s, -e (Math., Physik): durch einen reellen Zahlenwert bestimmte Größe.


Es ist also Skalars sowie Skalare gültig.

mfg olli
 

GrrBrr

BeitragSa, Jul 08, 2006 13:51
Antworten mit Zitat
Benutzer-Profile anzeigen
echt?

habs noch nie als "skalars" gehört. naja, wieder was gelernt...
3D - GFX - Wallpaper - PixelArt - Galerie
>>> http://www.augensound.de <<<

Rone

BeitragSa, Jul 08, 2006 15:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
nettes Tutorial. Kompliment!

Allerdings finde ich manche Sachen ein bisschen umständlich / kompliziert erklärt oder ich verstehe sie nicht richtig. Shocked
Im Prinzip ab Additionsverfahren...(wieso überhaupt Additionsverfahren?)

Wenn ich mich irre oder was Falsches schreibe, korrigiert mich bitte!

Ich habe dein Beispiel mal aufgegriffen um zu zeigen, wie ich das machen würde: hier!

mfg
Rone

Vertex

BeitragSa, Jul 08, 2006 16:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Rone: die beiden Geradengleichungen a und b haben nicht zusammen das Skalar t sondern ta und tb. Das sind zwei Gleichung mit zwei Unbekannten, was das Ganze wesentlich schwieriger macht. Das einzig komplizierte(und da habe ich mir auch die Haare fast ausgerisssen), ist das Umstellen nach ta. Das Einsetzen usw. ist ja dann nur noch die Kür des Ganzen Smile

mfg olli

Rone

BeitragSa, Jul 08, 2006 18:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast Recht.
Mein Ergebnis ist auch Falsch... Smile

Um Gleichungen mit meheren Unbekannte zu vermeiden könnte man aber auch Verktor-Gleichungen in einfache Funktionsgleichungen umwandeln:

a : x = p + t*u -------- (p und u = 2d. Vektoren)

f(x) = m*x+b

m=u2 / u1

b=p2 - (p1*m)

...usw Wink

mfg
Rone
 

David

BeitragFr, Okt 20, 2006 19:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Schönes Tutorial.

Nur eine Frage am Rande, warum nutzt du nicht Latex für die Formeln? Dann sind die ganzen Bezeichner auch 100% korrekt! Wink

grüße
http://bl4ckd0g.funpic.de

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG FAQs und Tutorials

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group