Você está aqui: Dart ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como testar se um ponto está dentro de um círculo em Dart - Desenvolvimento de Games com DartQuantidade de visualizações: 973 vezes |
|
Quando estamos trabalhando com computação gráfica, geometria e trigonometria ou desenvolvimento de jogos em Dart, é 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 Dart 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)
----------------------------------------------------------------------
// Vamos importar a biblioteca dart:io
import "dart:io";
// vamos importar a biblioteca dart:math
import "dart:math";
// vamos declarar a classe Circulo
class Circulo{
double xc;
double yc;
double raio;
// construtor da classe Circulo
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;
// construtor da classe Ponto
Ponto(double x, double y){
this.x = x; // coordenada x
this.y = y; // coordenada y
}
}
void main(){
// variáveis que vamos usar na resolução do problema
Circulo c;
Ponto p;
double dx, dy;
// vamos criar um objeto Circulo
c = new Circulo(205, 166, 115);
// vamos criar um objeto Ponto
p = new Ponto(140, 90);
// vamos verificar se o ponto está dentro do
// círculo
dx = p.x - c.xc;
dy = p.y - c.yc;
if((pow(dx, 2) + pow(dy, 2)) < pow(c.raio, 2)){
stdout.write("O ponto está dentro do círculo");
}
else{
stdout.write("O ponto NÃO está dentro do círculo");
}
}
Ao executar este código Dart 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. |
|
|
Veja mais Dicas e truques de Dart |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







