Back to bsyte

Vec Class Reference

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

#include <Vec.h>

Inheritance diagram for Vec:

List of all members.

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.

Detailed Description

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)


Constructor & Destructor Documentation

Vec::Vec ( )

Konstruktor.

Vec::~Vec ( ) [virtual]

Destruktor.

Vec::Vec ( Vec v)

Konstruktor.

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

Konstruktor.

Parameters:
xX-Koordinate
yY-Koordinate
zZ-Koordinate
Vec::Vec ( float  x,
float  y,
float  z 
)

Konstruktor.

Parameters:
xX-Koordinate
yY-Koordinate
zZ-Koordinate

Member Function Documentation

void Vec::add ( Vec v)

Vektoraddition.

Parameters:
vVektor

Here is the caller graph for this function:

float Vec::angle ( Vec v)

Winkel zwischen zwei Vektoren.

Parameters:
vVektor
Returns:
Winkel

Here is the call graph for this function:

void Vec::clear ( void  )

Setzt den Vektor auf 0,0,0.

Here is the caller graph for this function:

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

Kreuzprodukt v = v1 x v2.

Parameters:
v1Vektor #1
v2Vektor #2

Here is the caller graph for this function:

void Vec::div ( float  v)

Vektordivision mit einem Skalar.

Parameters:
vfloat-Wert
float Vec::dot ( Vec v)

Dotprodukt.

Parameters:
vVektor

Here is the caller graph for this function:

float Vec::getWinkel ( float  zz,
float  xx 
) [private]

Gibt den Winkel zurueck.

Returns:
Winkel in RAD 0...2PI

Here is the caller graph for this function:

float Vec::getWinkelX ( void  )

Gibt den Winkel zur X-Achse zurueck.

Returns:
Winkel in RAD

Here is the caller graph for this function:

float Vec::getWinkelY ( void  )

Gibt den Winkel zur Y-Achse zurueck.

Returns:
Winkel in RAD

Here is the call graph for this function:

Here is the caller graph for this function:

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

Berechnet den Punkt zwischen den Vektoren an z.

Parameters:
aStartpunkt, bzw. Startvektor
bStartpunkt, bzw. Startvektor
zStartpunkt, bzw. Startvektor
Returns:
true-->Es gibt einen Scnittpunkt mit z false-->Er gibt keinen Schnittpunkt mit z
float Vec::grad2rad ( float  grad) [static]

Umwandlung Grad (0...360) nach Rad (0...2PI)

Parameters:
grad
Returns:
rad

Here is the caller graph for this function:

float Vec::length ( void  )

Ermittelt die Laenge (Betrag) des Vektors.

Returns:
Laenge, bzw. Distanz zum Ursprung

Here is the caller graph for this function:

void Vec::mul ( float  d)

Skalarmultiplikation (velaengert oder verkuerzt den Vektor)

Parameters:
dfloat Wert
void Vec::mul ( Vec v)

Vektormultiplikation.

Parameters:
vVektor

Here is the caller graph for this function:

void Vec::negative ( void  )

Negiert den Vektor (Richtungsumkehr)

Here is the caller graph for this function:

void Vec::normalize ( void  )

Normalisieren (Betrag=1)

Here is the caller graph for this function:

float Vec::rad2grad ( float  rad) [static]

Umwandlung Rad (0...2PI) nach Grad (0...360)

Parameters:
rad
Returns:
grad
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.

Parameters:
wWinkel in RAD

Here is the caller graph for this function:

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.

Parameters:
wWinkel in RAD

Here is the caller graph for this function:

void Vec::set ( Vec v)

Setter-Methode.

Parameters:
vVektor

Reimplemented in Vertex.

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

Setter-Methode.

Parameters:
xX-Koordinate
yY-Koordinate
zZ-Koordinate
void Vec::sub ( Vec v)

Vektorsubtraktion.

Parameters:
vVektor

Here is the caller graph for this function:

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

Vektorsubtraktion: v = v1 - v2.

Parameters:
v1Vektor
v2Vektor
void Vec::transform ( Matrix mat)

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

Parameters:
matMatrix

Here is the caller graph for this function:


Member Data Documentation

float Vec::m_x
float Vec::m_y
float Vec::m_z
float const Vec::PI [static]

The documentation for this class was generated from the following files: