begin process at 2010 03 21 13:21:41
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Java3D

 > 3D, UN PERSONNAGE QUI SPRINT EN QUELQUES LIGNES

3D, UN PERSONNAGE QUI SPRINT EN QUELQUES LIGNES


 Information sur la source

Note :
5 / 10 - par 1 personne
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Java3D Classé sous :java3d, mouvement, simple Niveau :Débutant Date de création :24/08/2006 Date de mise à jour :24/08/2006 15:47:21 Vu / téléchargé :9 085 / 944

Auteur : omcougar

Ecrire un message privé
Site perso
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Voici ma première source java, par pitié soyez indulgents.

J'ai eu beaucoup de mal à comprendre le fonctionnement de la 3D et encore plus a lier et modifier les éléments correctement.

L'idée est de créer des objets autonomes et de les lier par des points de référence

J'ai donc créé un Objet qui hérite de la classe TransformGroup et qui comporte un Behavior + une série de points de référence.

Pour créer mon personnage, je commence par créer un objet "Torse" auquel j'ajoute des sphères / cubes etc... Afin d'obtenir une forme grossièrement ressemblante.
J’ajoute à cet objet (et c'est la toute l'astuce) des points de référence 3D que je nomme "épaule droite" "épaule gauche" "cou" etc...

En suite je crée un Objet "bras" qui comporte deux points de référence "épaule" et "coude"

Ainsi de suite pour tous les membres.

Puis je lie les objets entre eux j'indique à mon objet "torse" de lier en sont point nommé "épaule droite" l'objet "bras droit" au point nommé "épaule"

Pour finir il n'y a plus qu’à faire bouger le tout en modifiant les angles X Y Z pour chaque articulation...


 Conclusion

Il n'y a presque pas de commentaires dans le code tellement il est simple

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

24 août 2006 11:21:37 :
Correction des fautes d'orthographe :)
24 août 2006 15:47:21 :
Ajout de commentaires

 Sources de la même categorie

Source avec Zip SIMPLE CUBE COLORÉ POUR J2ME [JSR184] AVEC UNE DEMO SIMPLE par loloof64
Source avec Zip JEU INTÉGRAL EN JAVA 3D par surfeurman5
Source avec une capture TEXTE ROTATIF JAVA 3D par tlaloctzin
Source avec Zip [JAVA3D] PARSEUR DE FICHIER WAVEFRONT par bebe47
Source avec Zip UNIVERS SIMPLE (LUNE,TERRE,SOLEIL) AVEC JAVA3D par bad_smi

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture TRADUCTEUR FRANÇAIS --> NERLANDAIS V3 par edouard333
Source avec Zip Source avec une capture "PROGRAMMEUR", EST UN PROGRAMME QUI PERMET DE TAPER QUELQUE ... par edouard333
Source avec Zip Source avec une capture "NARRATEUR", PROGRAMME QUI "LIT" SE QU'ON ÉCRIT... par edouard333
Source avec Zip IA POUR DISCUTER par edouard333
Source avec Zip Source avec une capture SIMULATEUR D'AGGREGATION PAR MOUVEMENT BROWNIEN par opaillat

Commentaires et avis

Commentaire de Twinuts le 24/08/2006 12:35:38 administrateur CS

Salut,

le résultat est sympas :D, cependant merci de commenter ta source (les commentaires sont super important surtout pour une source utilisant java3D qui est une usine à charbon à lui seul).

sinon j'ai rien contre java3D si ce n'est sa lenteure d'éxecution et étant plus habitué à opengl je voulais juste t'informer de l'existance de jogl(implentation opengl en java) et de javasdl(implementation de sdl en java) qui sont apres les avoirs testé, plus performant (ca reste mon avis perso donc...)

Commentaire de omcougar le 24/08/2006 16:02:47

Je viens d'ajouter des commentaires, et je pense que l'on peut facilement créer un objet à articulations multiples sans même comprendre le code… même pas besoin de se casser la tête à calculer les vecteurs je déteste ca.

Pour l'optimiser je vois plusieurs directions:

1/ commencer par ajouter des méthodes pour dessiner des objets plus complexes que sphères et carré.

2/ pour chaque articulation il est possible de définir sur les 3 axes les angles de rotations min/max ainsi lorsqu'on appelle le mouvement de course à 0% tous les angles sont à leur minimum et à 100% tous les angles sont au max mais en réalité un mouvement de course est beaucoup plus complexe il faudrait pouvoir définir des positions intermédiaires.

3/ quand on appelle le mouvement de course à x% je commence par tout remettre aux positons de départ puis effectuer toutes les rotations de x%... on devrait avec un peu de réflexion pouvoir se débarrasser de la moitié des calculs :)

Pour opengl je suis preneur surtout si c'est plus performant mais j'ai surtout trouvé des exemples java3D... ou puis-je trouver des exemples jogl ou javasdl suffisamment "basic" pour qu'un noob comme moi puisse les comprendre?

Commentaire de Twinuts le 24/08/2006 16:44:59 administrateur CS

Salut,

je suis du meme avis que toi concernant le peux de complexité du code deplus il est super lisible ce qui j'avoue est assez rare donc congratulation rien que pour ça :D, maintenant les commentaires aide pour savoir ce qui ce passe dans la tete du developpeur lors de la creation du code :P

