Płaszczyzna
[Moduł Math]


Komponenty

struct  common::PLANE
 Płaszczyzna. Więcej...

Funkcje

PLANE common::operator* (float s, const PLANE &p)
void common::swap (PLANE &p1, PLANE &p2)
VEC3 & common::GetPlaneNormal (PLANE &Plane)
 Daje dostęp do wektora normalnego podanej płaszczyzny, czyli jej składowych a, b, c zrzutowanych jako VEC3.
const VEC3 & common::GetPlaneNormal (const PLANE &Plane)
 Zwraca wektor normalny płaszczyzny, czyli jej składowe a, b, c zrzutowane jako VEC3.
void common::GetPlaneMemberPoint (VEC3 *Out, const PLANE &Plane)
 Zwraca jakiś punkt leżący na tej płaszczyźnie.
void common::RecalculatePlaneD (PLANE *Plane, const VEC3 &p)
 Zmienia odległość od początku układu współrzędnych.
bool common::PlaneEqual (const PLANE &p1, const PLANE &p2)
 Zwraca true, jeśli podane płaszczyzny są sobie mniej więcej równe.
void common::PointsToPlane (PLANE *Out, const VEC3 &p1, const VEC3 &p2, const VEC3 &p3)
 Tworzy płaszczyznę na podstawie trzech punktów.
void common::PointNormalToPlane (PLANE *Out, const VEC3 &Point, const VEC3 &Normal)
 Tworzy płaszczyznę z wektora normalnego i punktu leżącego na tej płaszczyźnie.
void common::Mul (PLANE *Out, const PLANE &p, float s)
 Skalowanie płaszczyzny.
void common::Div (PLANE *Out, const PLANE &p, float s)
float common::Dot (const PLANE &p, const VEC4 &pt)
 Iloczyn skalarny płaszczyzny i punktu we współrzędnych jednorodnych.
float common::DotCoord (const PLANE &p, const VEC3 &pt)
 Iloczyn skalarny płaszczyzny z punktem 3D: a*x+b*y+c*z+d*1.
float common::DotNormal (const PLANE &p, const VEC3 &v)
 Iloczyn skalarny płaszczyzny z wektorem 3D: a*x+b*y+c*z+d*0.
void common::Normalize (PLANE *Out, const PLANE &p)
 Normalizacja płaszczyzny.
void common::Normalize (PLANE *p)
 Normalizacja płaszczyzny w miejscu.

Zmienne

const PLANE common::PLANE_ZERO
const PLANE common::PLANE_POSITIVE_X
 Płaszczyzna pionowa, równoległa do Y i Z, wskazująca na prawo na X.
const PLANE common::PLANE_POSITIVE_Y
 Płaszczyzna pozioma, równoległa do X i Z, wskazująca do góry na Y.
const PLANE common::PLANE_POSITIVE_Z
 Płaszczyzna pionowa, równoległa do X i Y, wskazująca w głąb na Z.
const PLANE common::PLANE_NEGATIVE_X
 Płaszczyzna pionowa, równoległa do Y i Z, wskazująca na lewo na X.
const PLANE common::PLANE_NEGATIVE_Y
 Płaszczyzna pozioma, równoległa do X i Z, wskazująca w dół na Y.
const PLANE common::PLANE_NEGATIVE_Z
 Płaszczyzna pionowa, równoległa do X i Y, wskazująca do gracza na Z.

Opis szczegółowy


Dokumentacja funkcji

void common::Div ( PLANE *  Out,
const PLANE &  p,
float  s 
) [inline]

float common::Dot ( const PLANE &  p,
const VEC4 &  pt 
) [inline]

Iloczyn skalarny płaszczyzny i punktu we współrzędnych jednorodnych.

Można użyć do wyznaczenia czy tak zapisany punkt leży na płaszczyźnie, po której stronie i jak daleko.

float common::DotCoord ( const PLANE &  p,
const VEC3 &  pt 
) [inline]

Iloczyn skalarny płaszczyzny z punktem 3D: a*x+b*y+c*z+d*1.

Można użyć do wyznaczenia czy punkt leży na płaszczyźnie, po której stronie i jak daleko.

float common::DotNormal ( const PLANE &  p,
const VEC3 &  v 
) [inline]

Iloczyn skalarny płaszczyzny z wektorem 3D: a*x+b*y+c*z+d*0.

Przydatny do wyznaczania kąta między płaszczyzną (jej normalną) a wektorem.

void common::GetPlaneMemberPoint ( VEC3 *  Out,
const PLANE &  Plane 
) [inline]

Zwraca jakiś punkt leżący na tej płaszczyźnie.

Parametry:
Plane Musi być znormalizowana.

const VEC3& common::GetPlaneNormal ( const PLANE &  Plane  )  [inline]

Zwraca wektor normalny płaszczyzny, czyli jej składowe a, b, c zrzutowane jako VEC3.

VEC3& common::GetPlaneNormal ( PLANE &  Plane  )  [inline]

Daje dostęp do wektora normalnego podanej płaszczyzny, czyli jej składowych a, b, c zrzutowanych jako VEC3.

void common::Mul ( PLANE *  Out,
const PLANE &  p,
float  s 
) [inline]

Skalowanie płaszczyzny.

void common::Normalize ( PLANE *  p  )  [inline]

Normalizacja płaszczyzny w miejscu.

void common::Normalize ( PLANE *  Out,
const PLANE &  p 
) [inline]

Normalizacja płaszczyzny.

Po tej operacji wektor normalny płaszczyzny jest znormalizowany. Płaszczyzna pozostaje położona i zorientowana tam gdzie była.

PLANE common::operator* ( float  s,
const PLANE &  p 
) [inline]

bool common::PlaneEqual ( const PLANE &  p1,
const PLANE &  p2 
) [inline]

Zwraca true, jeśli podane płaszczyzny są sobie mniej więcej równe.

void common::PointNormalToPlane ( PLANE *  Out,
const VEC3 &  Point,
const VEC3 &  Normal 
) [inline]

Tworzy płaszczyznę z wektora normalnego i punktu leżącego na tej płaszczyźnie.

Czy Normal musi być znormalizowany? Nie wiem.

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

Tworzy płaszczyznę na podstawie trzech punktów.

Płaszczyzna będzie zorientowana dodatnio w kierunku tej półprzestrzeni, z której wierzchołki trójkąta są widoczne jako zorientowane zgodnie z ruchem wskazówek zegara w układzie LH.

void common::RecalculatePlaneD ( PLANE *  Plane,
const VEC3 &  p 
) [inline]

Zmienia odległość od początku układu współrzędnych.

Płaszczyzna pozostając tak samo zorientowana została przesunięta tak, żeby zawierać w sobie podany punkt.

Parametry:
[in,out] Plane Musi być znormalizowana.

void common::swap ( PLANE &  p1,
PLANE &  p2 
) [inline]


Dokumentacja zmiennych

Płaszczyzna pionowa, równoległa do Y i Z, wskazująca na lewo na X.

Płaszczyzna pozioma, równoległa do X i Z, wskazująca w dół na Y.

Płaszczyzna pionowa, równoległa do X i Y, wskazująca do gracza na Z.

Płaszczyzna pionowa, równoległa do Y i Z, wskazująca na prawo na X.

Płaszczyzna pozioma, równoległa do X i Z, wskazująca do góry na Y.

Płaszczyzna pionowa, równoległa do X i Y, wskazująca w głąb na Z.

const PLANE common::PLANE_ZERO


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