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

2D Java Discussion :

Rotation d'un objet


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 31
    Par défaut Rotation d'un objet
    Voila je n'arrive pas à faire tourner un rectangle par exemple sur lui même. Je sais creer un retangle mais après comment faire ?

    Deuxième question comment obliger le centre du rectangle à rester sur l'arc de cercle d'un rayon prédéfini que j'ai crée.

    Merci

  2. #2
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Regarde les classes Graphics2D et AffineTransform. Tu peux aussi regarder la methode rotate() de Graphics2D ou les differentes methodes de la classe Rectangle.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 31
    Par défaut
    Dans la méthode Rectangle, il y a pas grand chose sur la rotation. Je vais essayer dans Graphics2 et l'autres avec la méthode rotate(). Je pense que ce sera plus un problème.

    Par contre ma deuxième question me tourne tjs la tete.

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 125
    Par défaut ....
    Tournes le rectangle sur lui meme en te servant de son centre comme centre de sa rotation.
    ce point devra aussi appartenir a l'arc de ton cercle...
    1-si ton cercle ne se deplace, ce point lui appartiendra toujours.
    2-si ton cercle doit se deplacer,fais subir le meme deplacement a ton rectangle..

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 31
    Par défaut
    Justement je ne vois pas comment lui dire de rester sur l'arc de cercle. J'ai la position du centre du cercle ainsi que le rayon. Je peux avoir la position du centre du rectangle. Après je bloque. Le centre du rectangle doit rester sur la coordonnées x, y de l'arc de cercle, or je ne la connais pas ces coordonnées (enfin que 4 positions, le haut, la droite, la gauche et le bas mais pour le restes je ne sais pas)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 31
    Par défaut
    PS : le rectangle se déplace tout en tournant autour d'un point de l'arc de cercle et ainsi de suite, le cercle reste fixe quant à lui.

  7. #7
    Membre expérimenté Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Par défaut
    Citation Envoyé par DefmY
    Après je bloque. Le centre du rectangle doit rester sur la coordonnées x, y de l'arc de cercle, or je ne la connais pas ces coordonnées
    les coordonnées des points d'un cercle ca se calcule

    équation paramétrique de cercle :
    x = r * cos(t) + a
    y = r * sin(t) + b

    avec (a,b) les coordonnées du centre, r le rayon et t l'angle.

    voilà de quoi t'amuser :

    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
    public class Circle {
    	/*attributes*/
         private double ray;	
    	private double xCenter;	
    	private double yCenter;	
     
    	/*construtors*/
    	public Circle(double xCenter, double yCenter, double ray){
    		this.xCenter = xCenter;
    		this.yCenter = yCenter;
    		this.ray = ray;
    	}	
    	public Circle(double ray){this(0,0,ray);}	
    	public Circle(){this(0,0,1);}	
     
    	/*getters & setters*/
    	public double getRay() {return ray;}
    	public void setRay(double ray) {this.ray = ray;}	
    	public double getXCenter() {return xCenter;}
    	public double getYCenter() {return yCenter;}
    	public void setCenter(double xCenter, double yCenter) {
    		this.xCenter = xCenter;
    		this.yCenter = yCenter;
    	}
     
       /*coordinates computing */
    	public double getX (double angle){
    		return ray * Math.cos(angle) + xCenter;
    	}	
    	public double getY (double angle){
    		return ray * Math.sin(angle) + yCenter;
    	}
    }
    bien sûr ca ne renvoie que les ordonnées positives tel que c'est là donc en fait tu as un demi-cercle. Mais tu prend les mêmes abscisses avec les opposés des ordonnées et tu obtient l'autre moitié

    T'as plus qu'à parcourir tes angles de 0 à pi pour obtenir les coordonnées.

    ah oui j'oubliais, les angles sont en radian mais bon... la conversion est rapide

Discussions similaires

  1. [POO] faire une rotation d'un objet
    Par cortex59 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/04/2008, 16h42
  2. Réponses: 1
    Dernier message: 03/10/2007, 17h38
  3. Rotation d'un objet sur lui-même
    Par Ninouw dans le forum OpenGL
    Réponses: 6
    Dernier message: 29/12/2006, 09h40
  4. rotation d'un objet en 3D
    Par jeandormesson dans le forum Flash
    Réponses: 2
    Dernier message: 27/09/2006, 16h12
  5. Réponses: 11
    Dernier message: 08/01/2006, 22h06

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