concernant les optimisations je pense qu'a la longue elle devrait valoir le coup.

pour jogl (c'est comme opengl (meme non, meme parametre casiment)) voici ma recherche sur google :
http://www.google.fr/search?q=jogl+sample+code&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:fr:official

tu tombe sur :
http://today.java.net/pub/a/today/2003/09/11/jogl2d.html
http://www.cs.umd.edu/~meesh/kmconroy/JOGLTutorial/

Commentaire de bouge32 le 11/10/2006 23:45:03

ces un beau code et je le sugerre

Commentaire de omcougar le 12/10/2006 16:43:39

Vu que ce code est super méga facile à comprendre mais que java3d et peu efficace, il n'y aurait pas un courageux pour faire la même chose en open GL que je comprenne le truc ? :)

Commentaire de gouessej le 25/12/2006 14:54:59

Sérieusement, je rejoins entièrement TWINUTS. Ca vaudrait vraiment le coup de passer à JOGL qui est vraiment plus rapide que Java 3D. Je pense que je vais reprendre ton code pour essayer de faire bouger mes humanoïdes les moins réalistes (zombies par exemple). Je vais essayer de voir si c'est relativement simple à optimiser. En revanche, JSDL est plutôt adéquat pour la 2D mais pas pour la 3D à mon avis.

Commentaire de gouessej le 25/12/2006 15:00:29

Ceci vous parait sûrement très simple et tout à fait correct et pourtant...

public void applique(){
T_Finale.mul(T_RX);
T_Finale.mul(T_RY);
T_Finale.mul(T_RZ);
TG_Parent.setTransform(T_Finale);
}

Tu utilises des transformations eulériennes ce qui peut causer du gimbal lock (verrou de Cardan). Il faudrait plutôt utiliser des transformations non eulériennes qui sont plus faciles à exprimer en s'appuyant sur des quaternions.

Commentaire de gouessej le 25/12/2006 15:14:04

Ceci n'est pas optimal :

public void reset(){
T_Finale = new Transform3D();
T_RX = new Transform3D();
T_RY = new Transform3D();
T_RZ = new Transform3D();
}

Ecris plutôt ça :

public void reset(){
T_Finale.setIdentity();
T_RX.setIdentity();
T_RY.setIdentity();
T_RZ.setIdentity();
}

Commentaire de gouessej le 25/12/2006 15:48:26

La solution éliminant le gimbal lock pour calculer la composition de rotations est:
R(R(R(Ox,∆)Oy,Ω)*R(Ox,∆)Oz,∂)*R(R(Ox,∆)Oy,Ω)*R(Ox,∆)
C'est une transformation non Eulerienne.
Ceci marche très très bien mais ne suffit pas. Pour éviter de cumuler des erreurs avec les produits successifs de quaternions, il faut TOUJOURS revenir au quaternion neutre puis recombiner les rotations axiales exprimées à partir des angles globaux. J'ai travaillé 6 mois principalement sur ce problème l'an passé, j'espère que ça pourra t'éviter pas mal de galères que j'ai moi-même connues.

Commentaire de 9287 le 30/12/2006 20:06:17

je diré que .......... ce messieu et génial

Commentaire de 9287 le 06/01/2007 21:58:11

et aussi ............. le code 00978645213 il est à qui

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

plugin java3D [ par fredocom ] bonjour, j'ai besoin de quelques infos sur l'API java3D. Pour pouvoir visualiser une applet java3D sur le web, je sais que l'utilisateur doit disposer rotation d'une sphere 3d dans un monde java3d [ par helbriand ] Salut,Est-ce qu'un pro de java3d pourrait m'aider ?La question : Comment faire tourner une sphere 3d sur elle-même dans unmonde 3d, par rapport à l'ax recherche d'un jeu simple en java [ par ponchovilla ] bonjour,je dois réaliser comme projet un jeux en java qui pourra etre jouer en réseaux (genre un jeux de cartes) qui se joue à plusieurs (à 2, c'est d JAVA3D et jeu de course [ par toto0101 ] voila j'aimerai savoir où je pourrais trouver le code source d'un jeu de course en java3D? si oui pourriez vous me donner l'url ou m'envoyé le source Plugin JAVA3D [ par lulu31 ] J'ai une applet qui utilise une visu2D et une visu3D de la trajectoire d'un satellite. J'aimerais qu'au demarrage de cette applet, la detection du plu inversion de mouvement [ par sik ] comment faire pour inverser le mouvement d'un objet en java merci pour l'aide que vous m'apporterez! probleme pour un code calculatrice [ par ant01ne ] Salut,Voila je suis un debutant en JAVA et j'aimerais creer une calculatrice toute simple avec seulement un clavier que j'ai deja creer incluant les 1 Java3D + Clavier [ par Uncle ] Voila g un problem qui peu paraitre tout bete mais bon :)J'aimerai savoir quand es ce que l'utilisateur appui sur la fleche de Droite ou de Gauche sou VECTOR, problème. [ par MdcPhoenix ] Voilà c'est assez simple, une variable de type Vector contient un certains nombre de variable type Object.En l'occurence, moi j'ai rempli mon vector a java3d [ par LooL ] bonjour je dois dessiner un graphe en 3d avec un fichier de points en trois coordonnées.je maitrise tres mal la j3d. Si kelk1 a la solution....béni so


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales