Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : MouseMotionListener dans un camembert [ Archives / Applet ] (Nabel)

jeudi 23 mai 2002 à 10:45:38 | MouseMotionListener dans un camembert

Nabel

Bonjour à toutes et à tous,
J'ai créé une petite applet java permettant de dessiner un camembert selon les valeurs d'une base de données.
Ce que je voudrais faire, pour la rendre plus dynamique, c'est colorier une part (en rouge par exemple) lorsque l'utilisateur passe la souris sur la part en question.
Cependant, je ne sais pas comment faire, car il faut mesurer les coordonnées de la souris par rapport à un angle.
Si quelqu'un peut m'aider, ce serait chouette

Merci d'avance.

Ann@bel

jeudi 23 mai 2002 à 22:45:28 | Re : MouseMotionListener dans un camembert

Aldee

Je ne suis pas sûre d'avoir compris exactement ce que tu voulais mais bon,
J'ai peut-etre une solution mais elle passe par les math.


Si tu as un point de reference (O soit x0,y0).
Si tu as l'angle que fait l'horizontale passant par ce point et le point de ta souris (soit A dans le sens inverse au sens horaire).
Il te faut aussi la distance (soit R) entre ces deux points (utilise Pytagore Rcarré=Differencedesxaucarré+Differencedesyaucarré.)
Par rapport a ce point de reference les coordonnées sont :
xM=cosA * R
yM=sinA * R.
Pour avoir les coordonnées dans le repère de l'écran, il te faudra additionner x0etxM, et y0etyM (quelque soit leurs signes <0 ou >0).

J'espère que je réponds à ta question.
Si tu veux que je sois plus précise ou que tu n'as rien compris à ce que je viens de raconter, n'hésites pas à me redemander, j'adore les maths!

Bye






-------------------------------
Réponse au message :
-------------------------------

Bonjour à toutes et à tous,
J'ai créé une petite applet java permettant de dessiner un camembert selon les valeurs d'une base de données.
Ce que je voudrais faire, pour la rendre plus dynamique, c'est colorier une part (en rouge par exemple) lorsque l'utilisateur passe la souris sur la part en question.
Cependant, je ne sais pas comment faire, car il faut mesurer les coordonnées de la souris par rapport à un angle.
Si quelqu'un peut m'aider, ce serait chouette

Merci d'avance.

Ann@bel

vendredi 24 mai 2002 à 10:46:11 | Re : MouseMotionListener dans un camembert

Nabel

Merci bien pour ta réponse. Je pense que ta solution pourrait me convenir parfaitement, mais j'ai décroché à la deuxième ligne !
Disons que j'ai un camembert avec 3 parts et que l'angle de la part 1 vaut 100°, l'angle de la part 2 vaut 70°, et le dernier vaut 190°. J'aimerais que quand l'utilisateur passe la souris dans une part, elle se colorie d'une autre couleur. Pour cela, il faut que je calcule si les coordonnées de la souris sont dans une part et si oui, quelle part. Les données que j'ai sont : les angles de chaque part, les coordonnées du centre du cercle, et les coordonnées de la souris.

Si tu as l'angle que fait l'horizontale passant par ce point x0 Y0 et le point de ta souris (soit A dans le sens inverse au sens horaire) C'est cette phrase que je ne comprends pas. Je calcule l'angle entre l'horizontale et quelle autre droite ?

En fait, j'aimerai un peu pus de précision sur ta solution, je ne suis pas très forte en math, mais je me soigne !

Ann@bel


-------------------------------
Réponse au message :
-------------------------------

Je ne suis pas sûre d'avoir compris exactement ce que tu voulais mais bon,
J'ai peut-etre une solution mais elle passe par les math.


Si tu as un point de reference (O soit x0,y0).
Si tu as l'angle que fait l'horizontale passant par ce point et le point de ta souris (soit A dans le sens inverse au sens horaire).
Il te faut aussi la distance (soit R) entre ces deux points (utilise Pytagore Rcarré=Differencedesxaucarré+Differencedesyaucarré.)
Par rapport a ce point de reference les coordonnées sont :
xM=cosA * R
yM=sinA * R.
Pour avoir les coordonnées dans le repère de l'écran, il te faudra additionner x0etxM, et y0etyM (quelque soit leurs signes <0 ou >0).

J'espère que je réponds à ta question.
Si tu veux que je sois plus précise ou que tu n'as rien compris à ce que je viens de raconter, n'hésites pas à me redemander, j'adore les maths!

Bye

lundi 27 mai 2002 à 15:37:45 | Re : MouseMotionListener dans un camembert

