La classe Transform3D

Horizontale.gif (2348 octets)

Classe pour des objets mathématiques représentant des transformations géométriques caractérisées en interne par des matrice 4x4 de réels double-précision:

Une transformation géométrique peut avoir un type:

Une transformation est aussi caractérisée par son déterminant:

 

Constructeur

Transform3D(): Crée une matrice identité.
Transform3D(double[] matrix): Crée une matrice initialisée avec le tableau à 16 valeurs matrix.
Transform3D(float[] matrix): Crée une matrice initialisée avec le tableau à 16 valeurs matrix.
Transform3D(GMatrix m1): Crée une matrice initialisée avec la matrice 4x4 supérieure gauche de m1.
Transform3D(Matrix3d m1, Vector3d t1, double s): Crée une transformation composition d'une rotation, d'une translation et d'une mise à l'échelle.
Transform3D(Matrix3f m1, Vector3d t1, double s): Crée une transformation composition d'une rotation, d'une translation et d'une mise à l'échelle.
Transform3D(Matrix3f m1, Vector3f t1, float s): Crée une matrice initialisée à rotation(m1)*translation(t1)*scale(s).
Transform3D(Matrix4d m1): Crée une matrice initialisée avec la matrice m1.
Transform3D(Matrix4f m1): Crée une matrice initialisée avec la matrice m1.
Transform3D(Quat4d q1, Vector3d t1, double s): Crée une transformation composition d'une rotation, d'une translation et d'une mise à l'échelle.
Transform3D(Quat4f q1, Vector3d t1, double s): Crée une transformation composition d'une rotation, d'une translation et d'une mise à l'échelle.
Transform3D(Quat4f q1, Vector3f t1, float s): Crée une transformation composition d'une rotation, d'une translation et d'une mise à l'échelle.
Transform3D(Transform3D t1): Crée une transformation par copie.

 

Valeur rendue

Nom et paramètres

