Partage
  • Partager sur Facebook
  • Partager sur Twitter

Bonjour

Sujet résolu
Anonyme
    13 octobre 2011 à 20:31:01

    Bonjour

    -
    Edité par Anonyme 30 janvier 2014 à 12:44:53

    • Partager sur Facebook
    • Partager sur Twitter
      13 octobre 2011 à 20:39:07

      Si le point est plus proche du centre que le rayon, il est dans le cercle.
      Tu as le centre et le point - donc la distance - et le rayon, donc "y'a plus qu'à".
      • Partager sur Facebook
      • Partager sur Twitter
        13 octobre 2011 à 20:45:11

        public static boolean isIntoCircle(double x, double y, double xCircle, double yCircle, double rCircle){
        	double dist = Math.sqrt(Math.pow(x-xCircle, 2)+Math.pow(y-yCircle, 2));
        	return dist <= rCircle;
        }
        


        Vu que tu n'as pas précisé l'entrée des données, je me suis permis de le faire comme je voulais.
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          13 octobre 2011 à 21:04:47

          Bonjour

          -
          Edité par Anonyme 30 janvier 2014 à 12:45:03

          • Partager sur Facebook
          • Partager sur Twitter
            13 octobre 2011 à 22:16:13

            Ca me semble faux, la réponse de Hilaia est la bonne en plus d'être simple.
            Il calcul l'hypotenuse ( la distance ) grace au théorème de Pythagore.
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              13 octobre 2011 à 23:02:13

              Citation : outmane15

              Re, voici ce je j'ai fait :

              public boolean contains(int x, int y) {
              	// TODO Auto-generated method stub
              	if(x1-rayon<=x && x<=x1+rayon && y1-rayon<=y && y<=y1+rayon)
              		return true;
              	else
              		return false;
              }
              


              x1,y1 sont les coordonnées de centre du cercle.
              C'est juste ?



              non ce serait bon pour un carré, mais pas pour un cercle, pour calculer c'est simple, tu prend un point (centerX, centerY) pour le centre et un autre pour le clic(clicX, clicY)
              la distance d'un point a un autre est racine carrée de (clicX - centerX)² + (clicY - centerY)²
              pour éviter d'utiliser square root, qui est un peu lourd en terme cpu, tu peux garder la distance au carré
              boolean contains(int mouseX, int mouseY) {
                  return circleSize * circleSize >= ((mouseX - circleX) * (mouseX - circleX) + (mouseY - circleY) * (mouseY - circleY));
              }
              
              • Partager sur Facebook
              • Partager sur Twitter
                14 octobre 2011 à 0:43:15

                Un peu de maths vite fait :

                (S ; O) appartient au cercle si et seulement si S = x et O = y vérifient l'équation du cercle (x+x)² + (y-y)²= R

                a toi de vérifier ;)
                • Partager sur Facebook
                • Partager sur Twitter
                www.creationjeuxjava.fr - Unity3D - LibGDX - Tutoriels de Jeux vidéo !
                Anonyme
                  14 octobre 2011 à 0:52:53

                  Bonjour

                  -
                  Edité par Anonyme 30 janvier 2014 à 12:45:11

                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 octobre 2011 à 0:56:00

                    Si tu veux vraiment pas te faire chier :

                    public static boolean isIntoCircle(double x, double y, double xCircle, double yCircle, double rCircle){
                    
                      Point2D p1,p2;
                      p1 = new Point2D.Double(x, y);
                      p2 = new Point2D.Double(xCircle, yCircle);
                      return (p1.distance(p2) <= rCircle);
                    
                    }
                    
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      14 octobre 2011 à 1:00:35

                      Bonjour

                      -
                      Edité par Anonyme 30 janvier 2014 à 12:45:19

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Bonjour

                      × 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