IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

[ Bras Articulé ]


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2009
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 114
    Par défaut [ Bras Articulé ]
    Bonjour a tous,

    Je suis en train de réaliser un bras articulé comme précisé dans le titre.
    Je developpe sous Java avec JOGL.

    Mon bras articulé est decomposé en objet (Actor). Chaque actor possede une liste de ses descendants d'actor.
    Le bras possede l'avant-bras.
    l'avant bras le poignet, etc...

    Voici le code que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    private void draw3DObjHimSelf(GL gl, float compteur){
    		//save matrice
    		gl.glPushMatrix();
     
    		// Move to the translate coordonates
    		gl.glTranslated(himSelf.getTranslation().getX(),
    				himSelf.getTranslation().getY(),
    				himSelf.getTranslation().getZ());
     
    		// Rotate
    		gl.glRotated(compteur*himSelf.getRotation().getX(), 1.0f, 0.0f, 0.0f); // axe X
    		gl.glRotated(compteur*himSelf.getRotation().getY(), 0.0f, 1.0f, 0.0f); // axe Y
    		gl.glRotated(compteur*himSelf.getRotation().getZ(), 0.0f, 0.0f, 1.0f); // axe Z
     
    		// Resize
    		gl.glScaled(himSelf.getSize().getX(),
    				himSelf.getSize().getY(),
    				himSelf.getSize().getZ());
     
    		// Display actor
    		display(gl);
     
    		// draw3DObj childrens
    		for(Actor actor : childrens){
    			actor.draw3DObj(gl, compteur);
    		}
     
    		//restore matrice
    		gl.glPopMatrix();
    	}
    Pour infos l'objet himself ressemble à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class Objet3D {
     
    	private static Logger logger 	= 	Logger.getLogger(Objet3D.class.getName());
     
    	private Rotation rotation;
     
    	private Translation translation;
     
    	private Size size;
            ...
    }
    Je definit ma mise en scene :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    logger.info("Mise en place des objets");
     
    		Actor  repere 	= 	new Repere();
     
    		Actor	bras	=	new SolidActor("data/objets/obj/bras.obj");
    		bras.changeSize(0.5f, 0.5f, 0.5f);
     
    		Actor	avantBras	=	new SolidActor("data/objets/obj/avant-bras.obj");
    		avantBras.moveTo(0, 5, 0);
    		avantBras.rotate(2f, 0f, 0f);
    		bras.addChild(avantBras);
     
    		Actor	poignet	=	new SolidActor("data/objets/obj/poignet.obj");
    		poignet.moveTo(0, 4, 0);
    		poignet.rotate(5f, 0f, 0f);
    		avantBras.addChild(poignet);
    Mon bras articulé ressemble à un bras articulé, cad les elements sont se positionne par rapport au Pere.

    Mon probleme :
    lorsque je cherche à articulé l'avant bras+poignet, l'ensemble pivote par rapport au centre de l'actor "avant-bras" au lieu de pivoter sur l'extremité du bras. Je ne comprends pas comment combiner les matrcies push et pop.

    Merci de votre aide

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2009
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 114
    Par défaut
    Ok toutes mes excuses.
    En fouillant sur le net, exemple basique illustré sur le red book.
    chapitre 03

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Newton] Personnage articulé
    Par therealtoyoyo dans le forum Newton
    Réponses: 2
    Dernier message: 04/09/2007, 10h15
  2. Modèle 3D articulé
    Par Burckel dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 06/11/2006, 22h02
  3. animer bras manipulateur à 6 articulation
    Par ryma81 dans le forum OpenGL
    Réponses: 6
    Dernier message: 07/06/2005, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo