Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comment faire un cercle avec chaque face clicable

regarder, c'est un vrai casse tête

    14 juin 2008 à 16:29:30

    Salut tout le monde !!!!

    Mon projet de mmorpg avance, mais je me heurte à une grande difficultée (j'en fait un peu trop :D )
    Je cherche a faire un cercle avec chaque face pickingable (sur lq je peux cliquer)
    cela consiste à dessiner chaque face puis apres chaque face je met mon loadname.

    Le probleme est simple, je me demande comment dessiner chaque face d'un cercle.

    Si un point n'es pas clair, dites le moi !!!

    Merci a tout ceux qui répondent
    • Partager sur Facebook
    • Partager sur Twitter
      14 juin 2008 à 16:45:08



      en fait tu n'arrive pas à dessiner un cercle c'est ca?
      • Partager sur Facebook
      • Partager sur Twitter
        14 juin 2008 à 16:59:48

        un cercle, ca a plusieur faces??? :-°
        • Partager sur Facebook
        • Partager sur Twitter
          14 juin 2008 à 17:04:46

          Un cercle à face??? je suis pas sur de comprendre...
          • Partager sur Facebook
          • Partager sur Twitter
            14 juin 2008 à 17:16:58

            Pour dessiner une sphère ou un cercle, il faut faire des triangles (ou des lignes), ce sont les seules formes qu'un ordinateur sait dessiner.

            Par contre, j'ai rien compris à la question.
            • Partager sur Facebook
            • Partager sur Twitter
            Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
              14 juin 2008 à 17:19:10

              je suis d'accord... seulement on peut pas vraiment parler de face... D'autant plus qu'il parle de face sur lesquelles il peut cliquer!!!
              • Partager sur Facebook
              • Partager sur Twitter
                14 juin 2008 à 17:26:03

                peut-être un cylindre?
                • Partager sur Facebook
                • Partager sur Twitter
                :)
                  14 juin 2008 à 18:02:39

                  Comprends pas, mais je vais essayer de répondre.

                  - pour dessiner un cerle, tu as l'algo de Bresenham pour les cercles qui te permet de dessiner un cercle dans un espace discret (en 2D).
                  - si tu veux l'approximier en polygones (en triangles) commence par approximer ton cercle en polygone N faces (plus N est grand, plus le cercle est précis) : calcul avec sin et cos pour avoir les sommets de tes polygones
                  - pour tester si un point (le curseur de la souris par exemple) est dans un cercle, calcule la distance (via pythagorre entre le point testé et le centre du cercle), le point est dans le cercle si et seulement si la distance est inférieure au rayon.
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

                    14 juin 2008 à 18:11:22

                    un cercle ou toutes autre formes polygonale est un ensemble de pixel pour un ordinateur (ou un ensemble de carré)
                    donc tu peut utiliser la même technique que le bouding-box pour créer un cercle et en même temps , puisque tu fait comme le bouding-box justement, tu peux faire un système de picking.

                    indice: le bouding-box fait des ensemble de pixel et les groupes dans un bouding-box général puis fait des tests dessus
                    • Partager sur Facebook
                    • Partager sur Twitter
                      14 juin 2008 à 21:15:22

                      En fait on ne sait même pas si il est en 2D ou 3D ... :(
                      • Partager sur Facebook
                      • Partager sur Twitter
                        14 juin 2008 à 21:25:23

                        Citation : taywon

                        Je cherche a faire un cercle avec chaque face pickingable (sur lq je peux cliquer)
                        cela consiste à dessiner chaque face puis apres chaque face je met mon loadname.


                        Outre la géométrie, tu maîtrise aussi très bien l'anglais :-°
                        • Partager sur Facebook
                        • Partager sur Twitter
                          17 juin 2008 à 18:46:19

                          merci pour toute vos réponse, je vais m'expliquer...
                          déja, le jeu est en 3D (c'est une base :D )
                          ensuite, je cherche à faire en sorte que des que je clic sur un point du skydome, j'ai miraculeusement ses coordonnées :p ...
                          Bon, qui à une idée ???
                          • Partager sur Facebook
                          • Partager sur Twitter
                            17 juin 2008 à 18:50:49

                            Ah c'est ça ! Tu veux faire du picking en fait. Il y a eu un thread récemment là-dessus dans ce forum. Fais une recherche.
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
                              17 juin 2008 à 19:22:40

                              Je sais, c'est moi qui l'es ouvert :p , mais c'est plus dur que de cliquer sur un carré (car le carré, je peux savoir ou il est...
                              La je veux savoir comment connaitre sa position dans une sphere...
                              (je présise avec le mot sphere car elle sont composée de 'face'(ou plutot de verticle et blablabla...) en opengl)
                              • Partager sur Facebook
                              • Partager sur Twitter
                                17 juin 2008 à 19:52:51

                                Tu as réussi pour le carré ?
                                • Partager sur Facebook
                                • Partager sur Twitter
                                Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
                                  17 juin 2008 à 20:41:17

                                  au bout d'un moment, j'ai réussis, et j'ai défini une structure qui me donne la position du machin[..] enfin bon, oui, j'ai réussis le picking par nom ^^
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    18 juin 2008 à 9:42:52

                                    Donc tu as réussi à "inverser" la matrice de projection. A partir de là, pour la sphère c'est identique.

                                    1) Tu inverses la matrice de projection, ce qui te donne l'équation d'une droite.
                                    2) Tu calcules l'intersection de cette droite avec la sphère, ce qui donne deux points.
                                    3) Tu prends celui des 2 points qui est face à la caméra.
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.

                                    Comment faire un cercle avec chaque face clicable

                                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                    • Editeur
                                    • Markdown