void add(Transform3D t1): this = this+t1.
void add(Transform3D t1, Transform3D t2): this = t1+t2.
double determinant(): Retourne le déterminant.
boolean epsilonEquals(Transform3D t1, double epsilon): Non renseigné.
boolean equals(Object o1): Retourne vrai si o1 est de classeTransform3D et est égal à this.
boolean equals(Transform3D t1): Retourne vrai si t1 = this.
void frustum(double left, double right, double bottom, double top, double near, double far): Crée une matrice de projection en perspective représentative d'un modèle de visualisation de type caméra.
void get(double[] matrix): Place les valeurs de this dans le tableau de 16 doubles matrix.
void get(float[] matrix): Place les valeurs de this dans le tableau matrix (16 float).
void get(Matrix3d m1): Place les valeurs supérieures gauches de this dans la matrice 3x3 argument.
double get(Matrix3d m1, Vector3d t1): Place les valeurs supérieures gauches de this dans la matrice 3x3 argument m1 ainsi que le vecteur supérieur droit dans t1.
void get(Matrix3f m1): Place les valeurs supérieures gauches de this dans la matrice 3x3 argument.
double get(Matrix3f m1, Vector3d t1): Place les valeurs supérieures gauches de this dans la matrice 3x3 argument m1 ainsi que le vecteur supérieur droit dans t1.
float get(Matrix3f m1, Vector3f t1): Place les valeurs supérieures gauches de this dans la matrice 3x3 argument m1 ainsi que le vecteur supérieur droit dans t1.
void get(Matrix4d matrix): Place les valeurs de this dans la matrice 4x4 argument.
void get(Matrix4f matrix): Place les valeurs de this dans la matrice 4x4 argument.
void get(Quat4d q1): Non resnseigné.
double get(Quat4d q1, Vector3d t1): Non renseigné.
void get(Quat4f q1): Non resnseigné.
double get(Quat4f q1, Vector3d t1): Non resnseigné.
float get(Quat4f q1, Vector3f t1): Non resnseigné.
void get(Vector3d trans): Place le vecteur supérieur droit dans trans.
void get(Vector3f trans): Place le vecteur supérieur droit dans trans.
boolean getAutoNormalize(): Retourne la valeur d'état d'auto-normalisation.
int getBestType(): Retourne le meilleur type admissible pour this (par ordre ZERO, IDENTITY, SCALE/TRANSLATION, ORTHOGONAL, RIGID, CONGRUENT, AFFINE).
boolean getDeterminantSign(): Retourne le signe du déterminant de this.
void getRotationScale(Matrix3d m1): Place les valeurs supérieures gauches de this dans la matrice 3x3 argument.
void getRotationScale(Matrix3f m1): Place les valeurs supérieures gauches de this dans la matrice 3x3 argument.
double getScale(): Retourne de facteur de mise à l'échelle uniforme de this.
void getScale(Vector3d scale): Retourne de facteur de mise à l'échelle non-uniforme de this.
int getType(): Retourne le type de la matrice comme un bitmask de tous les types auxquels elle appartient.
void invert(): Inverse this.
void invert(Transform3D t1): Configure this avec l'inverse de t1.
void lookAt(Point3d eye, Point3d center, Vector3d up): Configure this avec une transformation caractéristique d'un point de vue eye regardant vers center avec up comme direction verticale.
void mul(double scalar): Multiplie this pas un scalaire.
void mul(double scalar, Transform3D t1): Multiplie t1 par un scalaire et place le résultat dans this.
void mul(Transform3D t1): this = this*t1.
void mul(Transform3D t1, Transform3D t2): this = t1*t2.
void mulInverse(Transform3D t1): this = this*inv(t1).
void mulInverse(Transform3D t1, Transform3D t2): this = t1*inv(t2).
void mulTransposeBoth(Transform3D t1, Transform3D t2): this = transpose(t1)*transpose(t2)).
void mulTransposeLeft(Transform3D t1, Transform3D t2): this = transpose(t1)*t2).
void mulTransposeRight(Transform3D t1, Transform3D t2): this = t1 * transpose(t2)).
void normalize(): Normalise la matrice 3x3 supérieure gauche de this par une décomposition par valeur singulière.
void normalize(Transform3D t1): Normalise la matrice 3x3 supérieure gauche de t1 par une décomposition par valeur singulière.
void normalizeCP(): Normalise la matrice 3x3 supérieure gauche de this par une décomposition CP.
void normalizeCP(Transform3D t1): Normalise la matrice 3x3 supérieure gauche de t1 par une décomposition CP.
void ortho(double left, double right, double bottom, double top, double near, double far): Crée une transformation géométrique de projection orthographique caractérisant une caméra standard.
void perspective(double fovx, double aspect, double zNear, double zFar): Crée une transformation géométrique de projection en perspective caractérisant une caméra standard.
void rotX(double angle): Configure la valeur de this avec une rotation directe autour de l'axe x.
void rotY(double angle): Configure la valeur de this avec une rotation directe autour de l'axe y.
void rotZ(double angle): Configure la valeur de this avec une rotation directe autour de l'axe z.
void scaleAdd(double s, Transform3D t1): this = scale(s)*this + t1).
void scaleAdd(double s, Transform3D t1, Transform3D t2): this = scale(s)*t1 + t2).
void set(AxisAngle4d a1): Configure la matrice avec la rotation d'axe et angle définis dans a1.
void set(AxisAngle4f a1): Configure la matrice avec la rotation d'axe et angle définis dans a1.
void set(double scale): this = scale(scale).
void set(double[] matrix): Configure this avec les 16 valeurs de matrix.
void set(double scale, Vector3d v1): Configure this avec une transformation composition de scale(scale) et de translation(v1).
void set(float[] matrix): Configure this avec les 16 valeurs de matrix.
void set(float scale, Vector3f v1): Configure this avec une transformation composition de scale(scale) et de translation(v1).
void set(GMatrix matrix): Configure this avec la matrice 4x4 supérieure gauche de matrix.
void set(Matrix3d m1): Configure la matrice 3x3 supérieure gauche de this avec la matrice m1. Le reste de la matrice est recopiée depuis l'identité.
void set(Matrix3d m1, Vector3d t1, double s): Configure this avec la composition de rotation(m1), translation(t1) et scale(s).
void set(Matrix3f m1): Configure la matrice 3x3 supérieure gauche de this avec la matrice m1. Le reste de la matrice est recopiée depuis l'identité.
void set(Matrix3f m1, Vector3d t1, double s): Configure this avec la composition de rotation(m1), translation(t1) et scale(s).
void set(Matrix3f m1, Vector3f t1, float s): Configure this avec la composition de rotation(m1), translation(t1) et scale(s).
void set(Matrix4d m1): this = m1.
void set(Matrix4f m1): this = m1.
void set(Quat4d q1): Configure la matrice 3x3 supérieure gauche de this avec la matrice conversion du quaternion q1, et le reste de this avec les valeurs de l'identité.
void set(Quat4d q1, Vector3d t1, double s): Configure this avec la composition de rotation(q1), translation(t1) et scale(s).
void set(Quat4f q1): Configure la matrice 3x3 supérieure gauche de this avec la matrice conversion du quaternion q1, et le reste de this avec les valeurs de l'identité.
void set(Quat4f q1, Vector3d t1, double s): Configure this avec la composition de rotation(q1), translation(t1) et scale(s).
void set(Quat4f q1, Vector3f t1, float s): Configure this avec la composition de rotation(q1), translation(t1) et scale(s).
void set(Transform3D t1): Configure le type de l'état de this avec ceux de t1.
void set(Vector3d trans): this = translation(trans).
void set(Vector3d v1, double scale): this = translation(trans)* scale(scale).
void set(Vector3f trans): this = translation(trans).
void set(Vector3f v1, float scale): this = translation(trans)* scale(scale).
void setAutoNormalize(boolean autoNormalize): non renseigné.
void setEuler(Vector3d euler): non renseigné.
void setIdentity(): this = identité.
void setNonUniformScale(double xScale, double yScale, double zScale): Deprecated. Utiliser setScale(Vector3d).
void setRotation(AxisAngle4d a1): Configure this avec la rotation d'axe et angle définis dans a1. Une mise à l'échelle préexistante est conservée.
void setRotation(AxisAngle4f a1): Configure this avec la rotation d'axe et angle définis dans a1. Une mise à l'échelle préexistante est conservée.
void setRotation(Matrix3d m1): Non renseigné.
void setRotation(Matrix3f m1): Non renseigné.
void setRotation(Quat4d q1): Configure la matrice 3x3 supérieure gauche de this avec le quaternion q1. Une mise à l'échelle préexistante est conservée.
void setRotation(Quat4f q1): Configure la matrice 3x3 supérieure gauche de this avec le quaternion q1. Une mise à l'échelle préexistante est conservée.
void setRotationScale(Matrix3d m1): Remplace la matrice 3x3 supérieure gauche de this avec la matrice m1.
void setRotationScale(Matrix3f m1): Remplace la matrice 3x3 supérieure gauche de this avec la matrice m1.
void setScale(double scale): Configure la composante scale de this avec la valeur en paramètre.
void setScale(Vector3d scale): Configure la composante scale de this avec la valeur en paramètre.
void setTranslation(Vector3d trans): Remplace la composante translation de this avec la valeur en paramètre.
void setTranslation(Vector3f trans): Remplace la composante translation de this avec la valeur en paramètre.
void setZero(): this = zero.
void sub(Transform3D t1): this = this-t1.
void sub(Transform3D t1, Transform3D t2): this = t1-t2.
void transform(Point3d point): point = this*point.
void transform(Point3d point, Point3d pointOut): pointOut = this*point.
void transform(Point3f point): point = this*point.
void transform(Point3f point, Point3f pointOut): pointOut = this*point.
void transform(Vector3d normal): normal = this*normal.
void transform(Vector3d normal, Vector3d normalOut): normalOut = this*normal.
void transform(Vector3f normal): normal = this*normal.
void transform(Vector3f normal, Vector3f normalOut): normalOut = this*normal.
void transform(Vector4d vec): vec = this*vec.
void transform(Vector4d vec, Vector4d vecOut): vecOut = this*vec.
void transform(Vector4f vec): vec = this*vec.
void transform(Vector4f vec, Vector4f vecOut): vecOut = this*vec.
void transpose(): this = transposition(this).
void transpose(Transform3D t1): this = transposition(t1).

 

Valeur

Champ

static int AFFINE
static int CONGRUENT
static int IDENTITY
static int NEGATIVE_DETERMINANT
static int ORTHOGONAL
static int RIGID
static int SCALE
static int TRANSLATION
static int ZERO

Retour