/* Auteur: Nicolas JANEY                                */
/* nicolas.janey@univ-fcomte.fr                         */
/* Novembre 2006                                        */
/* Classe de stockage d'un vecteur de float             */
/* de longueur arbitraire                               */

public class Vecteur {
  public float [] c;

  public Vecteur(int n) {
    c = new float[n];
  }

  public Vecteur(float v) {
    c = new float[1];
    c[0] = v;
  }
  
  public Vecteur(float v1,float v2) {
    c = new float[2];
    c[0] = v1;
    c[1] = v2;
  }
  
  public Vecteur(float v1,float v2,float v3) {
    c = new float[3];
    c[0] = v1;
    c[1] = v2;
    c[2] = v3;
  }
  
  public Vecteur(float v1,float v2,float v3,float v4) {
    c = new float[4];
    c[0] = v1;
    c[1] = v2;
    c[2] = v3;
    c[3] = v4;
  }
  
  public Vecteur(float [] v) {
    c = new float[v.length];
    for ( int i = 0 ; i < v.length ; i++ )
      c[i] = v[i];
  }
  
  public String toString() {
    String s = "[";
    for ( int i = 0 ; i < c.length ; i++ )
      s += (c[i]+",");
    s += "]";
    return(s);
  }
}

Vecteur.java

/* Auteur: Nicolas JANEY                                */
/* nicolas.janey@univ-fcomte.fr                         */
/* Novembre 2006                                        */
/* Classe de stockage d'une matrice rectangulaire       */
/* de float de nombre de lignes et de colonnes          */
/* arbitraires                                          */

public class Matrice {
  public float [][] c;

  public Matrice(int lignes,int colonnes) {
    c = new float[lignes][colonnes];
  }

  public Matrice(float [][] v) {
    c = new float[v.length][v[0].length];
    for ( int i = 0 ; i < v.length ; i++ )
      for ( int j = 0 ; j < v[i].length ; j++ )
    c[i][j] = v[i][j];
  }
  
  public Vecteur multiplication(Vecteur v) {
    if ( v.c.length == c[0].length ) {
      Vecteur r = new Vecteur(c.length);
      for ( int i = 0 ; i < c.length ; i++ )
        for ( int j = 0 ; j < c[0].length ; j++ )
          r.c[i] += c[i][j]*v.c[j];
      return(r); }
    return(null);
  }
  
  public Matrice multiplication(Matrice m) {
    if ( m.c.length == c[0].length ) {
      Matrice r = new Matrice(c.length,m.c[0].length);
      for ( int i = 0 ; i < c.length ; i++ )
        for ( int j = 0 ; j < m.c[0].length ; j++ )
          for ( int k = 0 ; k < m.c.length ; k++ )
            r.c[i][j] += c[i][k]*m.c[k][j];
      return(r); }
    return(null);
  }
  
  public String toString() {
    String s = "[";
    for ( int j = 0 ; j < c.length ; j++ ) {
      s += "[";
      for ( int i = 0 ; i < c[j].length ; i++ )
        s += (c[j][i]+",");
      s += "]\n"; }
    s += "]";
    return(s);
  }
}

Matrice.java

/* Auteur: Nicolas JANEY                                */
/* nicolas.janey@univ-fcomte.fr                         */
/* Novembre 2006                                        */

public class Vecteur4 extends Vecteur {

  public Vecteur4() {
    super(4);
  }

  public Vecteur4(float v1,float v2,float v3,float v4) {
    super(v1,v2,v3,v4);
  }
}

Vecteur4.java

/* Auteur: Nicolas JANEY                                */
/* nicolas.janey@univ-fcomte.fr                         */
/* Novembre 2006                                        */

public class Matrice44 extends Matrice {

  public Matrice44() {
    super(4,4);
    for ( int i = 0 ; i < 4 ; i++ )
      c[i][i] = 1.0F;
  }

  public Matrice44(float [][] t) {
    super(t);
  }
}

Matrice44.java

RETOUR