Source code to html (Java,C++,C)
G.Desnoix ©96,97,98
/*
  * Unité : ../exemples/Vecteur.src
  * Date : Fri Jan 29 12:25:07 GMT+01:00 1999
  * Cible : Java (java)
  * Produit: Alma (agl), Guillaume Desnoix (c)1998,1999
  */

/* fr.stcpmvn.ebli.geometrie.Vecteur [20] */

public class fr.stcpmvn.ebli.geometrie.Vecteur extends java.lang.Object
{
  Matrice m; 
/* 21 */

  public Vecteur() 
/* 23 */
  {
    (m=new Matrice(1, 4) 
/* New 25 */
 ) 
/* Affectation 25 */
 ; 
/* InsExpr 25 */
     
/* Attribut 26 */
 m. 
/* Methode 26 */
 a(0, 3, 0.) 
/* Fonction 26 */
 ; 
/* InsExpr 26 */
  }

  public Vecteur(double ix, double iy, double iz) 
/* 29 */
  {
    (m=new Matrice(1, 4) 
/* New 31 */
 ) 
/* Affectation 31 */
 ; 
/* InsExpr 31 */
     
/* Attribut 32 */
 m. 
/* Methode 32 */
 a(0, 0, ix) 
/* Fonction 32 */
 ; 
/* InsExpr 32 */
     
/* Attribut 33 */
 m. 
/* Methode 33 */
 a(0, 1, iy) 
/* Fonction 33 */
 ; 
/* InsExpr 33 */
     
/* Attribut 34 */
 m. 
/* Methode 34 */
 a(0, 2, iz) 
/* Fonction 34 */
 ; 
/* InsExpr 34 */
     
/* Attribut 35 */
 m. 
/* Methode 35 */
 a(0, 3, 0.) 
/* Fonction 35 */
 ; 
/* InsExpr 35 */
  }

  public double x() 
/* 38 */
  {
    return  
/* Attribut 38 */
 m. 
/* Methode 38 */
 a(0, 0) 
/* Fonction 38 */
 ; 
/* Return 38 */
  }

  public double y() 
/* 39 */
  {
    return  
/* Attribut 39 */
 m. 
/* Methode 39 */
 a(0, 1) 
/* Fonction 39 */
 ; 
/* Return 39 */
  }

  public double z() 
/* 40 */
  {
    return  
/* Attribut 40 */
 m. 
/* Methode 40 */
 a(0, 2) 
/* Fonction 40 */
 ; 
/* Return 40 */
  }

  public void x(double ix) 
/* 42 */
  {
     
/* Attribut 42 */
 m. 
/* Methode 42 */
 a(0, 0, ix) 
/* Fonction 42 */
 ; 
/* InsExpr 42 */
  }

  public void y(double iy) 
/* 43 */
  {
     
/* Attribut 43 */
 m. 
/* Methode 43 */
 a(0, 1, iy) 
/* Fonction 43 */
 ; 
/* InsExpr 43 */
  }

  public void z(double iz) 
/* 44 */
  {
     
/* Attribut 44 */
 m. 
/* Methode 44 */
 a(0, 2, iz) 
/* Fonction 44 */
 ; 
/* InsExpr 44 */
  }

  public java.lang.String toString() 
/* 46 */
  {
    return "Vecteur(" +  
/* Methode 48 */
 x() 
/* Fonction 48 */
  + ", " +  
/* Methode 48 */
 y() 
/* Fonction 48 */
  + ", " +  
/* Methode 48 */
 z() 
/* Fonction 48 */
  + ")" 
/* Binaire 48 */
  
/* Binaire 48 */
  
/* Binaire 48 */
  
/* Binaire 48 */
  
/* Binaire 48 */
  
/* Binaire 48 */
 ; 
/* Return 48 */
  }

  public double norme() 
/* 53 */
  {
    return  
/* Attribut 55 */
 Math. 
/* Methode 55 */
 sqrt( 
/* Methode 55 */
 produitScalaire(this) 
/* Fonction 55 */
 ) 
/* Fonction 55 */
 ; 
/* Return 55 */
  }

  public double normeXY() 
/* 58 */
  {
    return  
/* Attribut 60 */
 Math. 
/* Methode 60 */
 sqrt( 
/* Methode 60 */
 produitScalaireXY(this) 
/* Fonction 60 */
 ) 
/* Fonction 60 */
 ; 
/* Return 60 */
  }

  public fr.stcpmvn.ebli.geometrie.Vecteur normalise() 
/* 63 */
  {
    double n= 
/* Methode 65 */
 norme() 
/* Fonction 65 */
 ; 
/* DefVar 65 */
    return new fr.stcpmvn.ebli.geometrie.Vecteur( 
/* Methode 66 */
 x() 
/* Fonction 66 */
  / n 
/* Binaire 66 */
 ,  
/* Methode 66 */
 y() 
/* Fonction 66 */
  / n 
/* Binaire 66 */
 ,  
/* Methode 66 */
 z() 
/* Fonction 66 */
  / n 
/* Binaire 66 */
 ) 
/* New 66 */
 ; 
/* Return 66 */
  }

  public fr.stcpmvn.ebli.geometrie.Vecteur normaliseXY() 
/* 69 */
  {
    double n= 
/* Methode 71 */
 normeXY() 
/* Fonction 71 */
 ; 
/* DefVar 71 */
    return new fr.stcpmvn.ebli.geometrie.Vecteur( 
/* Methode 72 */
 x() 
/* Fonction 72 */
  / n 
/* Binaire 72 */
 ,  
/* Methode 72 */
 y() 
/* Fonction 72 */
  / n 
/* Binaire 72 */
 ,  
/* Methode 72 */
 z() 
/* Fonction 72 */
 ) 
/* New 72 */
 ; 
/* Return 72 */
  }

  public fr.stcpmvn.ebli.geometrie.Vecteur equilibre() 
/* 75 */
  {
    double n= 
/* Methode 77 */
 x() 
/* Fonction 77 */
  +  
/* Methode 77 */
 y() 
/* Fonction 77 */
  +  
/* Methode 77 */
 z() 
/* Fonction 77 */
  
/* Binaire 77 */
  
/* Binaire 77 */
 ; 
/* DefVar 77 */
    return new fr.stcpmvn.ebli.geometrie.Vecteur( 
/* Methode 78 */
 x() 
/* Fonction 78 */
  / n 
/* Binaire 78 */
 ,  
/* Methode 78 */
 y() 
/* Fonction 78 */
  / n 
/* Binaire 78 */
 ,  
/* Methode 78 */
 z() 
/* Fonction 78 */
  / n 
/* Binaire 78 */
 ) 
/* New 78 */
 ; 
/* Return 78 */
  }

  public fr.stcpmvn.ebli.geometrie.Vecteur equilibreXY() 
/* 81 */
  {
    double n= 
/* Methode 83 */
 x() 
/* Fonction 83 */
  +  
/* Methode 83 */
 y() 
/* Fonction 83 */
  
/* Binaire 83 */
 ; 
/* DefVar 83 */
    return new fr.stcpmvn.ebli.geometrie.Vecteur( 
/* Methode 84 */
 x() 
/* Fonction 84 */
  / n 
/* Binaire 84 */
 ,  
/* Methode 84 */
 y() 
/* Fonction 84 */
  / n 
/* Binaire 84 */
 ,  
/* Methode 84 */
 z() 
/* Fonction 84 */
 ) 
/* New 84 */
 ; 
/* Return 84 */
  }

  public fr.stcpmvn.ebli.geometrie.Vecteur rotationZ90() 
/* 87 */
  {
    return new fr.stcpmvn.ebli.geometrie.Vecteur(- 
/* Methode 89 */
 x() 
/* Fonction 89 */
  
/* UnaireDroite 89 */
 ,  
/* Methode 89 */
 y() 
/* Fonction 89 */
 ,  
/* Methode 89 */
 z() 
/* Fonction 89 */
 ) 
/* New 89 */
 ; 
/* Return 89 */
  }

  public fr.stcpmvn.ebli.geometrie.Vecteur projectionXY() 
/* 92 */
  {
    return new fr.stcpmvn.ebli.geometrie.Vecteur( 
/* Methode 94 */
 x() 
/* Fonction 94 */
 ,  
/* Methode 94 */
 y() 
/* Fonction 94 */
 , 0.) 
/* New 94 */
 ; 
/* Return 94 */
  }

