Você está aqui: Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como testar se um ponto está dentro de um círculo em Java - Desenvolvimento de Games com JavaQuantidade de visualizações: 1038 vezes |
|
Quando estamos trabalhando com computação gráfica, geometria e trigonometria ou desenvolvimento de jogos em Java, é comum precisarmos verificar se um determinado ponto (uma coordenada x, y) está contido dentro de um círculo. Para melhor entendimento, veja a imagem a seguir: ![]() Veja que temos um círculo com raio igual a 115 e com centro nas coordenadas (x = 205; y = 166). Temos também dois pontos. O ponto vermelho está nas coordenadas (x = 140; y = 90) e o ponto azul está nas coordenadas (x = 330; y = 500. Como podemos ver na imagem, o ponto vermelho está dentro do círculo, enquanto o ponto azul está fora. E nosso intenção nesta dica é escrever o código Java que permite fazer essa verificação. Tenha em mente que está técnica é muito útil para o teste de colisões no desenvolvimento de games. Veja o código completo para o exemplo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
package estudos;
// vamos declarar a classe Circulo
class Circulo{
double xc;
double yc;
double raio;
public Circulo(double xc, double yc, double raio){
this.xc = xc; // x do centro
this.yc = yc; // y do centro
this.raio = raio; // raio do círculo
}
}
// agora vamos declarar a classe Ponto
class Ponto{
double x;
double y;
public Ponto(double x, double y){
this.x = x; // coordenada x
this.y = y; // coordenada y
}
}
// classe principal da aplicação
public class Estudos{
public static void main(String[] args){
// vamos criar um objeto Circulo
Circulo c = new Circulo(205, 166, 115);
// vamos criar um objeto Ponto
Ponto p = new Ponto(140, 90);
// vamos verificar se o ponto está dentro do
// círculo
double dx = p.x - c.xc;
double dy = p.y - c.yc;
if((Math.pow(dx, 2) + Math.pow(dy, 2)) < Math.pow(c.raio, 2)){
System.out.println("O ponto está dentro do círculo");
}
else{
System.out.println("O ponto NÃO está dentro do círculo");
}
}
}
Ao executar este código Java nós teremos o seguinte resultado: O ponto está dentro do círculo. Experimente com círculos de raios e coordenadas centrais diferentes e também com pontos em várias coordenadas e veja como os resultados são interessantes. |
|
|
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






