Prosta 2D
[Moduł Math]


Komponenty

struct  common::LINE2D
 Prosta 2D. Więcej...

Funkcje

LINE2D common::operator* (float s, const LINE2D &p)
LINE2D common::operator/ (float s, const LINE2D &p)
bool common::LineEqual (const LINE2D &p1, const LINE2D &p2)
 Zwraca true, jeśli podane proste są sobie mniej więcej równe.
void common::swap (LINE2D &p1, LINE2D &p2)
void common::PointsToLine (LINE2D *Out, const VEC2 &p1, const VEC2 &p2)
 Tworzy prostą na podstwie dwóch punktów.
void common::PointNormalToLine (LINE2D *Out, const VEC2 &Point, const VEC2 &Normal)
 Tworzy prostą z wektora normalnego i punktu leżącego na tej prostej.
bool common::LinesParallel (const LINE2D &L1, const LINE2D &L2)
 Zwraca true, jeśli podane proste są równoległe.
bool common::LinesPerpedicular (const LINE2D &L1, const LINE2D &L2)
 Zwraca true, jeśli podane proste są prostopadłe.
float common::Dot (const LINE2D &L1, const LINE2D &L2)
 Zwraca dot z wektorów normalnych dwóch prostych.
float common::LineDistance (const LINE2D &L1, const LINE2D &L2)
 Zwraca signed odległość dwóch prostych na płaszczyźnie.
bool common::LinesIntersection (VEC2 *Out, const LINE2D &L1, const LINE2D &L2)
 Oblicza punkt przeciecia dwóch prostych.
bool common::PointsColinear (const VEC2 &p1, const VEC2 &p2, const VEC2 &p3)
 Zwraca true, jeśli podane trzy punkty leżą na jednej prostej.
void common::Mul (LINE2D *Out, const LINE2D &p, float s)
 Skalowanie prostej.
void common::Div (LINE2D *Out, const LINE2D &p, float s)
float common::Dot (const LINE2D &p, const VEC3 &pt)
 Iloczyn skalarny płaszczyzny i punktu we współrzędnych jednorodnych 2D.
float common::DotCoord (const LINE2D &p, const VEC2 &pt)
 Iloczyn skalarny prostej 2D z punktem 2D: a*x + b*y + c*1.
float common::DotNormal (const LINE2D &p, const VEC2 &v)
 Iloczyn skalarny prostej 2D z wektorem 2D: a*x + b*y + c*z + d*0.
void common::Normalize (LINE2D *Out, const LINE2D &p)
 Normalizacja prostej 2D.
void common::Normalize (LINE2D *p)
 Normalizacja prostej w miejscu.

Zmienne

const LINE2D common::LINE2D_ZERO
const LINE2D common::LINE2D_POSITIVE_X
const LINE2D common::LINE2D_NEGATIVE_X
const LINE2D common::LINE2D_POSITIVE_Y
const LINE2D common::LINE2D_NEGATIVE_Y

Opis szczegółowy


Dokumentacja funkcji

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

float common::Dot ( const LINE2D &  p,
const VEC3 &  pt 
) [inline]

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

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::Dot ( const LINE2D &  L1,
const LINE2D &  L2 
) [inline]

Zwraca dot z wektorów normalnych dwóch prostych.

Jeśli te proste są znormalizowane, wynikiem jest cos kąta między tymi prostymi.

float common::DotCoord ( const LINE2D &  p,
const VEC2 &  pt 
) [inline]

Iloczyn skalarny prostej 2D z punktem 2D: a*x + b*y + c*1.

Można użyć do wyznaczenia czy punkt leży na prostej 2D, po której stronie i jak daleko.

float common::DotNormal ( const LINE2D &  p,
const VEC2 &  v 
) [inline]

Iloczyn skalarny prostej 2D z wektorem 2D: a*x + b*y + c*z + d*0.

Przydatny do wyznaczania kąta między prostą 2D (jej normalną) a wektorem.

float common::LineDistance ( const LINE2D &  L1,
const LINE2D &  L2 
) [inline]

Zwraca signed odległość dwóch prostych na płaszczyźnie.

Proste muszą być znormalizowane.

bool common::LineEqual ( const LINE2D &  p1,
const LINE2D &  p2 
) [inline]

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

bool common::LinesIntersection ( VEC2 *  Out,
const LINE2D &  L1,
const LINE2D &  L2 
)

Oblicza punkt przeciecia dwóch prostych.

Jeśli proste nie przecinają się, tylko są równoległe lub się pokrywaną, to nie oblicza tylko zwraca false.

bool common::LinesParallel ( const LINE2D &  L1,
const LINE2D &  L2 
) [inline]

Zwraca true, jeśli podane proste są równoległe.

bool common::LinesPerpedicular ( const LINE2D &  L1,
const LINE2D &  L2 
) [inline]

Zwraca true, jeśli podane proste są prostopadłe.

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

Skalowanie prostej.

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

Normalizacja prostej w miejscu.

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

Normalizacja prostej 2D.

Po tej operacji wektor normalny prostej jest znormalizowany. Prosta pozostaje położona i zorientowana tam gdzie była.

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

LINE2D common::operator/ ( float  s,
const LINE2D &  p 
) [inline]

void common::PointNormalToLine ( LINE2D *  Out,
const VEC2 &  Point,
const VEC2 &  Normal 
) [inline]

Tworzy prostą z wektora normalnego i punktu leżącego na tej prostej.

bool common::PointsColinear ( const VEC2 &  p1,
const VEC2 &  p2,
const VEC2 &  p3 
)

Zwraca true, jeśli podane trzy punkty leżą na jednej prostej.

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

Tworzy prostą na podstwie dwóch punktów.

Wynikowa prosta nie jest znormalizowana.

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


Dokumentacja zmiennych

const LINE2D common::LINE2D_ZERO


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