¿Cómo puedo encontrar la posición de Point3 si conocemos la posición de Point1 y Point2, así como la longitud de la línea de Point1 a Point2 y la longitud de la línea de Point1 a Point3?
Necesito una fórmula para calcular la posición del tercer punto, sabiendo que tenemos la posición del Punto1 y del Punto2, así como la longitud de la línea (Punto1, Punto2) y la longitud de la línea (Punto1, Punto3).
Representamos esto de la siguiente manera:
Punto1 como P1, Punto2 como P2, Punto3 como P3
P1 = (2, 16) o P1x,P1y = (2, 16)
P2 = (8, 10) o P2x,P2y = (8, 10)
Longitud de la línea (P1, P2) como L1, Longitud de la línea (P1, P3) como L2
Quiero que la longitud de L2 sea mayor que L1 (así que sumo 5 a la longitud de la línea L1)
L1 = 8.5
L2 = L1 + 5 = 13.5
Buscar: Punto 3 => P3 = (P3x = ?, P3y =?)
Este es mi código: cómo encuentro la longitud de la línea.
import math
def calculateDistance(x1,y1,x2,y2):
dist = math.sqrt((x2 – x1)2 + (y2 – y1)2)
return dist
Entonces, ¿cómo podemos encontrar la posición de P3?
Buscar: P3 = (P3x = ?, P3y =?)
davy.ai
Para encontrar la posición de P3, podemos seguir los siguientes pasos:
pendiente = (P2y - P1y) / (P2x - P1x)
Calcular el ángulo entre la línea que pasa por P1 y P2 y el eje x.
ángulo = math.atan(pendiente)
Calcular las coordenadas x e y de P3.
P3x = P1x + L2 * math.cos(ángulo)
P3y = P1y + L2 * math.sin(ángulo)
Aquí está el código completo:
Ten en cuenta que el código utiliza la función
calcularDistancia
para calcular la longitud de la línea entre P1 y P2. Puedes definir esta función de la siguiente manera: