Ce code crée des objets 3D et les anime dans un monde virtuel. Il se compose de plusieurs classes :
Vertice : représente un vertex (vecteur en 3D correspondant aussi a un point de l'espace)
Matrix3D : une matrice avec possibilité de créer des rotation autour des trois axes.
Faces : un ensemble de Vertice représentant un coté de l'objet (une face) affecté d'un vecteur centre et d'un vecteur normal
Object : un ensemble de Vertice composant l'objet et de Face.
Toute ces classe possèdent des fonction pour : faire tourner les points à partir d'une matrice, positionner l'objet dans l'espace, se cloner et se projeter au travers d'une matrice world et des projection 3D->2D.
Désolé, le clonage des objets est incomplet car le clonage des faces demanderai une refonte du programme. Je me suis juste démerdé pour afficher correctement les trois objets.
Le code n'est pas commenté mais les noms des méthodes et des variables se veut explicite.
La source à été créé sur JBuilder 8 de Borland et vous trouverez tous les fichiers projets.
Conclusion :
pour voir rapidement ce que cela donne, venez voir mon site :
http://www.graffiteam.com/samuel
25 avril 2005 à 15:02
Navigateur : Mozilla 1.7.3 ; IE 5
Seul Matrix3D.java a été compilé.
Vertice.java
// import java.util.*; ????
C:\....\javac Vertice.java
Vertice.java:14: cannot resolve symbol
symbol : class Matrix3D
location: class dmake.Vertice
Matrix3D world;
^
Vertice.java:21: cannot resolve symbol
symbol : class Matrix3D
location: class dmake.Vertice
public Vertice(double x, double y, double z, double zeyes, Matrix3D world) {
^
Vertice.java:72: cannot resolve symbol
symbol : class Matrix3D
location: class dmake.Vertice
public void transform(Matrix3D m) {
^
3 errors
javac Face.java
22 erreurs
// Figure.java 61 errors
package dmake;
import java.awt.*;
import java.awt.image.*;
22 oct. 2004 à 14:23
++ Eddy.
Ps : Le site est bien fait, clair et simple !
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.