  public fr.stcpmvn.ebli.geometrie.Vecteur applique(Morphisme t) 
/* 97 */
  {
    fr.stcpmvn.ebli.geometrie.Vecteur r=new fr.stcpmvn.ebli.geometrie.Vecteur() 
/* New 99 */
 ; 
/* DefVar 99 */
    ( 
/* Attribut 100 */
 r. 
/* Attribut 100 */
 m= 
/* Attribut 100 */
 m. 
/* Methode 100 */
 multiplication( 
/* Attribut 100 */
 t. 
/* Attribut 100 */
 m) 
/* Fonction 100 */
 ) 
/* Affectation 100 */
 ; 
/* InsExpr 100 */
    return r; 
/* Return 101 */
  }

  public fr.stcpmvn.ebli.geometrie.Vecteur multiplication(double d) 
/* 106 */
  {
    return new fr.stcpmvn.ebli.geometrie.Vecteur(d *  
/* Methode 108 */
 x() 
/* Fonction 108 */
  
/* Binaire 108 */
 , d *  
/* Methode 108 */
 y() 
/* Fonction 108 */
  
/* Binaire 108 */
 , d *  
/* Methode 108 */
 z() 
/* Fonction 108 */
  
/* Binaire 108 */
 ) 
/* New 108 */
 ; 
/* Return 108 */
  }

  public fr.stcpmvn.ebli.geometrie.Vecteur division(double d) 
/* 111 */
  {
    return new fr.stcpmvn.ebli.geometrie.Vecteur( 
/* Methode 113 */
 x() 
/* Fonction 113 */
  / d 
/* Binaire 113 */
 ,  
/* Methode 113 */
 y() 
/* Fonction 113 */
  / d 
/* Binaire 113 */
 ,  
/* Methode 113 */
 z() 
/* Fonction 113 */
  / d 
/* Binaire 113 */
 ) 
/* New 113 */
 ; 
/* Return 113 */
  }

  public double division(fr.stcpmvn.ebli.geometrie.Vecteur v) 
/* 116 */
  {
    fr.stcpmvn.ebli.geometrie.Vecteur w= 
/* Methode 118 */
 projection(v) 
/* Fonction 118 */
 ; 
/* DefVar 118 */
    if( 
/* Attribut 119 */
 v. 
/* Methode 119 */
 x() 
/* Fonction 119 */
  != 0. 
/* Binaire 119 */
 ) 
/* If 122 */
    {
      return  
/* Attribut 119 */
 w. 
/* Methode 119 */
 x() 
/* Fonction 119 */
  /  
/* Attribut 119 */
 v. 
/* Methode 119 */
 x() 
/* Fonction 119 */
  
/* Binaire 119 */
 ; 
/* Return 119 */
    }
    else 
/* Else 122 */
    {
      if( 
/* Attribut 120 */
 v. 
/* Methode 120 */
 y() 
/* Fonction 120 */
  != 0. 
/* Binaire 120 */
 ) 
/* If 122 */
      {
        return  
/* Attribut 120 */
 w. 
/* Methode 120 */
 y() 
/* Fonction 120 */
  /  
/* Attribut 120 */
 v. 
/* Methode 120 */
 y() 
/* Fonction 120 */
  
/* Binaire 120 */
 ; 
/* Return 120 */
      }
      else 
/* Else 122 */
      {
        if( 
/* Attribut 121 */
 v. 
/* Methode 121 */
 z() 
/* Fonction 121 */
  != 0. 
/* Binaire 121 */
 ) 
/* If 122 */
        {
          return  
/* Attribut 121 */
 w. 
/* Methode 121 */
 z() 
/* Fonction 121 */
  /  
/* Attribut 121 */
 v. 
/* Methode 121 */
 z() 
/* Fonction 121 */
  
/* Binaire 121 */
 ; 
/* Return 121 */
        }
      }
    }
    return 0.; 
/* Return 122 */
  }

  public fr.stcpmvn.ebli.geometrie.Vecteur addition(fr.stcpmvn.ebli.geometrie.Vecteur v) 
/* 125 */
  {
    return new fr.stcpmvn.ebli.geometrie.Vecteur( 
/* Methode 127 */
 x() 
/* Fonction 127 */
  +  
/* Attribut 127 */
 v. 
/* Methode 127 */
 x() 
/* Fonction 127 */
  
/* Binaire 127 */
 ,  
/* Methode 127 */
 y() 
/* Fonction 127 */
  +  
/* Attribut 127 */
 v. 
/* Methode 127 */
 y() 
/* Fonction 127 */
  
/* Binaire 127 */
 ,  
/* Methode 127 */
 z() 
/* Fonction 127 */
  +  
/* Attribut 127 */
 v. 
/* Methode 127 */
 z() 
/* Fonction 127 */
  
/* Binaire 127 */
 ) 
/* New 127 */
 ; 
/* Return 127 */
  }

