Você está aqui: Python ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o ponto de interseção de duas retas em Python - Python para Geometria Analítica e Álgebra LinearQuantidade de visualizações: 1575 vezes |
|
Duas retas podem encontrar-se em 0, 1 ou 2 pontos. No primeiro caso, elas são chamadas paralelas; no segundo, elas são chamadas concorrentes e o ponto de encontro entre elas é chamado ponto de interseção; no terceiro caso, se duas retas possuem dois pontos em comum, então elas obrigatoriamente apresentam todos os pontos em comum e são chamadas coincidentes. Nesta dica mostrarei como podemos encontrar o ponto de interseção (ou intersecção) de duas retas usando Python. Mas, antes de vermos o código, dê uma olhada na seguinte imagem: ![]() Note que temos os pontos A e B correspondentes ao segmento de reta AB e os pontos C e D correspondentes ao segmento de reta CD. Nossa tarefa é encontrar o ponto exato de intersecção entre esses dois segmentos de reta. Veja o código Python completo que nos auxilia na resolução deste problema: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# classe usada para representar um ponto no
# plano 2d (Plano Cartesiano)
class Ponto:
# construtor da classe Ponto
def __init__(self, x, y):
self.x = x
self.y = y
# função principal do programa
def main():
# vamos construir os quatro pontos
A = Ponto(5, 7)
B = Ponto(9, -4)
C = Ponto(-8, 2)
D = Ponto(11, 6)
# vamos obter a representação do segmento AB
a1 = B.y - A.y
b1 = A.x - B.x
c1 = (a1 * A.x) + (b1 * A.y)
# vamos obter a representação do segmento CD
a2 = D.y - C.y
b2 = C.x - D.x
c2 = (a2 * C.x) + (b2 * C.y)
# obtém o determinante
determinante = (a1 * b2) - (a2 * b1)
# as duas retas são paralelas?
if determinante == 0:
print("\nAs duas retas são paralelas.\n")
else:
# e construímos o ponto de intersecção
x = ((b2 * c1) - (b1 * c2)) / determinante
y = ((a1 * c2) - (a2 * c1)) / determinante
inters = Ponto(x, y)
print("O ponto de interseção é: x = {0}; y = {1}".format(
inters.x, inters.y))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: O ponto de interseção é: x = 5,76; y = 4,90 De fato, se você olhar a imagem novamente e desenhar este ponto, verá que ele se situa exatamente na intersecção das retas indicadas. |
|
|
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 |








