Moduł Math


Moduły

 Punkt 2D z liczb całkowitych
 Wektor floatów 2D, 3D, 4D
 Trójkąt
 Promień
 Prostokąt
 AABB
 Kolory
 Płaszczyzna
 Prosta 2D
 Macierz 4 x 4
 Kwaternion
 Frustum
 Kapsuła
 Wygładzanie zmiennej
 Współrzędne sferyczne
 Kolizje
 Poisson Disc

Komponenty

struct  common::POINT_
 Punkt 2D z liczb całkowitych. Więcej...
struct  common::VEC2
 Wektor floatów 2D. Więcej...
struct  common::RECTI
 Prostokąt z liczb całkowitych. Więcej...
struct  common::BOX
 AABB z 2 punktów 3D. Więcej...
struct  common::COLOR
 Kolor w formacie A8R8G8B8. Więcej...
struct  common::PLANE
 Płaszczyzna. Więcej...
struct  common::LINE2D
 Prosta 2D. Więcej...
struct  common::MATRIX
 Macierz 4 x 4. Więcej...
struct  common::QUATERNION
 Kwaternion. Więcej...

Funkcje

template<typename DestT, typename SrcT>
DestT & common::math_cast (const SrcT &x)
 Szablon bazowy do konwersji między typami matematycznymi.
void common::ConvexHull2D (std::vector< VEC2 > *OutPoints, const VEC2 InPoints[], size_t InPointCount)
 Zwraca wypukłą otoczkę zbioru punktów 2D.
void common::SphereBoundingPoints (VEC3 *OutSphereCenter, float *OutSphereRadius, const VEC3 Points[], size_t PointCount)
 Znajduje sferę otaczającą podany zbiór punktów.
void common::BoxBoundingPoints (BOX *box, const VEC3 points[], size_t PointCount)
 Tworzy najmniejszy boks otaczający podany zbiór punktów.
void common::BoxBoundingSphere (VEC3 *SphereCenter, float *SphereRadius, const BOX &Box)
 Oblicza sferę otaczającą box.
void common::SphereBoundingBox (BOX *Out, const VEC3 &SphereCenter, float SphereRadius)
 Oblicza box otaczający sferę.
void common::BoxBoundingSpheres (BOX *OutBox, const VEC3 SpheresCenter[], const float SpheresRadius[], size_t SphereCount)
 Wylicza AABB otaczający podany zbiór sfer.
void common::RandomPointInUnitSphere (VEC3 *Out, RandomGenerator &Rand)
 Losuje punkt wewnątrz kuli o środku w (0,0,0) i promieniu 1. Rozkład równomierny.
void common::RandomPointInUnitSphere (VEC3 *Out)
void common::RandomPointInUnitCircle (VEC2 *Out, RandomGenerator &Rand)
 Losuje punkt wewnątrz koła o środku w (0,0) i promieniu 1. Rozkład równomierny.
void common::RandomPointInUnitCircle (VEC2 *Out)

Opis szczegółowy

Dokumentacja: Module_Math
Nagłówek: Math.hpp

Dokumentacja funkcji

void common::BoxBoundingPoints ( BOX *  box,
const VEC3  points[],
size_t  PointCount 
)

Tworzy najmniejszy boks otaczający podany zbiór punktów.

void common::BoxBoundingSphere ( VEC3 *  SphereCenter,
float *  SphereRadius,
const BOX &  Box 
)

Oblicza sferę otaczającą box.

void common::BoxBoundingSpheres ( BOX *  OutBox,
const VEC3  SpheresCenter[],
const float  SpheresRadius[],
size_t  SphereCount 
)

Wylicza AABB otaczający podany zbiór sfer.

Parametry:
SphereCount Musi być większe od 0.

void common::ConvexHull2D ( std::vector< VEC2 > *  OutPoints,
const VEC2  InPoints[],
size_t  InPointCount 
)

Zwraca wypukłą otoczkę zbioru punktów 2D.

  • Na wejściu musi być co najmniej jeden punkt.
  • Punkty będą ułożone zgodnie z ruchem wskazówek zegara, jeśli układ jest X w prawo a Y w dół.
  • Punkty powtarzające się są chyba usuwane, tzn. wynik jest bez powtórzeń.
  • Punkty leżące na prostej krawędzi raz pojawiają się w wyniku a raz nie - niezdefiniowane.

template<typename DestT, typename SrcT>
DestT& common::math_cast ( const SrcT &  x  )  [inline]

Szablon bazowy do konwersji między typami matematycznymi.

Ta wersja nie działa, specjalizacje będą działać.

void common::RandomPointInUnitCircle ( VEC2 *  Out  ) 

void common::RandomPointInUnitCircle ( VEC2 *  Out,
RandomGenerator &  Rand 
)

Losuje punkt wewnątrz koła o środku w (0,0) i promieniu 1. Rozkład równomierny.

void common::RandomPointInUnitSphere ( VEC3 *  Out  ) 

void common::RandomPointInUnitSphere ( VEC3 *  Out,
RandomGenerator &  Rand 
)

Losuje punkt wewnątrz kuli o środku w (0,0,0) i promieniu 1. Rozkład równomierny.

void common::SphereBoundingBox ( BOX *  Out,
const VEC3 &  SphereCenter,
float  SphereRadius 
)

Oblicza box otaczający sferę.

void common::SphereBoundingPoints ( VEC3 *  OutSphereCenter,
float *  OutSphereRadius,
const VEC3  Points[],
size_t  PointCount 
)

Znajduje sferę otaczającą podany zbiór punktów.

Nie jest to może najmniejsza sfera, ale przynajmniej ten algorytm jest prosty i szybki.


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