#include <cassert>
#include <cmath>
Go to the source code of this file.
|
|
#define | MIN(a, b) (((a) < (b)) ? (a) : (b)) |
|
#define | MAX(a, b) (((a) > (b)) ? (a) : (b)) |
|
#define | M_PI (3.141592653589793238462643383279) |
|
|
|
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 |
|
#define M_PI (3.141592653589793238462643383279) |
#define MAX |
( |
|
a, |
|
|
|
b |
|
) |
| (((a) > (b)) ? (a) : (b)) |
#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 }
- Author
- MOKA TEAM
Definition at line 50 of file math-extension.hh.
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.
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.
- Enumerator:
FUNCTION_LIN |
|
FUNCTION_QUAD |
|
FUNCTION_EXP |
|
FUNCTION_LOG |
|
FUNCTION_SIN |
|
FUNCTION_COS |
|
Definition at line 86 of file math-extension.hh.
Calcule l'angle formé entre le vecteur OX et le vecteur (Ax,Ay).
- Parameters
-
Ax | Une valeur quelconque |
Ay | Une valeur quelconque |
- Returns
- angle(OX,(Ax,Ay))
Definition at line 358 of file math-extension.hh.
Teste si AValue1 et AValue2 sont égaux, à EPSILON près.
- Parameters
-
AValue1 | Une valeur quelconque |
AValue2 | Une valeur quelconque |
- Returns
- Un booléen
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
- Parameters
-
ASign1 | Un signe (-1, 0 ou 1) |
ASign2 | Un signe (-1, 0 ou 1) |
- Returns
- La combinaison des signes ASign1 et ASign2
Definition at line 186 of file math-extension.hh.
Calcule l'arc-cosinus de AValue. Le résultat est exprimé en degrés.
- Parameters
-
AValue | Une valeur quelconque |
- Returns
- deg(acos(AValue))
Definition at line 294 of file math-extension.hh.
Calcule l'arc-sinus de AValue. Le résultat est exprimé en degrés.
- Parameters
-
AValue | Une valeur quelconque |
- Returns
- deg(asin(AValue))
Definition at line 283 of file math-extension.hh.
Calcule l'arc-tangente de AValue. Le résultat est exprimé en degrés.
- Parameters
-
AValue | Une valeur quelconque |
- Returns
- deg(atan(AValue))
Definition at line 305 of file math-extension.hh.
Calcule le cosinus de AAngle. AAngle est exprimé en degrés.
- Parameters
-
AAngle | Une valeur quelconque |
- Returns
- cos(rad(AAngle))
Definition at line 261 of file math-extension.hh.
Convertit AAngle (exprimé en radians) en degrés.
- Parameters
-
AAngle | Une valeur quelconque |
- Returns
- AAngle*180/PI
Definition at line 228 of file math-extension.hh.
Calcule le déterminant de la matrice 3*3 donnée par les sommets ALine1, ALine2 et ALine3.
- Parameters
-
ALine- | Des sommets correspondant aux lignes de la matrice |
- Returns
- Le déterminant de la matrice 3*3
Definition at line 30 of file math-extension.cc.
Calcule le sinus de AAngle. AAngle est exprimé en degrés.
- Parameters
-
AAngle | Une valeur quelconque |
- Returns
- sin(rad(AAngle))
Definition at line 250 of file math-extension.hh.
Calcule la tangente de AAngle. AAngle est exprimé en degrés.
- Parameters
-
AAngle | Une valeur quelconque |
- Returns
- tan(rad(AAngle))
Definition at line 272 of file math-extension.hh.
Teste si AValue1 est strictement inférieur à AValue2, à EPSILON près. (renvoie vrai si AValue1 + EPSILON < AValue2)
- Parameters
-
AValue1 | Une valeur quelconque |
AValue2 | Une valeur quelconque |
- Returns
- Un booléen
Definition at line 205 of file math-extension.hh.
Teste si AValue est négatif ou nul (à epsilon près).
- Parameters
-
AValue | Une valeur quelconque |
- Returns
- true ssi AValue > -EPSILON
Definition at line 146 of file math-extension.hh.
Teste si AValue est positif ou nul (à epsilon près).
- Parameters
-
AValue | Une valeur quelconque |
- Returns
- true ssi AValue > 0
Definition at line 134 of file math-extension.hh.
Teste si AValue est nul (à epsilon près).
- Parameters
-
AValue | Une valeur quelconque |
- Returns
- true ssi abs(AValue)<EPSILON
Definition at line 158 of file math-extension.hh.
Calcule la valeur A du segment ]-180,180] telle que A = AAngle + 360*k.
- Parameters
-
AValue | Une valeur quelconque |
- Returns
- La valeur A du segment ]-180,180] telle que A = AAngle + 360*k.
Definition at line 316 of file math-extension.hh.
int pgcd |
( |
int |
Ax, |
|
|
int |
Ay |
|
) |
| |
|
inline |
- Parameters
-
Ax | Une valeur entière positive ou nulle. |
Ay | Une valeur entière positive ou nulle. |
- Returns
- Le plus grand commun diviseur de Ax et Ay
Definition at line 392 of file math-extension.hh.
Calcule la valeur A du segment [0,360[ telle que A = AAngle + 360*k.
- Parameters
-
AValue | Une valeur quelconque |
- Returns
- la valeur A du segment [0,360[ telle que A = AAngle + 360*k.
Definition at line 336 of file math-extension.hh.
Convertit AAngle (exprimé en degrés) en radians.
- Parameters
-
AAngle | Une valeur quelconque |
- Returns
- AAngle*PI/180
Definition at line 239 of file math-extension.hh.
Donne le signe de AValue.
- Parameters
-
AValue | Une valeur quelconque |
- Returns
- -1 si AValue<=-EPSILON, +1 si AValue>=+EPSILON, 0 sinon
Definition at line 170 of file math-extension.hh.
Calcule le carré d'un entier ou d'un flottant.
- Parameters
-
AValue | Un nombre quelconque (entier ou flottant) |
- Returns
- AValue au carré
Definition at line 113 of file math-extension.hh.
float sqr |
( |
float |
AValue | ) |
|
|
inline |
double sqr |
( |
double |
AValue | ) |
|
|
inline |
EPSILON représente la tolérance utilisée pour la comparaison de deux valeurs.
Definition at line 28 of file math-extension.cc.