/* 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);
}
}
/* 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);
}
}
/* 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);
}
}
/* 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);
}
}