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

Langage Java Discussion :

Petit Probleme de rotation


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 4
    Par défaut Petit Probleme de rotation
    Bonsoir tout le monde
    pour mon examen,je dois réalisé 3 applet java
    je dois reproduire ceci
    http://www.bugsbusy.be/processing/ex...bre/index.html
    faire donc des shadoks
    je suis au premier exo et j'ai un probleme pour le bec du shadok,il doit faire une rotation et je n'arrive pas a le faire
    voici mon code

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    void setup() 
    {
      size(300, 300);  
      stroke(255);     
      framerate(30);
     
     
    }
     
    float y = 100;
    float x = 100;
    float x1 = 115;
    float y1 = 100;
    float x2 = 100;
    float y2 = 115;
    float x3 = 115;
    float y3 = 115;
    float sensX = 1;
    float sensY = 2;
     
     
     
    void draw() 
    { 
      background(25); 
     
      y = y + (2*sensY);
      x = x + (2*sensX); 
      y1 = y1 + (2*sensY);
      x1= x1 + (2*sensX);
      y2 = y2 + (2*sensY);
      x2 = x2 + (2*sensX);
      y3 = y3 + (2*sensY);
      x3 = x3 + (2*sensX);
      if ((x > width -15) || (x < 15)){
        //inversion de la vitesse en x
        sensX = -sensX;
     
     
      }
     
     
      if ((y > height - 15) || (y <15)){
        //inversion de la vitesse en y
        sensY = -sensY;
     
      }
     
     
     
      pushMatrix();
     
      ellipse(x, y, 30, 30);
      fill (68);
      triangle(x1,y1, x2, y2, x3, y3);
      popMatrix();
     
    }
    sachant que pour que lorsqu'il touche un bord, je dois utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
          var x = x + cos(TWO_PI/360 * degré) * 5;
        var y = y + sin(TWO_PI/360 * degré) * 5;
    je ne sais pas que faire,je suis perdu

    merci d'avance pour votre aide

  2. #2
    Membre expérimenté Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Par défaut
    pushMatrix();

    popMatrix();
    ça vient d'où, ça ? tu utilises un binding OpenGL ?

    Pour ton problème, il te faut un l'angle de rotation, et tu fait une simple transformation de rotation avant de dessiner ton cercle et ton triangle, comme ça, ils tourneront en même temps.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 4
    Par défaut
    c'est mon prof qui m'a conseillé de faire comme ca

    l'angle de rotation dépent de comment arrive le shadok sur le bord de sketch

    le java et moi,ca fait 2, suis totalement perdu

  4. #4
    Membre expérimenté Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Par défaut
    si tu utilises OpenGL, tu as juste à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      glRotate(0.0,0.0,1.0,monAngle)
      ellipse(x, y, 30, 30);
      fill (68);
      triangle(x1,y1, x2, y2, x3, y3);
    et au fait, tu as un Thread qui fait l'animation ? Il faudrait que tu donnes plus de précision

    [EDIT :] en fait je dis ça, mais ton code me paraît très étrange, puisque tu as une méthode ellipse, fill (avec un entier en paramètre ?!?!) et triangle, bref... besoin d'eclaircissement

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 4
    Par défaut
    Citation Envoyé par dazz_x
    ça vient d'où, ça ? tu utilises un binding OpenGL ?

    Pour ton problème, il te faut un l'angle de rotation, et tu fait une simple transformation de rotation avant de dessiner ton cercle et ton triangle, comme ça, ils tourneront en même temps.

    popmatrix et pushmatrix

    tu auras plus de détail ici : http://processing.org/reference/popMatrix_.html

    suis totalement perdu
    on l'a conseillé d'utilisé ceci pour que l'objet face une rotation dans la direction qu'il prend avec ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        var x = x + cos(TWO_PI/360 * degré) * 5;
        var y = y + sin(TWO_PI/360 * degré) * 5;
    OpenGl, euh me souviens pas avoir vu ca au cours

  6. #6
    Membre expérimenté Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Par défaut
    OK, donc t'as un IDE super spécifique et tu n'utilises pas directement l'API AWT.
    J'étais en train de te faire une démo en pur AWT, mais visiblement, ça ne t'aideras en rien....
    Comme c'est pas trop violent, je pense que tu dois utiliser la fonction RotateZ(monAngle) qui serait la plus appropriée.
    Sinon, il faut te pencher sur cette bibliothèque et voir comment la manipuler...

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 4
    Par défaut
    mmmm merci
    donc rotateZ(MonAngle) ou "MonAngle" est l'angle défini suivant l'arrivée du shadok sur l'axe x ou y si je comprend bien ?

Discussions similaires

  1. Petit problème de fork
    Par osmose22 dans le forum Linux
    Réponses: 7
    Dernier message: 18/03/2007, 21h10
  2. [TP]petit probleme avec solution
    Par pompompolom dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 02/12/2004, 19h48
  3. petit probleme avec l'éditeur de builder
    Par qZheneton dans le forum C++Builder
    Réponses: 2
    Dernier message: 28/10/2004, 16h19
  4. petit probleme de requete
    Par nico33307 dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 25/08/2004, 11h36
  5. petit probleme dans une requte POSTGRE SQL
    Par ghis le fou dans le forum Requêtes
    Réponses: 5
    Dernier message: 08/09/2003, 13h51

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