    All Packages  Class Hierarchy  This Package  Previous  Next  Index

# Class ThreeD.Matrix3D

    java.lang.Object
       |
       +----ThreeD.Matrix3D

public class Matrix3D
extends Object

Cette classe représente des matrices de transformation en coordonnées homogènes. La plupart des opérations de transformation pré-multiplient la matrice de la transformation par la matrice courante : M <- T * M.

##

Matrix3D()
  Construire une matrice, initialisée avec la matrice identité.
Matrix3D(Matrix3D)
  Construire une matrice à partir d'une autre matrice.

##

copyFrom(Matrix3D)
  Copier la matrice passée en paramètre dans cette matrice.
copyTo(Matrix3D)
  Copier cette matrice dans la matrice passée en paramètre.
mult(Matrix3D)
  Pré-multiplier la matrice par une autre matrice.
parproj(double, Vector3D)
  Pré-multiplier la matrice par une projection parallele.
persp(double, double, Vector3D)
  Pré-multiplier la matrice par une projection perspective.
persp(double, Vector3D)
  Pré-multiplier la matrice par une projection perspective.
rotate(double, Vector3D)
  Pé-multiplier la matrice par une rotation autour d'un axe passant par l'origine.
rotate(double, Vector3D, Vector3D)
  Pé-multiplier la matrice par une rotation autour d'un axe quelconque.
scale(double)
  Pré-multiplier la matrice par un changement d'échelle identique en x, y et z.
scale(double, double, double)
  Pré-multiplier la matrice par un changement d'échelle différent en x, y et z.
toString()
  Convertir la matrice en une chaîne de caractères.
transform(Vector3D)
  Calculer le transformé d'un vecteur par cette matrice.
translate(double, double, double)
  Pré-multiplier la matrice par une translation.
translate(Vector3D)
  Pré-multiplier la matrice par une translation.
transpose()
  Transposer la matrice.
unit()
  Affecter la matrice identité à cette matrice.
xrotate(double)
  Pé-multiplier la matrice par une rotation autour de l'axe Ox.
yrotate(double)
  Pé-multiplier la matrice par une rotation autour de l'axe Oy.
zrotate(double)
  Pé-multiplier la matrice par une rotation autour de l'axe Oz.

##

Matrix3D

     public Matrix3D()

  Construire une matrice, initialisée avec la matrice identité.

Matrix3D

     public Matrix3D(Matrix3D from)

  Construire une matrice à partir d'une autre matrice.

##

unit

     public void unit()

  Affecter la matrice identité à cette matrice.

transpose

     public void transpose()

  Transposer la matrice.

scale

     public void scale(double f)

  Pré-multiplier la matrice par un changement d'échelle identique en x, y et z.

scale

     public void scale(double xf,
                       double yf,
                       double zf)

  Pré-multiplier la matrice par un changement d'échelle différent en x, y et z.

translate

     public void translate(double x,
                           double y,
                           double z)

  Pré-multiplier la matrice par une translation.

translate

     public void translate(Vector3D v)

  Pré-multiplier la matrice par une translation.

xrotate

     public void xrotate(double theta)

  Pé-multiplier la matrice par une rotation autour de l'axe Ox.

  Parameters:
    theta - angle de la rotation en degrés.

yrotate

     public void yrotate(double theta)

  Pé-multiplier la matrice par une rotation autour de l'axe Oy.

  Parameters:
    theta - angle de la rotation en degrés.

zrotate

     public void zrotate(double theta)

  Pé-multiplier la matrice par une rotation autour de l'axe Oz.

  Parameters:
    theta - angle de la rotation en degrés.

rotate

     public void rotate(double theta,
                        Vector3D v)

  Pé-multiplier la matrice par une rotation autour d'un axe passant par l'origine.

  Parameters:
    theta - angle de la rotation en degrés.
    v - vecteur directeur de l'axe de rotation, qui passe par l'origine.

rotate

     public void rotate(double theta,
                        Vector3D v,
                        Vector3D orig)

  Pé-multiplier la matrice par une rotation autour d'un axe quelconque.

  Parameters:
    theta - angle de la rotation en degrés.
    v - vecteur directeur de l'axe de rotation.
    orig - point par lequel passe l'axe de rotation.

persp

     public void persp(double d,
                       double D,
                       Vector3D u)

  Pré-multiplier la matrice par une projection perspective. Le plan de projection est orthogonal à l'axe Oz, à une distance d de l'origine. Soit I le point (0, 0, d) ; le centre de projection C est défini par C = I + D*nu, où nu est le vecteur u normalisé.

  Parameters:
    d - distance de l'origine au plan de projection.
    D - distance du point I au centre de projection, selon le vecteur u.
    u - vecteur directeur de la droite IC.

persp

     public void persp(double d,
                       Vector3D eye)

  Pré-multiplier la matrice par une projection perspective. Le plan de projection est orthogonal à l'axe Oz, à une distance d de l'origine.

  Parameters:
    d - distance de l'origine au plan de projection.
    eye - coordonnées du centre de projection.

parproj

     public void parproj(double d,
                         Vector3D u)

  Pré-multiplier la matrice par une projection parallele. Le plan de projection est orthogonal à l'axe Oz, à une distance d de l'origine.

  Parameters:
    d - distance de l'origine au plan de projection.
    u - direction de projection.

mult

     public void mult(Matrix3D T)

  Pré-multiplier la matrice par une autre matrice. La matrice devient : M <- T * M.

transform

     public Vector3D transform(Vector3D v)

  Calculer le transformé d'un vecteur par cette matrice.

  Returns:
    résultat de la transformation, soit M * v

copyFrom

     public void copyFrom(Matrix3D m)

  Copier la matrice passée en paramètre dans cette matrice.

copyTo

     public void copyTo(Matrix3D m)

  Copier cette matrice dans la matrice passée en paramètre.

toString

     public String toString()

  Convertir la matrice en une chaîne de caractères.

  Overrides:
    toString in class Object

    All Packages  Class Hierarchy  This Package  Previous  Next  Index