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

Interfaces Graphiques en Java Discussion :

Coordonnées d'un point avec j3D


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 46
    Points : 57
    Points
    57
    Par défaut Coordonnées d'un point avec j3D
    Salut a tous,

    Je viens ici après maintes et maintes recherches qui se sont avérées infructueuses malgré moi , après je pense que certains me diront que j'ai pas bien cherché évidemment ne sachant pas quoi tapper ...
    Du coup je développe actuellement un projet java en 3D dans lequel je travaille sur des matrices, j'ai besoin de faire un test avec les clicks souris donc jusque là tout va bien mais le seul problème c'est que j'ai besoin de mettre a jour des éléments graphiques en fonctions des cliques et pour ca j'ai besoin des 3 coordonnées hors avec mouseevent je ne peux QUE ramener x et y et oui e.getZ() ne passe pas bizarre ? ...

    Bref voici mon code j'espère que quelqu'un pourra me dire comment ramener ce
    P'@%!"... de 3ème paramètre pour pouvoir avancer parce que ca me rend un peu dingue !


    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
     
    public void mouseClicked(MouseEvent e) {
     
    		pickCanvas.setShapeLocation(e);
     
    	       PickResult result = pickCanvas.pickClosest();
     
    	    if (result == null) {
     
    	       System.out.println("Nothing picked");
     
    	    } else {
     
    	      Primitive p = (Primitive)result.getNode(PickResult.PRIMITIVE);
     
    	       if (p != null) {
     
    	             System.out.println(p.getClass().getName());
     
    	       } 
    	       if (e.getButton()==MouseEvent.BUTTON1)// click gauche
    			{
     
    	    	System.out.println("click gauche -> x :"+e.getX()+ " y :"+e.getY());
     
    			//	m.setCellule(e.getX(), e.getY(),e.getZ(), 1);
    			// ceci est la fonction pr laquelle j'ai besoin du param z !
     
    			}
    			if (e.getButton()==MouseEvent.BUTTON3) // click droit
    			{
    				//m.setCellule(e.getX(), e.getY(), 0, 0);
    				System.out.println("click droit -> x :"+e.getX()+ " y :"+e.getY());
    			}
     
    	    }
     
    	}

  2. #2
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 46
    Points : 57
    Points
    57
    Par défaut autre problème !
    Pour ceux que ca intéresse j'ai trouvé la réponse a mon problème avec point3D :

    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
    31
     
    pickCanvas.setShapeLocation(e);
     
    	    PickResult result = pickCanvas.pickClosest();
     
     
    	     Point3d eyePos = pickCanvas.getStartPosition ();
    	     PickResult[] pickResult = pickCanvas.pickAllSorted();     
     
    	       if (e.getButton()==MouseEvent.BUTTON1)// click gauche
    			{
     
    	    	   if (pickResult != null)
    			     {              
    			    PickIntersection pi =             
    			     pickResult[0].getClosestIntersection(eyePos);
    			      Point3d point = pi.getPointCoordinatesVW();
    			      System.out.println("*** Click gauche ***");
    			    System.out.println("x: "+point.getX());
    			    System.out.println("y : "+point.getY());
    			    System.out.println("z : "+point.getZ());
    			    m.setCellule(point.getX(), point.getY(),point.getZ(), 1);
     
    			     }  
     
    	    	   else
    	    	   {
    	    		   System.out.println("nothing picked");
    	    	   }  
     
    			}
    j'ai bien mes coordonnées x,y,z ...

    Malheureusement la vie aurait été trop belle , pour mettre a jour mes éléments graphique dans ma matrice j'utilise ma méthode setCellule dans laquelle mes paramètres de coordonnées correspondent au param' de ma matrice algorithmique : jusque la tout va bien mais non je dois avoir des coordonnées de type int alors que les coordonnées renvoyer sont de type float ex : x = 0.05000000074505806 . Du coup si j'lai cast en int je me retrouve avec des coordonnées 0,0,0 donc il m'est impossible de travailler sur ma fonction , je précise que je ne dois pas passer ma matrice en tableau de float je dois garder des int ...
    Si quelqu'un a une idée ca serait cool

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/02/2013, 17h18
  2. Caculer X/Y avec les coordonnées d'un point
    Par guda dans le forum Mathématiques
    Réponses: 3
    Dernier message: 02/03/2011, 15h26
  3. Réponses: 10
    Dernier message: 21/06/2010, 01h15
  4. [Débutant] Calculer un angle entre 3 points avec des coordonnées X Y Z
    Par mattparla dans le forum MATLAB
    Réponses: 6
    Dernier message: 28/11/2009, 17h43
  5. Retrouver les coordonnées 3D de 4 points avec contraintes
    Par jobigoud dans le forum Mathématiques
    Réponses: 13
    Dernier message: 22/10/2008, 11h55

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