3D-Vektor (Linkshaendiges Koordinatensystem) More...
#include <Vec.h>

Public Member Functions | |
| Vec () | |
| Konstruktor. | |
| virtual | ~Vec () |
| Destruktor. | |
| Vec (Vec &v) | |
| Konstruktor. | |
| Vec (int x, int y, int z) | |
| Konstruktor. | |
| Vec (float x, float y, float z) | |
| Konstruktor. | |
| void | clear (void) |
| Setzt den Vektor auf 0,0,0. | |
| void | set (float x, float y, float z) |
| Setter-Methode. | |
| void | set (Vec &v) |
| Setter-Methode. | |
| void | add (Vec &v) |
| Vektoraddition. | |
| void | sub (Vec &v) |
| Vektorsubtraktion. | |
| void | sub (Vec &v1, Vec &v2) |
| Vektorsubtraktion: v = v1 - v2. | |
| void | mul (Vec &v) |
| Vektormultiplikation. | |
| void | div (float v) |
| Vektordivision mit einem Skalar. | |
| void | mul (float d) |
| Skalarmultiplikation (velaengert oder verkuerzt den Vektor) | |
| float | length (void) |
| Ermittelt die Laenge (Betrag) des Vektors. | |
| float | dot (Vec &v) |
| Dotprodukt. | |
| void | cross (Vec &v1, Vec &v2) |
| Kreuzprodukt v = v1 x v2. | |
| bool | getZ (Vec &a, Vec &b, float z) |
| Berechnet den Punkt zwischen den Vektoren an z. | |
| float | angle (Vec &v) |
| Winkel zwischen zwei Vektoren. | |
| void | transform (Matrix &mat) |
| Fuehre die in der Matrix abgelegten Rechenoperationen auf diesen Vektor aus. Achtung: erst Rotation dann Transformation !!!!!!!! | |
| void | normalize (void) |
| Normalisieren (Betrag=1) | |
| void | negative (void) |
| Negiert den Vektor (Richtungsumkehr) | |
| void | rotateX (float w) |
| Rotation um die X-Achse (Richtung der Horizontalen) Der Winkel wird in Grad angegeben, weil die trigonometrischen Funktionen ueber Tabellen implementiert sind (Performanz!) Fuer w > 0: Neigung nach unten. | |
| void | rotateY (float w) |
| Rotation um die Y-Achse (Hoehenachse), Fuer w > 0: Bei der Draufsicht (auf den 3D-Raum) wird im Uhrzeigersinn gedreht. | |
| float | getWinkelY (void) |
| Gibt den Winkel zur Y-Achse zurueck. | |
| float | getWinkelX (void) |
| Gibt den Winkel zur X-Achse zurueck. | |
Static Public Member Functions | |
| static float | grad2rad (float grad) |
| Umwandlung Grad (0...360) nach Rad (0...2PI) | |
| static float | rad2grad (float rad) |
| Umwandlung Rad (0...2PI) nach Grad (0...360) | |
Public Attributes | |
| float | m_x |
| float | m_y |
| float | m_z |
Static Public Attributes | |
| static float const | PI |
Private Member Functions | |
| float | getWinkel (float a, float b) |
| Gibt den Winkel zurueck. | |
3D-Vektor (Linkshaendiges Koordinatensystem)
Kamerasicht: x zeigt nach RECHTS y zeigt nach OBEN z zeigt vom Betrachter weg (in die TIEFE)
Draufsicht auf die Map: x zeigt nach RECHTS (OSTEN) y zeigt in die HOEHE (NORDEN) z zeigt zum Betrachter (nach OBEN)
| Vec::Vec | ( | ) |
Konstruktor.
| Vec::~Vec | ( | ) | [virtual] |
Destruktor.
| Vec::Vec | ( | Vec & | v | ) |
Konstruktor.
| v | Vektor |
| Vec::Vec | ( | int | x, |
| int | y, | ||
| int | z | ||
| ) |
Konstruktor.
| x | X-Koordinate |
| y | Y-Koordinate |
| z | Z-Koordinate |
| Vec::Vec | ( | float | x, |
| float | y, | ||
| float | z | ||
| ) |
Konstruktor.
| x | X-Koordinate |
| y | Y-Koordinate |
| z | Z-Koordinate |
| void Vec::add | ( | Vec & | v | ) |
Vektoraddition.
| v | Vektor |

| float Vec::angle | ( | Vec & | v | ) |
Winkel zwischen zwei Vektoren.
| v | Vektor |

| void Vec::clear | ( | void | ) |
Setzt den Vektor auf 0,0,0.

Kreuzprodukt v = v1 x v2.
| v1 | Vektor #1 |
| v2 | Vektor #2 |

| void Vec::div | ( | float | v | ) |
Vektordivision mit einem Skalar.
| v | float-Wert |
| float Vec::dot | ( | Vec & | v | ) |
Dotprodukt.
| v | Vektor |

| float Vec::getWinkel | ( | float | zz, |
| float | xx | ||
| ) | [private] |
Gibt den Winkel zurueck.

| float Vec::getWinkelX | ( | void | ) |
Gibt den Winkel zur X-Achse zurueck.

| float Vec::getWinkelY | ( | void | ) |
Gibt den Winkel zur Y-Achse zurueck.


Berechnet den Punkt zwischen den Vektoren an z.
| a | Startpunkt, bzw. Startvektor |
| b | Startpunkt, bzw. Startvektor |
| z | Startpunkt, bzw. Startvektor |
| float Vec::grad2rad | ( | float | grad | ) | [static] |
Umwandlung Grad (0...360) nach Rad (0...2PI)
| grad |

| float Vec::length | ( | void | ) |
Ermittelt die Laenge (Betrag) des Vektors.

| void Vec::mul | ( | float | d | ) |
Skalarmultiplikation (velaengert oder verkuerzt den Vektor)
| d | float Wert |
| void Vec::mul | ( | Vec & | v | ) |
Vektormultiplikation.
| v | Vektor |

| void Vec::negative | ( | void | ) |
Negiert den Vektor (Richtungsumkehr)

| void Vec::normalize | ( | void | ) |
Normalisieren (Betrag=1)

| float Vec::rad2grad | ( | float | rad | ) | [static] |
Umwandlung Rad (0...2PI) nach Grad (0...360)
| rad |
| void Vec::rotateX | ( | float | w | ) |
Rotation um die X-Achse (Richtung der Horizontalen) Der Winkel wird in Grad angegeben, weil die trigonometrischen Funktionen ueber Tabellen implementiert sind (Performanz!) Fuer w > 0: Neigung nach unten.
| w | Winkel in RAD |

| void Vec::rotateY | ( | float | w | ) |
Rotation um die Y-Achse (Hoehenachse), Fuer w > 0: Bei der Draufsicht (auf den 3D-Raum) wird im Uhrzeigersinn gedreht.
| w | Winkel in RAD |

| void Vec::set | ( | float | x, |
| float | y, | ||
| float | z | ||
| ) |
Setter-Methode.
| x | X-Koordinate |
| y | Y-Koordinate |
| z | Z-Koordinate |
| void Vec::sub | ( | Vec & | v | ) |
Vektorsubtraktion.
| v | Vektor |

| void Vec::transform | ( | Matrix & | mat | ) |
| float Vec::m_x |
| float Vec::m_y |
| float Vec::m_z |
float const Vec::PI [static] |