![]() |
| #1 (permalink) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Premium-Benutzer
Registriert seit: 07.02.2004
Fachbeiträge: 7.817
Abgegebene Danke: 10
Erhielt 153 Danke für 74 Beiträge
|
Vektoren & Punkte
Praktisch in jedem Spiel muss man sich mit Vektoren und Punkten herumschlagen. Eine gute Gelegenheit die wichtigsten Begriffe und Formeln kennenzulernen (ich versuch hier wirklich nur das aufzulisten, was man benötigt, oder was das Leben erleichtert). Dabei soll sich dieser Text auf 2- und 3-dimensionale Räume beschränken, und es soll auch nur immer ein rechtwinkliges, normiertes Koordinatensystem benutzt werden (einige der Formeln die hier gezeigt werden, gelten auch nur unter diesen Bedingungen). P.S. Ich mache im Text immer ein Strich unter die Vektoren und Punkte damit man sie auch erkennt. Alles was kein Strich hat, ist auch kein Vektor oder Punkt. Punkte Punkte sind ganz einfach eine Angabe "soviele Schritte in x-Richtung, soviele in y-Richtung, dann bist Du am Ziel." Punkte sind also einfach ein Zahlenpaar (oder ein Zahlentrippel im 3D-Fall), und werdem meist so geschrieben:
![]() Natürlich gibt es auch Punkte die keine ganzen Zahlen als Koordinaten haben, zum Beispiel (1.235, 67.89). Vektoren Vektoren kann man auch mit "Richtung" übersetzen. Auch sie sind Zahlenpaare (Zahlentrippel), und werden genau gleich wie Punkte aufgeschrieben:
Einige Vektoren: ![]() Das hier sind dieselben Vektoren, da es ja nur um die Richtung, und nicht den Anfang geht: ![]() Vektoren kann man addieren, subtrahieren und skalieren: Die Addition ist denkbar einfach:
![]() Die Subtraktion ist genau gleich:
![]() Vektortypen Manchmal wird zwischen 2 Arten Vektoren unterschieden: Richtungsvektoren und Ortsvektoren.
Einige Formeln & Definitionen zu Vektoren
Das Skalarprodukt ist das Resultat der (skalaren) Multiplikation von Vektoren. Dazu werden die Komponenten paarweise multipliziert, und danach addiert:
Der Winkel zwischen zwei Vektoren ist gegeben durch:
![]()
[*]Parallel / Antiparallel Zwei Vektoren sind parallel, wenn sie in dieselbe Richtung zeigen, aber unterschiedlich lang sind:
Falls t = 0 ist, ist entweder a oder b der Nullvektor. Natürlich ist der Nullvektor parallel zu allen Vektoren, aber er ist auch gleichzeitig normal zu allen Vektoren. Seltsame Sache, aber es funktioniert. ![]() [*]Das Vektorprodukt (Kreuzprodukt) Das Vektorprodukt kann nur in 3 Dimensionen berechnet werden. Das Resultat dieser Multiplikation zweier Vektoren ist ein neuer Vektor, der normal zu den beiden Originalen ist. Das Vektorprodukt (mit dem Zeichen "x")
![]() Falls die beiden Vektor parallel oder antiparallel sind, ist die Länge des Vektorproduktes = 0, und damit ist es sicher normal zu den beiden Vektoren, auch wenn es keine eindeutige Richtung hat. [/list:u:fc923fe8f9] Philosophie: Der Unterschied zwischen Punkt und Vektor? Oft sagt man: der Punkt ist ein Gebilde, das einen festen Platz im Raum hat, der Vektor ist eine Richtung. Diese Trennung kann man machen (und sie ist meistens auch sinnvoll), aber man sollte daran denken, dass Punkt und Vektor eigentlich beide nur eine geordnete Menge von Zahlen sind. Von diesem Standpunkt gesehen, kann man aber sagen, dass Punkt und Vektor zwei Wörter für ein und dasselbe sind, und man einen Punkt durch einen Vektor (und umgekehrt) vertauschen kann, ohne dass sich das Ergebnis der Gleichung verändert. Nur die fixe Vorstellung, Punkte und Vektoren als geometrische Gebilde zu sehen, kann einem am auffinden eleganter und schneller Lösungen hindern! |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #2 (permalink) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Premium-Benutzer
Themenstarter
Registriert seit: 07.02.2004
Fachbeiträge: 7.817
Abgegebene Danke: 10
Erhielt 153 Danke für 74 Beiträge
|
Geraden
Geraden in 2D
Geraden in 3D Im 3 dimensionalen gibt es nur eine Möglichkeit eine Gerade darzustellen: mit einem Punkt und einer Richtung.
Danke an Redfrettchen und mic_checker, die Verbesserungsvorschläge gemacht haben |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Danke sagen: |
| #4 (permalink) | |
|
Nicht angemeldet
Fachbeiträge: n/a
|
nützlich sind auch 4D Vektoren, da man sie dann mit der Translationsmatrix multiplizieren kann.
am aller besten ist es wenn man für all diese mathematischen Elemente Klassen schreibt, so sind sie dann überall einsetzbar, und man erspart sich eine Menge arbeit |
| #5 (permalink) | |
|
Stammbenutzer
Team RPGenesis
Megabyte Registriert seit: 01.02.2009
Fachbeiträge: 1.498
Abgegebene Danke: 2
Erhielt 13 Danke für 13 Beiträge
|
jetzt fehlt nur noch ein Tutorial zu 4 Dimensionalen Raumzeit ^^
gute Arbeit, euer Tutorial ist super.
__________________
- Die Zeit ist wie ein Fluss, und die Gegenwart wie ein Fels, der von dem Fluss der Zeit geschliffen wird. - Kevin Riehl |
|
|
| #6 (permalink) | |
|
Java-Forum Team
Moderator
Registriert seit: 06.01.2007
Fachbeiträge: 17.004
Abgegebene Danke: 0
Erhielt 1.673 Danke für 1.515 Beiträge
|
Eigentlich passt in diesen Thread noch der Hinweis auf https://vecmath.dev.java.net/ , was z.B. schon die ganzen Klassen Point3f, Vector3f, Matrix4f usw. enthält. Die JAR gibt's mit Java3D.
|
|
|
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| punkte verschwinden beim neuzeichnen neuer punkte | JohannV | Java Basics - Anfänger-Themen | 11 | 12.12.2008 16:29 |
| Punkte, Koordinanten, Geraden zeichnen lassen | Zwergal | Java Basics - Anfänger-Themen | 8 | 04.12.2007 21:38 |
| 3 Punkte auf einer Geraden | Xertox | Mathematik | 2 | 19.01.2005 19:46 |
| Alternative zu Vektoren in Vektoren. | Susanne | Java Basics - Anfänger-Themen | 1 | 08.12.2004 20:04 |
| Einiges zur Java-Console | schoppenhauer_entfernt_ | Allgemeine Java-Themen | 1 | 27.01.2004 07:59 |
| Lesezeichen |
|
|