Wektor floatów 2D, 3D, 4D
[Moduł Math]


Moduły

 Operacje na poszczególnych składowych wektorów
 Porównania wektorów
 Ortogonalizacja trzech wektorów

Komponenty

struct  common::VEC2
 Wektor floatów 2D. Więcej...
struct  common::VEC3
 Wektor floatów 3D. Więcej...
struct  common::VEC4
 Wektor floatów 4D. Więcej...

Funkcje

VEC2 common::operator* (const VEC2 pt, float v)
VEC2 common::operator/ (const VEC2 pt, float v)
VEC2 common::operator* (float v, const VEC2 pt)
VEC2 common::operator/ (float v, const VEC2 pt)
void common::swap (VEC2 &v1, VEC2 &v2)
VEC3 common::operator* (const VEC3 pt, float v)
VEC3 common::operator/ (const VEC3 pt, float v)
VEC3 common::operator* (float v, const VEC3 pt)
VEC3 common::operator/ (float v, const VEC3 pt)
void common::swap (VEC3 &v1, VEC3 &v2)
VEC4 common::operator* (const VEC4 pt, float v)
VEC4 common::operator/ (const VEC4 pt, float v)
VEC4 common::operator* (float v, const VEC4 pt)
VEC4 common::operator/ (float v, const VEC4 pt)
void common::swap (VEC4 &v1, VEC4 &v2)
float common::LengthSq (const VEC2 &v)
 Zwraca kwadrat długości wektora.
float common::LengthSq (const VEC3 &v)
 Zwraca kwadrat długości wektora.
float common::LengthSq (const VEC4 &v)
 Zwraca kwadrat długości wektora.
float common::Length (const VEC2 &v)
 Zwraca długość wektora.
float common::Length (const VEC3 &v)
 Zwraca długość wektora.
float common::Length (const VEC4 &v)
 Zwraca długość wektora.
void common::Min (VEC2 *Out, const VEC2 &v1, const VEC2 &v2)
 Zwraca wektor złożony z mniejszych składowych podanych wektorów.
void common::Min (VEC3 *Out, const VEC3 &v1, const VEC3 &v2)
void common::Min (VEC4 *Out, const VEC4 &v1, const VEC4 &v2)
void common::Max (VEC2 *Out, const VEC2 &v1, const VEC2 &v2)
 Zwraca wektor złożony z większych składowych podanych wektorów.
void common::Max (VEC3 *Out, const VEC3 &v1, const VEC3 &v2)
void common::Max (VEC4 *Out, const VEC4 &v1, const VEC4 &v2)
float common::Dot (const VEC2 &v1, const VEC2 &v2)
 Iloczyn skalarny wektorów.
float common::Dot (const VEC3 &v1, const VEC3 &v2)
float common::Dot (const VEC4 &v1, const VEC4 &v2)
void common::Minus (VEC2 *Out, VEC2 &v)
 Odwraca znak składowych wektora.
void common::Minus (VEC3 *Out, VEC3 &v)
void common::Minus (VEC4 *Out, VEC4 &v)
void common::Minus (VEC2 *InOut)
void common::Minus (VEC3 *InOut)
void common::Minus (VEC4 *InOut)
float common::Cross (const VEC2 &v1, const VEC2 &v2)
 Iloczyn wektorowy dwóch wektorów dający liczbę mówiącą czy drugi wskazuje na lewo, czy na prawo względem pierwszego.
void common::Cross (VEC3 *Out, const VEC3 &v1, const VEC3 &v2)
 Iloczyn wektorowy dwóch wektorów 3D.
float common::DistanceSq (const VEC2 &p1, const VEC2 &p2)
 Kwadrat odległości między dwoma punktami.
float common::DistanceSq (const VEC3 &p1, const VEC3 &p2)
float common::DistanceSq (const VEC4 &p1, const VEC4 &p2)
float common::Distance (const VEC2 &p1, const VEC2 &p2)
 Odległość między dwoma punktami.
float common::Distance (const VEC3 &p1, const VEC3 &p2)
float common::Distance (const VEC4 &p1, const VEC4 &p2)
void common::Lerp (VEC2 *Out, const VEC2 &v1, const VEC2 &v2, float t)
 Liniowa interpolacja wektorów.
void common::Lerp (VEC3 *Out, const VEC3 &v1, const VEC3 &v2, float t)
void common::Lerp (VEC4 *Out, const VEC4 &v1, const VEC4 &v2, float t)
void common::Normalize (VEC2 *Out, const VEC2 &v)
 Normalizuje wektor, czyli zmienia mu długość na 1.
void common::Normalize (VEC3 *Out, const VEC3 &v)
void common::Normalize (VEC4 *Out, const VEC4 &v)
void common::Normalize (VEC2 *v)
 Normalizuje wektor w miejscu.
