2009-12-19 13 views
8

Conozco los puntos de inicio y fin en un segmento de línea. Para este ejemplo, diga que el segmento de línea tiene una distancia de 5. Ahora quiero saber el punto que tiene una distancia de tres desde el punto final. ¿Alguna idea de cómo hacer esto con las matemáticas?Encontrar un punto en una línea

Punto de inicio (0,0) Punto final (0,5)

Punto Quiero encontrar (0,2)

Respuesta

22

Si sus puntos son (x1, y1) y (x2, y2), y que desea encontrar el punto de que es (x3, y3)n unidades de distancia del punto 2:

d = sqrt((x2-x1)^2 + (y2 - y1)^2) #distance 
r = n/d #segment ratio 

x3 = r * x2 + (1 - r) * x1 #find point that divides the segment 
y3 = r * y2 + (1 - r) * y1 #into the ratio (1-r):r 
+0

+1 por tomarse el tiempo para responder a – Patrick

+1

1 - Después de horas y horas de intentar conseguir este trabajo, finalmente pensé: "Oye, ¿por qué no comprueba ASI QUE." 30 segundos después tengo una solución completamente funcional. Para mis propósitos, cambié las x e y en el cálculo x3, y3 para que represente la distancia desde el punto inicial. – Peter

Cuestiones relacionadas