![]() |
|
||||
Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Você está aqui: Python ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como testar se um ponto está dentro de um círculo em Python - Desenvolvimento de Games com PythonQuantidade de visualizações: 1417 vezes |
|
Quando estamos trabalhando com computação gráfica, geometria e trigonometria ou desenvolvimento de jogos em Python, é 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 Python 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 o módulo Math
import math
# vamos declarar a classe Circulo
class Circulo:
# construtor da classe
def __init__(self, xc, yc, raio):
self.xc = xc
self.yc = yc
self.raio = raio
# agora vamos declarar a classe Ponto
class Ponto:
def __init__(self, x, y):
self.x = x # coordenada x
self.y = y # coordenada y
# método principal
def main():
# vamos criar um objeto Circulo
c = Circulo(205, 166, 115)
# vamos criar um objeto Ponto
p = Ponto(140, 90)
# vamos verificar se o ponto está dentro do
# círculo
dx = p.x - c.xc;
dy = p.y - c.yc;
if((math.pow(dx, 2) + math.pow(dy, 2)) < math.pow(c.raio, 2)):
print("O ponto está dentro do círculo")
else:
print("O ponto NÃO está dentro do círculo")
if __name__== "__main__":
main()
Ao executar este código Python 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 Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