  public java.awt.Point addition(java.awt.Point p) 
/* 130 */
  {
    return new java.awt.Point( 
/* Methode 132 */
 x() 
/* Fonction 132 */
  +  
/* Attribut 132 */
 p. 
/* Methode 132 */
 x() 
/* Fonction 132 */
  
/* Binaire 132 */
 ,  
/* Methode 132 */
 y() 
/* Fonction 132 */
  +  
/* Attribut 132 */
 p. 
/* Methode 132 */
 y() 
/* Fonction 132 */
  
/* Binaire 132 */
 ,  
/* Methode 132 */
 z() 
/* Fonction 132 */
  +  
/* Attribut 132 */
 p. 
/* Methode 132 */
 z() 
/* Fonction 132 */
  
/* Binaire 132 */
 ) 
/* New 132 */
 ; 
/* Return 132 */
  }

  public fr.stcpmvn.ebli.geometrie.Vecteur soustraction(fr.stcpmvn.ebli.geometrie.Vecteur v) 
/* 135 */
  {
    return new fr.stcpmvn.ebli.geometrie.Vecteur( 
/* Methode 137 */
 x() 
/* Fonction 137 */
  -  
/* Attribut 137 */
 v. 
/* Methode 137 */
 x() 
/* Fonction 137 */
  
/* Binaire 137 */
 ,  
/* Methode 137 */
 y() 
/* Fonction 137 */
  -  
/* Attribut 137 */
 v. 
/* Methode 137 */
 y() 
/* Fonction 137 */
  
/* Binaire 137 */
 ,  
/* Methode 137 */
 z() 
/* Fonction 137 */
  -  
/* Attribut 137 */
 v. 
/* Methode 137 */
 z() 
/* Fonction 137 */
  
/* Binaire 137 */
 ) 
/* New 137 */
 ; 
/* Return 137 */
  }

  public double produitScalaire(fr.stcpmvn.ebli.geometrie.Vecteur v) 
/* 140 */
  {
    return  
/* Methode 142 */
 x() 
/* Fonction 142 */
  *  
/* Attribut 142 */
 v. 
/* Methode 142 */
 x() 
/* Fonction 142 */
  +  
/* Methode 142 */
 y() 
/* Fonction 142 */
  *  
/* Attribut 142 */
 v. 
/* Methode 142 */
 y() 
/* Fonction 142 */
  +  
/* Methode 142 */
 z() 
/* Fonction 142 */
  *  
/* Attribut 142 */
 v. 
/* Methode 142 */
 z() 
/* Fonction 142 */
  
/* Binaire 142 */
  
/* Binaire 142 */
  
/* Binaire 142 */
  
/* Binaire 142 */
  
/* Binaire 142 */
 ; 
/* Return 142 */
  }

  public double produitScalaireXY(fr.stcpmvn.ebli.geometrie.Vecteur v) 
/* 145 */
  {
    return  
/* Methode 147 */
 x() 
/* Fonction 147 */
  *  
/* Attribut 147 */
 v. 
/* Methode 147 */
 x() 
/* Fonction 147 */
  +  
/* Methode 147 */
 y() 
/* Fonction 147 */
  *  
/* Attribut 147 */
 v. 
/* Methode 147 */
 y() 
/* Fonction 147 */
  
/* Binaire 147 */
  
/* Binaire 147 */
  
/* Binaire 147 */
 ; 
/* Return 147 */
  }

  public double produitSinus(fr.stcpmvn.ebli.geometrie.Vecteur v) 
/* 150 */
  {
    return  
/* Methode 152 */
 rotationZ90() 
/* Fonction 152 */
 . 
/* Methode 152 */
 produitScalaire(v) 
/* Fonction 152 */
 ; 
/* Return 152 */
  }

  public double produitSinusXY(fr.stcpmvn.ebli.geometrie.Vecteur v) 
/* 155 */
  {
    return  
/* Attribut 157 */
 v. 
/* Methode 157 */
 x() 
/* Fonction 157 */
  * - 
/* Methode 157 */
 y() 
/* Fonction 157 */
  +  
/* Attribut 157 */
 v. 
/* Methode 157 */
 y() 
/* Fonction 157 */
  *  
/* Methode 157 */
 x() 
/* Fonction 157 */
  
/* Binaire 157 */
  
/* Binaire 157 */
  
/* UnaireDroite 157 */
  
/* Binaire 157 */
 ; 
/* Return 157 */
  }

