Vec Klassenreferenz

3D-Vektor (Linkshaendiges Koordinatensystem) Mehr ...

#include <Vec.h>

Klassendiagramm für Vec:

Vertex

Aufstellung aller Elemente

Öffentliche Methoden

 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.
int winkel (void)
 Winkel.
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 (int 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 (int w)
 Rotation um die Y-Achse (Hoehenachse), Fuer w > 0: Bei der Draufsicht (auf den 3D-Raum) wird im Uhrzeigersinn gedreht.
void rotateZ (int w)
 Rotation um die Z-Achse (zeigt in den Raum hinein) Fuer w>0: Bei der Ansicht von vorne (in den 3D-Raum hinein), wird gegen den Uhrzeigersinn gedreht.
int getWinkelY (void)
 Gibt den Winkel zurueck.
char * dump (void)
 Obligatorische Dump-Methode fuer Debugzwecke.

Öffentliche Attribute

float m_x
float m_y
float m_z


Ausführliche Beschreibung

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)


Beschreibung der Konstruktoren und Destruktoren

Vec::Vec (  ) 

Konstruktor.

Vec::~Vec (  )  [virtual]

Destruktor.

Vec::Vec ( Vec v  ) 

Konstruktor.

Parameter:
v Vektor

Vec::Vec ( int  x,
int  y,
int  z 
)

Konstruktor.

Parameter:
x X-Koordinate
y Y-Koordinate
z Z-Koordinate

Vec::Vec ( float  x,
float  y,
float  z 
)

Konstruktor.

Parameter:
x X-Koordinate
y Y-Koordinate
z Z-Koordinate


Dokumentation der Elementfunktionen

void Vec::clear ( void   ) 

Setzt den Vektor auf 0,0,0.

void Vec::set ( float  x,
float  y,
float  z 
)

Setter-Methode.

Parameter:
x X-Koordinate
y Y-Koordinate
z Z-Koordinate

void Vec::set ( Vec v  ) 

Setter-Methode.

Parameter:
v Vektor

Erneute Implementation in Vertex.

void Vec::add ( Vec v  ) 

Vektoraddition.

Parameter:
v Vektor

void Vec::sub ( Vec v  ) 

Vektorsubtraktion.

Parameter:
v Vektor

void Vec::sub ( Vec v1,
Vec v2 
)

Vektorsubtraktion: v = v1 - v2.

Parameter:
v1 Vektor
v2 Vektor

void Vec::mul ( Vec v  ) 

Vektormultiplikation.

Parameter:
v Vektor

void Vec::div ( float  v  ) 

Vektordivision mit einem Skalar.

Parameter:
v float-Wert

void Vec::mul ( float  d  ) 

Skalarmultiplikation (velaengert oder verkuerzt den Vektor).

Parameter:
d float Wert

float Vec::length ( void   ) 

Ermittelt die Laenge (Betrag) des Vektors.

Rückgabe:
Laenge, bzw. Distanz zum Ursprung

float Vec::dot ( Vec v  ) 

Dotprodukt.

Parameter:
v Vektor

void Vec::cross ( Vec v1,
Vec v2 
)

Kreuzprodukt v = v1 x v2.

Parameter:
v1 Vektor #1
v2 Vektor #2

bool Vec::getZ ( Vec a,
Vec b,
float  z 
)

Berechnet den Punkt zwischen den Vektoren an z.

Parameter:
a Startpunkt, bzw. Startvektor
b Startpunkt, bzw. Startvektor
z Startpunkt, bzw. Startvektor
Rückgabe:
true-->Es gibt einen Scnittpunkt mit z false-->Er gibt keinen Schnittpunkt mit z

float Vec::angle ( Vec v  ) 

Winkel zwischen zwei Vektoren.

Parameter:
v Vektor
Rückgabe:
Winkel

int Vec::winkel ( void   ) 

Winkel.

Rückgabe:
Winkel

void Vec::transform ( Matrix mat  ) 

Fuehre die in der Matrix abgelegten Rechenoperationen auf diesen Vektor aus. Achtung: erst Rotation dann Transformation !!!!!!!!

Parameter:
mat Matrix

void Vec::normalize ( void   ) 

Normalisieren (Betrag=1).

void Vec::negative ( void   ) 

Negiert den Vektor (Richtungsumkehr).

void Vec::rotateX ( int  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.

Parameter:
w Winkel

void Vec::rotateY ( int  w  ) 

Rotation um die Y-Achse (Hoehenachse), Fuer w > 0: Bei der Draufsicht (auf den 3D-Raum) wird im Uhrzeigersinn gedreht.

Parameter:
w Winkel

void Vec::rotateZ ( int  w  ) 

Rotation um die Z-Achse (zeigt in den Raum hinein) Fuer w>0: Bei der Ansicht von vorne (in den 3D-Raum hinein), wird gegen den Uhrzeigersinn gedreht.

Parameter:
w Winkel

int Vec::getWinkelY ( void   ) 

Gibt den Winkel zurueck.

Rückgabe:
Winkel

char * Vec::dump ( void   ) 

Obligatorische Dump-Methode fuer Debugzwecke.

Rückgabe:
String


Dokumentation der Datenelemente

float Vec::m_x

float Vec::m_y

float Vec::m_z


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:

Generated on Sun Nov 1 16:26:43 2009 for engine3d by doxygen 1.5.5