void common::Normalize (VEC3 *v)
void common::Normalize (VEC4 *v)
void common::Vec3ToVec4 (VEC4 *Out, const VEC3 &v)
 Konwersja z wektora 3D na 4D dopisująca W=1.
void common::Vec4ToVec3_Ignore (VEC3 *Out, const VEC4 &v)
 Konwersja z wektora 4D na 3D ze zignorowaniem składowej W.
void common::Vec4ToVec3_Div (VEC3 *Out, const VEC4 &v)
 Konwersja z wektora 4D na 3D ze podzieleniem składowych przez W.
void common::MidPoint (VEC2 *Out, const VEC2 &p1, const VEC2 &p2)
 Zwraca punkt w połowie drogi między podanymi punktami.
void common::MidPoint (VEC3 *Out, const VEC3 &p1, const VEC3 &p2)
void common::MidPoint (VEC4 *Out, const VEC4 &p1, const VEC4 &p2)
bool common::VecEqual (const VEC2 &v1, const VEC2 &v2)
 Zwraca true, jeśli podane wektory/punkty są sobie mniej więcej równe.
bool common::VecEqual (const VEC3 &v1, const VEC3 &v2)
bool common::VecEqual (const VEC4 &v1, const VEC4 &v2)
bool common::around (const VEC2 &v1, const VEC2 &v2, float Epsilon)
bool common::around (const VEC3 &v1, const VEC3 &v2, float Epsilon)
bool common::around (const VEC4 &v1, const VEC4 &v2, float Epsilon)
void common::Perpedicular (VEC2 *Out, const VEC2 &v)
 Zwraca wektor prostopadły do podanego wektora 2D.
void common::Reflect (VEC2 *Out, const VEC2 &v, const VEC2 &PlaneNormal)
 Oblicza wektor kierunku odbicia od płaszczyzny o podanej normalnej.
void common::Reflect (VEC3 *Out, const VEC3 &v, const VEC3 &PlaneNormal)
void common::Project (VEC2 *Out, const VEC2 &V, const VEC2 &N)
 Rzutowanie wektora V na wektor N.
void common::Project (VEC3 *Out, const VEC3 &V, const VEC3 &N)
void common::Project_N (VEC2 *Out, const VEC2 &V, const VEC2 &N)
 Wersja common::Project, kiedy wektor N jest już na pewno znormalizowany.
void common::Project_N (VEC3 *Out, const VEC3 &V, const VEC3 &N)
void common::PerpedicularVectors (VEC3 *Out1, VEC3 *Out2, const VEC3 &v)
 Wyznacza dwa dowolne wektory prostopadłe do podanego.

Zmienne

const VEC2 common::VEC2_ZERO
const VEC2 common::VEC2_ONE
const VEC2 common::VEC2_POSITIVE_X
const VEC2 common::VEC2_POSITIVE_Y
const VEC2 common::VEC2_NEGATIVE_X
const VEC2 common::VEC2_NEGATIVE_Y
const VEC3 common::VEC3_ZERO
const VEC3 common::VEC3_ONE
const VEC3 common::VEC3_POSITIVE_X
const VEC3 common::VEC3_POSITIVE_Y
const VEC3 common::VEC3_POSITIVE_Z
const VEC3 common::VEC3_NEGATIVE_X
const VEC3 common::VEC3_NEGATIVE_Y
const VEC3 common::VEC3_NEGATIVE_Z
const VEC4 common::VEC4_ZERO
const VEC4 common::VEC4_ONE
const VEC4 common::VEC4_POSITIVE_X
const VEC4 common::VEC4_POSITIVE_Y
const VEC4 common::VEC4_POSITIVE_Z
const VEC4 common::VEC4_POSITIVE_W
const VEC4 common::VEC4_NEGATIVE_X
const VEC4 common::VEC4_NEGATIVE_Y
const VEC4 common::VEC4_NEGATIVE_Z
const VEC4 common::VEC4_NEGATIVE_W

Opis szczegółowy


Dokumentacja funkcji

bool common::around ( const VEC4 &  v1,
const VEC4 &  v2,
float  Epsilon 
) [inline]

bool common::around ( const VEC3 &  v1,
const VEC3 &  v2,
float  Epsilon 
) [inline]

bool common::around ( const VEC2 &  v1,
const VEC2 &  v2,
float  Epsilon 
) [inline]

void common::Cross ( VEC3 *  Out,
const VEC3 &  v1,
const VEC3 &  v2 
) [inline]

Iloczyn wektorowy dwóch wektorów 3D.

float common::Cross ( const VEC2 &  v1,
const VEC2 &  v2 
) [inline]