  public fr.stcpmvn.ebli.geometrie.Vecteur produitVectoriel(fr.stcpmvn.ebli.geometrie.Vecteur v) 
/* 160 */
  {
    return new fr.stcpmvn.ebli.geometrie.Vecteur( 
/* Methode 162 */
 y() 
/* Fonction 162 */
  *  
/* Attribut 162 */
 v. 
/* Methode 162 */
 z() 
/* Fonction 162 */
  -  
/* Methode 162 */
 z() 
/* Fonction 162 */
  *  
/* Attribut 162 */
 v. 
/* Methode 162 */
 y() 
/* Fonction 162 */
  
/* Binaire 162 */
  
/* Binaire 162 */
  
/* Binaire 162 */
 ,  
/* Methode 163 */
 z() 
/* Fonction 163 */
  *  
/* Attribut 163 */
 v. 
/* Methode 163 */
 x() 
/* Fonction 163 */
  -  
/* Methode 163 */
 x() 
/* Fonction 163 */
  *  
/* Attribut 163 */
 v. 
/* Methode 163 */
 z() 
/* Fonction 163 */
  
/* Binaire 163 */
  
/* Binaire 163 */
  
/* Binaire 163 */
 ,  
/* Methode 164 */
 x() 
/* Fonction 164 */
  *  
/* Attribut 164 */
 v. 
/* Methode 164 */
 y() 
/* Fonction 164 */
  -  
/* Methode 164 */
 y() 
/* Fonction 164 */
  *  
/* Attribut 164 */
 v. 
/* Methode 164 */
 x() 
/* Fonction 164 */
  
/* Binaire 164 */
  
/* Binaire 164 */
  
/* Binaire 164 */
 ) 
/* New 164 */
 ; 
/* Return 164 */
  }

  public fr.stcpmvn.ebli.geometrie.Vecteur produitVectorielXY(fr.stcpmvn.ebli.geometrie.Vecteur v) 
/* 167 */
  {
    return new fr.stcpmvn.ebli.geometrie.Vecteur(0., 0.,  
/* Methode 169 */
 x() 
/* Fonction 169 */
  *  
/* Attribut 169 */
 v. 
/* Methode 169 */
 y() 
/* Fonction 169 */
  -  
/* Methode 169 */
 y() 
/* Fonction 169 */
  *  
/* Attribut 169 */
 v. 
/* Methode 169 */
 x() 
/* Fonction 169 */
  
/* Binaire 169 */
  
/* Binaire 169 */
  
/* Binaire 169 */
 ) 
/* New 169 */
 ; 
/* Return 169 */
  }

  public fr.stcpmvn.ebli.geometrie.Vecteur projection(fr.stcpmvn.ebli.geometrie.Vecteur v) 
/* 172 */
  {
    return  
/* Attribut 174 */
 v. 
/* Methode 174 */
 normalise() 
/* Fonction 174 */
 . 
/* Methode 174 */
 multiplication( 
/* Methode 174 */
 produitScalaire( 
/* Attribut 174 */
 v. 
/* Methode 174 */
 normalise() 
/* Fonction 174 */
 ) 
/* Fonction 174 */
 ) 
/* Fonction 174 */
 ; 
/* Return 174 */
  }

  public double produitTripleScalaire(fr.stcpmvn.ebli.geometrie.Vecteur v1, fr.stcpmvn.ebli.geometrie.Vecteur v2) 
/* 179 */
  {
    return  
/* Methode 181 */
 produitVectoriel(v1) 
/* Fonction 181 */
 . 
/* Methode 181 */
 produitScalaire(v2) 
/* Fonction 181 */
 ; 
/* Return 181 */
  }

  public fr.stcpmvn.ebli.geometrie.Vecteur produitTripleVectoriel(fr.stcpmvn.ebli.geometrie.Vecteur v1, fr.stcpmvn.ebli.geometrie.Vecteur v2) 
/* 184 */
  {
    return  
/* Methode 186 */
 produitVectoriel(v1) 
/* Fonction 186 */
 . 
/* Methode 186 */
 produitVectoriel(v2) 
/* Fonction 186 */
 ; 
/* Return 186 */
  }

}




colors: import - statement - class - type - number - string - comment