Aldee

OK.
Pour l'angle je voulais savoir si l'angle que tu considérais était celui réél de ta part ou l'angle entre l'horizontale et l'extremité de ta part de camenbert?

Bref, je continue.
Les coordonnées de ta souris sont S(xs,ys).
Les coordonnées du centre O(x0,y0).
Et ton angle A.

Bon.

Tu vérifies si le click de souris a lieu dans un rayon inférieur au rayon du cercle par Pytagore.
Cette distance = à la racine carré de la somme de (xs-x0) au carré et de (ys-y0) au carré.

Ensuite, tu calcules l'angle entre l'horizontale passant par O et la droite passant par OS. Et tu vérifies que cet angle est inférieur à l'angle de ta part de camembert.
L'angle de ton click de souris, tu fais l'inverse cos (noté cos-1) de la différence des abscisses xs et x0, divisé par l'hypothénuse c'est-a-dire la relation de Pytagore que tu as calculé avant.

Je n'ai pas trop le temps là, mais j'essaie de t'envoyer un croquis pour completer l'explication.

Courage.
Bye





-------------------------------
Réponse au message :
-------------------------------

Merci bien pour ta réponse. Je pense que ta solution pourrait me convenir parfaitement, mais j'ai décroché à la deuxième ligne !
Disons que j'ai un camembert avec 3 parts et que l'angle de la part 1 vaut 100°, l'angle de la part 2 vaut 70°, et le dernier vaut 190°. J'aimerais que quand l'utilisateur passe la souris dans une part, elle se colorie d'une autre couleur. Pour cela, il faut que je calcule si les coordonnées de la souris sont dans une part et si oui, quelle part. Les données que j'ai sont : les angles de chaque part, les coordonnées du centre du cercle, et les coordonnées de la souris.

Si tu as l'angle que fait l'horizontale passant par ce point x0 Y0 et le point de ta souris (soit A dans le sens inverse au sens horaire) C'est cette phrase que je ne comprends pas. Je calcule l'angle entre l'horizontale et quelle autre droite ?

En fait, j'aimerai un peu pus de précision sur ta solution, je ne suis pas très forte en math, mais je me soigne !

Ann@bel


-------------------------------
Réponse au message :
-------------------------------

Je ne suis pas sûre d'avoir compris exactement ce que tu voulais mais bon,
J'ai peut-etre une solution mais elle passe par les math.


Si tu as un point de reference (O soit x0,y0).
Si tu as l'angle que fait l'horizontale passant par ce point et le point de ta souris (soit A dans le sens inverse au sens horaire).
Il te faut aussi la distance (soit R) entre ces deux points (utilise Pytagore Rcarré=Differencedesxaucarré+Differencedesyaucarré.)
Par rapport a ce point de reference les coordonnées sont :
xM=cosA * R
yM=sinA * R.
Pour avoir les coordonnées dans le repère de l'écran, il te faudra additionner x0etxM, et y0etyM (quelque soit leurs signes <0 ou >0).

J'espère que je réponds à ta question.
Si tu veux que je sois plus précise ou que tu n'as rien compris à ce que je viens de raconter, n'hésites pas à me redemander, j'adore les maths!

Bye

mercredi 29 mai 2002 à 14:02:36 | Re : MouseMotionListener dans un camembert

Nabel

Ok, je veux bien un croquis, bien que ton explication me paraît un peu plus clair.
Je vais essayer cette soluce dès que possible.
Je te file mon e-mail : c_clair@caramail.com
Merci bcp

Ann@bel


-------------------------------
Réponse au message :
-------------------------------

OK.
Pour l'angle je voulais savoir si l'angle que tu considérais était celui réél de ta part ou l'angle entre l'horizontale et l'extremité de ta part de camenbert?

Bref, je continue.
Les coordonnées de ta souris sont S(xs,ys).
Les coordonnées du centre O(x0,y0).
Et ton angle A.

Bon.

Tu vérifies si le click de souris a lieu dans un rayon inférieur au rayon du cercle par Pytagore.
Cette distance = à la racine carré de la somme de (xs-x0) au carré et de (ys-y0) au carré.

Ensuite, tu calcules l'angle entre l'horizontale passant par O et la droite passant par OS. Et tu vérifies que cet angle est inférieur à l'angle de ta part de camembert.
L'angle de ton click de souris, tu fais l'inverse cos (noté cos-1) de la différence des abscisses xs et x0, divisé par l'hypothénuse c'est-a-dire la relation de Pytagore que tu as calculé avant.

Je n'ai pas trop le temps là, mais j'essaie de t'envoyer un croquis pour completer l'explication.