Iloczyn wektorowy dwóch wektorów dający liczbę mówiącą czy drugi wskazuje na lewo, czy na prawo względem pierwszego.

W układzie gdzie X jest w prawo a Y do góry, > 0 znaczy na lewo
W układzie gdzie X jest w prawo a Y w dół, > 0 znaczy na prawo

float common::Distance ( const VEC4 &  p1,
const VEC4 &  p2 
) [inline]

float common::Distance ( const VEC3 &  p1,
const VEC3 &  p2 
) [inline]

float common::Distance ( const VEC2 &  p1,
const VEC2 &  p2 
) [inline]

Odległość między dwoma punktami.

float common::DistanceSq ( const VEC4 &  p1,
const VEC4 &  p2 
) [inline]

float common::DistanceSq ( const VEC3 &  p1,
const VEC3 &  p2 
) [inline]

float common::DistanceSq ( const VEC2 &  p1,
const VEC2 &  p2 
) [inline]

Kwadrat odległości między dwoma punktami.

float common::Dot ( const VEC4 &  v1,
const VEC4 &  v2 
) [inline]

float common::Dot ( const VEC3 &  v1,
const VEC3 &  v2 
) [inline]

float common::Dot ( const VEC2 &  v1,
const VEC2 &  v2 
) [inline]

Iloczyn skalarny wektorów.

float common::Length ( const VEC4 &  v  )  [inline]

Zwraca długość wektora.

float common::Length ( const VEC3 &  v  )  [inline]

Zwraca długość wektora.

float common::Length ( const VEC2 &  v  )  [inline]

Zwraca długość wektora.

float common::LengthSq ( const VEC4 &  v  )  [inline]

Zwraca kwadrat długości wektora.

float common::LengthSq ( const VEC3 &  v  )  [inline]

Zwraca kwadrat długości wektora.

float common::LengthSq ( const VEC2 &  v  )  [inline]

Zwraca kwadrat długości wektora.

void common::Lerp ( VEC4 *  Out,
const VEC4 &  v1,
const VEC4 &  v2,
float  t 
) [inline]

void common::Lerp ( VEC3 *  Out,
const VEC3 &  v1,
const VEC3 &  v2,
float  t 
) [inline]

void common::Lerp ( VEC2 *  Out,
const VEC2 &  v1,
const VEC2 &  v2,
float  t 
) [inline]

Liniowa interpolacja wektorów.

void common::Max ( VEC4 *  Out,
const VEC4 &  v1,
const VEC4 &  v2 
) [inline]

void common::Max ( VEC3 *  Out,
const VEC3 &  v1,
const VEC3 &  v2 
) [inline]

void common::Max ( VEC2 *  Out,
const VEC2 &  v1,
const VEC2 &  v2 
) [inline]

Zwraca wektor złożony z większych składowych podanych wektorów.

void common::MidPoint ( VEC4 *  Out,
const VEC4 &  p1,
const VEC4 &  p2 
) [inline]

void common::MidPoint ( VEC3 *  Out,
const VEC3 &  p1,
const VEC3 &  p2 
) [inline]

void common::MidPoint ( VEC2 *  Out,
const VEC2 &  p1,
const VEC2 &  p2 
) [inline]

Zwraca punkt w połowie drogi między podanymi punktami.

void common::Min ( VEC4 *  Out,
const VEC4 &  v1,
const VEC4 &  v2 
) [inline]

void common::Min ( VEC3 *  Out,
const VEC3 &  v1,
const VEC3 &  v2 
) [inline]

void common::Min ( VEC2 *  Out,
const VEC2 &  v1,
const VEC2 &  v2 
) [inline]

Zwraca wektor złożony z mniejszych składowych podanych wektorów.

void common::Minus ( VEC4 *  InOut  )  [inline]

void common::Minus ( VEC3 *  InOut  )  [inline]

void common::Minus ( VEC2 *  InOut  )  [inline]

void common::Minus ( VEC4 *  Out,
VEC4 &  v 
) [inline]

void common::Minus ( VEC3 *  Out,
VEC3 &  v 
) [inline]

void common::Minus ( VEC2 *  Out,
VEC2 &  v 
) [inline]

Odwraca znak składowych wektora.

void common::Normalize ( VEC4 *  v  )  [inline]

void common::Normalize ( VEC3 *  v  )  [inline]

void common::Normalize ( VEC2 *  v  )  [inline]

Normalizuje wektor w miejscu.

void common::Normalize ( VEC4 *  Out,
const VEC4 &  v 
) [inline]

void common::Normalize ( VEC3 *  Out,
const VEC3 &  v 
) [inline]

