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

Java Discussion :

Problème algorithme Java


Sujet :

Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2010
    Messages : 119
    Par défaut Problème algorithme Java
    Bonjour à tous!

    Je me suis remis dans le bain de la programmation évênementielle en java...
    J'en ai encore le nez qui saigne!

    Alors, je suis presque arrivé à mes fins, je souffre juste d'un problème d'algorithme.
    Mon but, est de faire une sorte de petit cadran, qui n'est pas une horloge, mais je parlerais quand même en "heures" pour simplifier le problème.

    Le centre de mon cadran est de coordonnées (120,143), l'aiguille, au départ, point à 9h (50,143).
    J'ai un bouton qui me permet de faire évoluer une valeur de 0 a 180...
    J'aurais aimé qu'a chaque évolution de cette valeur, je puisse faire avancer mon aiguille...

    Mais malgré mes recherches, je ne parviens pas à trouver les coordonnées du point suivant, avant de tracer la prochaine "aiguille"...

    Je vous remercie beaucoup de votre aide et de votre patience!

  2. #2
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Par défaut Plus de précisions
    Est-ce que lorsque la valeur a atteint 180, l'aiguille doit avoir fait un tour complet ? et dans quelle sens doit-elle tourner ?
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  3. #3
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 190
    Par défaut
    Cela m'a l'air d'etre un problème de géométrie, plus précisément de tracer un triangle isocèle. Ou encore de la circonférence d'un cercle. Je te conseille donc d'aller plutôt voir des cours de math sur cela.

  4. #4
    Membre expérimenté
    Avatar de anadoncamille
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 395
    Billets dans le blog
    1
    Par défaut trigonométrie
    Bonjour,

    tu peux utiliser les formules de trigonométrie pour déterminer les coordonnées de ton aiguille.

    Soit A l'angle à afficher et R le rayon (dimension de l'aiguille),
    soient XC et YC les coordonnées du centre de ton cadran,
    tu obtiens les coordonnées de l'autre bout de l'aiguille ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int XA = (int)Math.round(XC + Math.cos(A) * R);
    int YA = (int)Math.round(YC + Math.sin(A) * R);
    Ensuite tu peux dessiner une ligne de XC, YX à XA, YA (soit gfx ton objet Graphics) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    gfx.drawLine(XC, YC, XA, YA);

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2010
    Messages : 119
    Par défaut
    Merci beaucoup anadoncamille!

    J'avais fini par appeler ma soeur qui est prof de maths... Ca m'a bien aidé!

    Merci de votre aide.

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

Discussions similaires

  1. Problème en java (algorithme vers java)
    Par almofa237 dans le forum Langage
    Réponses: 2
    Dernier message: 10/05/2010, 15h48
  2. problème sous java
    Par lazzeroni dans le forum Oracle
    Réponses: 4
    Dernier message: 12/04/2006, 15h16
  3. Problème Applet Java et Win XP SP2
    Par octal dans le forum Applets
    Réponses: 4
    Dernier message: 04/02/2006, 09h57
  4. divers problème avec Java et jdbc
    Par chti_juanito dans le forum JDBC
    Réponses: 28
    Dernier message: 31/10/2005, 16h54
  5. problème algorithme récursif
    Par seb888 dans le forum Général Java
    Réponses: 11
    Dernier message: 04/06/2005, 21h35

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