Courage.
Bye





-------------------------------
Réponse au message :
-------------------------------

Merci bien pour ta réponse. Je pense que ta solution pourrait me convenir parfaitement, mais j'ai décroché à la deuxième ligne !
Disons que j'ai un camembert avec 3 parts et que l'angle de la part 1 vaut 100°, l'angle de la part 2 vaut 70°, et le dernier vaut 190°. J'aimerais que quand l'utilisateur passe la souris dans une part, elle se colorie d'une autre couleur. Pour cela, il faut que je calcule si les coordonnées de la souris sont dans une part et si oui, quelle part. Les données que j'ai sont : les angles de chaque part, les coordonnées du centre du cercle, et les coordonnées de la souris.

Si tu as l'angle que fait l'horizontale passant par ce point x0 Y0 et le point de ta souris (soit A dans le sens inverse au sens horaire) C'est cette phrase que je ne comprends pas. Je calcule l'angle entre l'horizontale et quelle autre droite ?

En fait, j'aimerai un peu pus de précision sur ta solution, je ne suis pas très forte en math, mais je me soigne !

Ann@bel


-------------------------------
Réponse au message :
-------------------------------

Je ne suis pas sûre d'avoir compris exactement ce que tu voulais mais bon,
J'ai peut-etre une solution mais elle passe par les math.


Si tu as un point de reference (O soit x0,y0).
Si tu as l'angle que fait l'horizontale passant par ce point et le point de ta souris (soit A dans le sens inverse au sens horaire).
Il te faut aussi la distance (soit R) entre ces deux points (utilise Pytagore Rcarré=Differencedesxaucarré+Differencedesyaucarré.)
Par rapport a ce point de reference les coordonnées sont :
xM=cosA * R
yM=sinA * R.
Pour avoir les coordonnées dans le repère de l'écran, il te faudra additionner x0etxM, et y0etyM (quelque soit leurs signes <0 ou >0).

J'espère que je réponds à ta question.
Si tu veux que je sois plus précise ou que tu n'as rien compris à ce que je viens de raconter, n'hésites pas à me redemander, j'adore les maths!

Bye




Cette discussion est classé dans : souris, part, camembert, mousemotionlistener


Répondre à ce message

Sujets en rapport avec ce message

MouseMotionListener trop lent [ par qhhu ] Bonjour a tous!J'ai un probleme avec java.awt.event.MouseMotionListener.En effet je cherche a faire un programme du style "Qui trouvez vous le plus in Recuperer le contenu d'un bouton suite à un clic de la souris [ par kgadhi ] Bonjour tout le monde et merci pour votre aide,Voila dans mon projet, je dois réaliser un ecran qui simule un calendrier,J'ai récupéré le code suivant Deux souris sur un même écran [ par ginie06 ] Bonjour,Ce que je voudrais faire est plutôt atypique: il s'agit de faire cohabiter deux souris (souris 1 et souris 2) sur un même écran.La souris 1 es Gif animé en curseur de souris [ par cheplu ] Bonjour.J'ai un petit probleme concernant les curseurs en java, et même après recherche, je ne trouve rien qui réponde à ma question sur ce site alors Remplissage forme quelconque [ par GIGN90 ] Bonjour à tous, voilà j'aurais besoin d'un renseignement.J'ai ma zone de dessin avec des formes quelconques (pas de carré ou de rectangle, des formes [JAVA 3D] Recupérer angle de rotation par la souris [ par bonofred ] Bonjour à tous.Voilà, dans le cadre de mon projet à la fac que je dois faire avec  JAVA, j'aurai une petite question.J'ai crée un repère 3D (avec JAVA déplacement d'un fichier avec la souris sur une fenêtre [ par Hermios ] Bonjour à tous,j'aimerai réaliser un module particulier, et j'ai essayé de chercher sur le site, mais comme je ne sais pas où chercher, ben... J'ai ri recupere un click souris hors applet [ par vincedav31 ] Salut,J'ai fait une applet pour prendre une capture d'ecran.je voudrais que l'utilisateur clic hors de l'applet pour definir son cadre de capture.Est Extraire pdf d'une pièce jointe [ par ptitjibus ] Bonjour à tous,je suis en train de développer un client mail avec l'API javaMail qui va chercher les mails sur une boite POP.Mon appli doit extraire l aquisition des coordonnées de la souris déclenchée par le clavier [ par epso ] Bonjour,Je suis actuellement en train de mettre au point un petit programme en java, mais je bloque sur un truc:Pour le moment, l'interface se compose


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.