Classes:
Programme principal : Mathematiques.cpp
/* Mathematiques de l'informatique graphique    */
/*                                              */
/* Auteur: Nicolas JANEY                        */
/* nicolas.janey@univ-fcomte.fr                 */
/* Octobre 2010                                 */
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include "CoordonneesHomogenes.h"
#include "Position3D.h"
#include "Direction3D.h"
#include "FacetteTriangulaire.h"
#include "TransformationGeometrique.h"
#include "Translation.h"
#include "Rotation.h"
#include "Scale.h"
/* Fonction principale                          */
int main(int argc,char **argv) {
  CoordonneesHomogenes *ch = new CoordonneesHomogenes();
  Position3D *p1 = new Position3D();
  Position3D *p2 = new Position3D(1.0,2.0,4.0);
  Position3D *p3 = new Position3D(-1.0,-1.0,2.0);
  Direction3D *d1 = new Direction3D();
  Direction3D *d2 = new Direction3D(3.0,2.0,-1.0);
  FacetteTriangulaire *f1 = new FacetteTriangulaire();
  FacetteTriangulaire *f2 = new FacetteTriangulaire(p1,p2,p3);
  ch->print();
  printf("\n");
  p1->print();
  printf("\n");
  p2->print();
  printf("\n");
  p3->print();
  printf("\n");
  d1->print();
  printf("\n");
  d2->print();
  printf("\n");
  printf("\n");
  f1->print();
  printf("\n");
  f2->print();
  printf("\n");
  Direction3D *n = f2->normale();
  n->print();
  printf("\n");
  printf("\n");
  delete(n);
  delete(f2);
  delete(f1);
  delete(d2);
  delete(d1);
  Translation *t = new Translation(2.0,3.0,-1.5);
  t->print();
  printf("\n");
  Rotation *r = new Rotation(30.0,2.0,3.0,-1.5);
  r->print();
  printf("\n");
  Scale *s = new Scale(2.0,3.0,0.5);
  s->print();
  printf("\n");
  TransformationGeometrique *tg = new TransformationGeometrique();
  tg->produit(t,r);
  tg->print();
  delete(tg);
  delete(t);
  delete(r);
  delete(s);
  delete(p3);
  delete(p2);
  delete(p1);
  delete(ch);
  return(0);
}