#include <cassert>
#include <cmath>
Go to the source code of this file.
Defines | |
#define | MIN(a, b) (((a) < (b)) ? (a) : (b)) |
#define | MAX(a, b) (((a) > (b)) ? (a) : (b)) |
#define | M_PI (3.141592653589793238462643383279) |
Functions | |
int | sqr (int AValue) |
float | sqr (float AValue) |
double | sqr (double AValue) |
bool | isPositive (const TCoordinate &AValue) |
bool | isNegative (const TCoordinate &AValue) |
bool | isZero (const TCoordinate &AValue) |
int | sign (const TCoordinate &AValue) |
int | combineSigns (int ASign1, int ASign2) |
bool | isLessThan (const TCoordinate &AValue1, const TCoordinate &AValue2) |
bool | areEqual (const TCoordinate &AValue1, const TCoordinate &AValue2) |
TCoordinate | deg (const TCoordinate &AAngle) |
TCoordinate | rad (const TCoordinate &AAngle) |
TCoordinate | dSin (const TCoordinate &AAngle) |
TCoordinate | dCos (const TCoordinate &AAngle) |
TCoordinate | dTan (const TCoordinate &AAngle) |
TCoordinate | dAsin (const TCoordinate &AValue) |
TCoordinate | dAcos (const TCoordinate &AValue) |
TCoordinate | dAtan (const TCoordinate &AValue) |
TCoordinate | limit (const TCoordinate &AAngle) |
TCoordinate | positifAngle (const TCoordinate &AAngle) |
TCoordinate | angle (const TCoordinate &Ax, const TCoordinate &Ay) |
TCoordinate | det (const CVertex &ALine1, const CVertex &ALine2, const CVertex &ALine3) |
int | pgcd (int Ax, int Ay) |
enum | TFunctionType { FUNCTION_LIN, FUNCTION_QUAD, FUNCTION_EXP, FUNCTION_LOG, FUNCTION_SIN, FUNCTION_COS } |
typedef double | TCoordinate |
const TCoordinate | EPSILON |
static const int | NB_FUNCTION_TYPES = 6 |
#define M_PI (3.141592653589793238462643383279) |
Definition at line 58 of file math-extension.hh.
#define MAX | ( | a, | |||
b | ) | (((a) > (b)) ? (a) : (b)) |
Definition at line 54 of file math-extension.hh.
#define MIN | ( | a, | |||
b | ) | (((a) < (b)) ? (a) : (b)) |
Bibliothèque de fonctions mathématiques.
Conventions:
alpha.b signifie produit scalaire entre alpha et b résultat: ax*bx + ay*by + az*bz alpha*b signifie produit vectoriel entre alpha et b résultat: { ay*bz-az*by, az*bx-ax*bz, ax*by-ay*bx }
Definition at line 50 of file math-extension.hh.
typedef double TCoordinate |
TCoordinate est le type de base utilisé dans tous les calculs mathématiques. Les coordonnées des sommets, les composantes d'un vecteur, les cellules d'une matrice, etc, sont de ce type.
Definition at line 71 of file math-extension.hh.
enum TFunctionType |
TFunctionType est un type utilisé principalement par la classe CGMapVertex pour effectuer des déformations pondérées. Ces déformations prennent en paramètre une classe de fonction correspondant à une valeur de type TFunctionType.
Pour plus d'informations, voir CGMapVertex::applyFunctionOnParameter.
Definition at line 86 of file math-extension.hh.
TCoordinate angle | ( | const TCoordinate & | Ax, | |
const TCoordinate & | Ay | |||
) | [inline] |
Calcule l'angle formé entre le vecteur OX et le vecteur (Ax,Ay).
Ax | Une valeur quelconque | |
Ay | Une valeur quelconque |
Definition at line 358 of file math-extension.hh.
bool areEqual | ( | const TCoordinate & | AValue1, | |
const TCoordinate & | AValue2 | |||
) | [inline] |
Teste si AValue1 et AValue2 sont égaux, à EPSILON près.
AValue1 | Une valeur quelconque | |
AValue2 | Une valeur quelconque |
Definition at line 217 of file math-extension.hh.
int combineSigns | ( | int | ASign1, | |
int | ASign2 | |||
) | [inline] |
Combine les signes ASign1 et ASign2. La valeur retournée vaut ASign1*ASign2
ASign1 | Un signe (-1, 0 ou 1) | |
ASign2 | Un signe (-1, 0 ou 1) |
Definition at line 186 of file math-extension.hh.
TCoordinate dAcos | ( | const TCoordinate & | AValue | ) | [inline] |
Calcule l'arc-cosinus de AValue. Le résultat est exprimé en degrés.
AValue | Une valeur quelconque |
Definition at line 294 of file math-extension.hh.
TCoordinate dAsin | ( | const TCoordinate & | AValue | ) | [inline] |
Calcule l'arc-sinus de AValue. Le résultat est exprimé en degrés.
AValue | Une valeur quelconque |
Definition at line 283 of file math-extension.hh.
TCoordinate dAtan | ( | const TCoordinate & | AValue | ) | [inline] |
Calcule l'arc-tangente de AValue. Le résultat est exprimé en degrés.
AValue | Une valeur quelconque |
Definition at line 305 of file math-extension.hh.
TCoordinate dCos | ( | const TCoordinate & | AAngle | ) | [inline] |
Calcule le cosinus de AAngle. AAngle est exprimé en degrés.
AAngle | Une valeur quelconque |
Definition at line 261 of file math-extension.hh.
TCoordinate deg | ( | const TCoordinate & | AAngle | ) | [inline] |
Convertit AAngle (exprimé en radians) en degrés.
AAngle | Une valeur quelconque |
Definition at line 228 of file math-extension.hh.
TCoordinate det | ( | const CVertex & | ALine1, | |
const CVertex & | ALine2, | |||
const CVertex & | ALine3 | |||
) |
Calcule le déterminant de la matrice 3*3 donnée par les sommets ALine1, ALine2 et ALine3.
ALine- | Des sommets correspondant aux lignes de la matrice |
Definition at line 30 of file math-extension.cc.
TCoordinate dSin | ( | const TCoordinate & | AAngle | ) | [inline] |
Calcule le sinus de AAngle. AAngle est exprimé en degrés.
AAngle | Une valeur quelconque |
Definition at line 250 of file math-extension.hh.
TCoordinate dTan | ( | const TCoordinate & | AAngle | ) | [inline] |
Calcule la tangente de AAngle. AAngle est exprimé en degrés.
AAngle | Une valeur quelconque |
Definition at line 272 of file math-extension.hh.
bool isLessThan | ( | const TCoordinate & | AValue1, | |
const TCoordinate & | AValue2 | |||
) | [inline] |
Teste si AValue1 est strictement inférieur à AValue2, à EPSILON près. (renvoie vrai si AValue1 + EPSILON < AValue2)
AValue1 | Une valeur quelconque | |
AValue2 | Une valeur quelconque |
Definition at line 205 of file math-extension.hh.
bool isNegative | ( | const TCoordinate & | AValue | ) | [inline] |
Teste si AValue est négatif ou nul (à epsilon près).
AValue | Une valeur quelconque |
Definition at line 146 of file math-extension.hh.
bool isPositive | ( | const TCoordinate & | AValue | ) | [inline] |
Teste si AValue est positif ou nul (à epsilon près).
AValue | Une valeur quelconque |
Definition at line 134 of file math-extension.hh.
bool isZero | ( | const TCoordinate & | AValue | ) | [inline] |
Teste si AValue est nul (à epsilon près).
AValue | Une valeur quelconque |
Definition at line 158 of file math-extension.hh.
TCoordinate limit | ( | const TCoordinate & | AAngle | ) | [inline] |
Calcule la valeur A du segment ]-180,180] telle que A = AAngle + 360*k.
AValue | Une valeur quelconque |
Definition at line 316 of file math-extension.hh.
int pgcd | ( | int | Ax, | |
int | Ay | |||
) | [inline] |
Ax | Une valeur entière positive ou nulle. | |
Ay | Une valeur entière positive ou nulle. |
Definition at line 392 of file math-extension.hh.
TCoordinate positifAngle | ( | const TCoordinate & | AAngle | ) | [inline] |
Calcule la valeur A du segment [0,360[ telle que A = AAngle + 360*k.
AValue | Une valeur quelconque |
Definition at line 336 of file math-extension.hh.
TCoordinate rad | ( | const TCoordinate & | AAngle | ) | [inline] |
Convertit AAngle (exprimé en degrés) en radians.
AAngle | Une valeur quelconque |
Definition at line 239 of file math-extension.hh.
int sign | ( | const TCoordinate & | AValue | ) | [inline] |
Donne le signe de AValue.
AValue | Une valeur quelconque |
Definition at line 170 of file math-extension.hh.
double sqr | ( | double | AValue | ) | [inline] |
Definition at line 123 of file math-extension.hh.
float sqr | ( | float | AValue | ) | [inline] |
Definition at line 118 of file math-extension.hh.
int sqr | ( | int | AValue | ) | [inline] |
Calcule le carré d'un entier ou d'un flottant.
AValue | Un nombre quelconque (entier ou flottant) |
Definition at line 113 of file math-extension.hh.
const TCoordinate EPSILON |
EPSILON représente la tolérance utilisée pour la comparaison de deux valeurs.
Definition at line 28 of file math-extension.cc.
const int NB_FUNCTION_TYPES = 6 [static] |
Le nombre de classes de fonctions répertoriées par TFunctionType.
Definition at line 100 of file math-extension.hh.