void common::Normalize ( VEC2 *  Out,
const VEC2 &  v 
) [inline]

Normalizuje wektor, czyli zmienia mu długość na 1.

VEC4 common::operator* ( float  v,
const VEC4  pt 
) [inline]

VEC4 common::operator* ( const VEC4  pt,
float  v 
) [inline]

VEC3 common::operator* ( float  v,
const VEC3  pt 
) [inline]

VEC3 common::operator* ( const VEC3  pt,
float  v 
) [inline]

VEC2 common::operator* ( float  v,
const VEC2  pt 
) [inline]

VEC2 common::operator* ( const VEC2  pt,
float  v 
) [inline]

VEC4 common::operator/ ( float  v,
const VEC4  pt 
) [inline]

VEC4 common::operator/ ( const VEC4  pt,
float  v 
) [inline]

VEC3 common::operator/ ( float  v,
const VEC3  pt 
) [inline]

VEC3 common::operator/ ( const VEC3  pt,
float  v 
) [inline]

VEC2 common::operator/ ( float  v,
const VEC2  pt 
) [inline]

VEC2 common::operator/ ( const VEC2  pt,
float  v 
) [inline]

void common::Perpedicular ( VEC2 *  Out,
const VEC2 &  v 
) [inline]

Zwraca wektor prostopadły do podanego wektora 2D.

W układzie w którym X jest w prawo a Y do góry wektor leży na lewo od danego. W układzie w którym X jest w prawo a Y w dół, leży na prawo.

void common::PerpedicularVectors ( VEC3 *  Out1,
VEC3 *  Out2,
const VEC3 &  v 
)

Wyznacza dwa dowolne wektory prostopadłe do podanego.

Zwrócone wektory nie są znormalizowane.

Parametry:
v nie musi być znormalizowany.

void common::Project ( VEC3 *  Out,
const VEC3 &  V,
const VEC3 &  N 
) [inline]

void common::Project ( VEC2 *  Out,
const VEC2 &  V,
const VEC2 &  N 
) [inline]

Rzutowanie wektora V na wektor N.

Jeśli chcemy rozłożyć wektor V na wektor prostopadły i równoległy do N, to wektorem równoległym jest Out, a prostopadły obliczamy jako V - Out.

Parametry:
[out] Out Będzie równoległy do N.

void common::Project_N ( VEC3 *  Out,
const VEC3 &  V,
const VEC3 &  N 
) [inline]

void common::Project_N ( VEC2 *  Out,
const VEC2 &  V,
const VEC2 &  N 
) [inline]

Wersja common::Project, kiedy wektor N jest już na pewno znormalizowany.

void common::Reflect ( VEC3 *  Out,
const VEC3 &  v,
const VEC3 &  PlaneNormal 
) [inline]

void common::Reflect ( VEC2 *  Out,
const VEC2 &  v,
const VEC2 &  PlaneNormal 
) [inline]

Oblicza wektor kierunku odbicia od płaszczyzny o podanej normalnej.

Parametry:
v wskazuje na kierunek *do* tej płaszczyzny.
PlaneNormal musi być znormalizowany.

void common::swap ( VEC4 &  v1,
VEC4 &  v2 
) [inline]

void common::swap ( VEC3 &  v1,
VEC3 &  v2 
) [inline]

void common::swap ( VEC2 &  v1,
VEC2 &  v2 
) [inline]

void common::Vec3ToVec4 ( VEC4 *  Out,
const VEC3 &  v 
) [inline]

Konwersja z wektora 3D na 4D dopisująca W=1.

void common::Vec4ToVec3_Div ( VEC3 *  Out,
const VEC4 &  v 
) [inline]

Konwersja z wektora 4D na 3D ze podzieleniem składowych przez W.

void common::Vec4ToVec3_Ignore ( VEC3 *  Out,
const VEC4 &  v 
) [inline]

Konwersja z wektora 4D na 3D ze zignorowaniem składowej W.

bool common::VecEqual ( const VEC4 &  v1,
const VEC4 &  v2 
) [inline]

bool common::VecEqual ( const VEC3 &  v1,
const VEC3 &  v2 
) [inline]

bool common::VecEqual ( const VEC2 &  v1,
const VEC2 &  v2 
) [inline]

Zwraca true, jeśli podane wektory/punkty są sobie mniej więcej równe.


Dokumentacja zmiennych

const VEC2 common::VEC2_ONE

const VEC2 common::VEC2_ZERO

const VEC3 common::VEC3_ONE

const VEC3 common::VEC3_ZERO

const VEC4 common::VEC4_ONE

const VEC4 common::VEC4_ZERO


Wygenerowano Sat Mar 29 18:17:00 2008 dla CommonLib programem  doxygen 1.5.5