8 votos

¿Cómo encontrar la distancia entre un punto y la línea que une dos puntos de una esfera?

¿Cómo puedo calcular la distancia entre la línea que une los dos puntos de una superficie esférica y otro punto de la misma superficie? He ilustrado mi problema en la siguiente imagen.

Sphere

En la ilustración anterior, los puntos A, B y X se encuentran en una superficie esférica, necesito encontrar la distancia entre los puntos (A,B) y X. No soy un tipo de matemáticas. Si es posible, por favor, ilustre la solución como los no matemáticos podrían entender. Gracias.

3voto

Shabaz Puntos 403

Hay una fórmula detallada en Wikipedia con una advertencia sobre los errores de redondeo y versiones alternativas para evitarlos. Esto te da la distancia entre dos puntos cualesquiera, digamos A y X o B y X. No estoy seguro de lo que quieres decir con la distancia de (A,B) a X a menos que sea esto.

1voto

Justin Walgran Puntos 552

Esto supone que todo está en la superficie de la esfera. Además, asumo que la esfera tiene un radio $1$ .

Cambia las coordenadas para que $A$ y $B$ están ambos en el ecuador de la esfera. Para definirlo, mueva $A$ a $(1,0,0)$ y mover $B$ a $(\cos \theta, \sin \theta, 0)$ donde $\theta$ es el ángulo entre los vectores desde el centro de la esfera hasta $A$ y a $B$ . Se trata de una transformación lineal.

Entonces lo que te importa es la latitud de $X$ . Si $X$ está en el sector de la esfera inmediatamente al norte o al sur de la línea $AB$ entonces la respuesta es simplemente $2\pi \phi$ donde $\phi$ es la latitud de $X$ . Si $X$ no está en ese sector, entonces la respuesta es sólo la distancia a cualquiera de los dos $A$ o $B$ lo que esté más cerca.

1voto

Alex Cardo Puntos 41

La pregunta es un poco ambigua: las tres respuestas anteriores utilizan tres interpretaciones diferentes. Si el PO quiere la distancia de la superficie del punto $X$ a la línea geodésica $\overleftrightarrow{AB}$ La respuesta es sencilla. Si la distancia deseada está entre $X$ y el segmento $\overline{AB}$ se requiere un poco más de trabajo.

Utilizando la longitud ( $\theta$ ) y la latitud ( $\phi$ ), dejemos que $A=(\theta_A, \phi_A)$ , $B=(\theta_B, \phi_B)$ y $X=(\theta_X, \phi_X)$ . Los vectores de dirección de estos puntos son $$\hat A = (\cos \phi_A \cos \theta_A, \cos \phi_A \sin \theta_A, \sin \phi_A),$$ $$ \hat B = (\cos \phi_B \cos \theta_B, \cos \phi_B \sin \theta_B, \sin \phi_B), $$ $$\hat X = (\cos \phi_X \cos \theta_X, \cos \phi_X \sin \theta_X, \sin \phi_X).$$

Dejemos que $\Phi$ sea la distancia en la esfera unitaria entre $\hat X$ y la línea geodésica que pasa por $\hat A$ y $\hat B$ . Imagina el avión $\mathcal{P}$ de paso $\hat A$ , $\hat B$ y el origen, que corta la esfera unitaria por la mitad. Entonces la distancia euclidiana de $\hat X$ desde el avión $\mathcal{P}$ es $\sin \Phi$ . Ahora dejemos que $\hat n$ sea un vector normal unitario para $\mathcal{P}$ y tenemos

$$\hat n = \hat A \times \hat B$$ $$\sin \Phi = | \hat n \cdot \hat X |$$

Así, si el radio de la esfera original es $R$ entonces la distancia de la superficie del punto $X$ a la línea geodésica $\overleftrightarrow{AB}$ es $R \Phi$ .

Para determinar la distancia al segmento $\overline{AB}$ necesitamos determinar si el punto de la línea $\overleftrightarrow{ A B}$ que $ X$ está más cerca es entre $A$ y $B$ . Si el punto más cercano está entre $A$ y $B$ entonces la distancia superficial al segmento es $R \Phi$ . En caso contrario, la distancia al segmento es la distancia al punto final más cercano, que se resuelve mejor mediante los métodos descritos en el Artículo de Wikipedia referenciado por Ross Millikan. Una forma de hacer esta determinación es encontrar el punto $\hat{X}_{\textrm{proj}}$ la proyección de $\hat X$ en el plano $\mathcal{P}$ ,

$$\hat{X}_{\textrm{proj}} = \hat X - (\hat n \cdot \hat X) \hat n,$$

y luego normalizar $\hat{X}_{\textrm{proj}}$ ,

$$\hat x = \frac{\hat{X}_{\textrm{proj}} }{| \hat{X}_{\textrm{proj}} |},$$

Así que determinar si el punto de la línea $\overleftrightarrow{AB}$ que $X$ está más cerca es entre $A$ y $B$ se reduce a determinar si $\hat x$ está entre $\hat A$ y $\hat B$ .

Consideremos ahora el punto medio de $\hat A$ y $\hat B$ ,

$$M=\frac{\hat A + \hat B}{2}$$

Si la proyección de $\hat x$ en el rayo $\overrightarrow{OM}$ está más lejos que la proyección de $\hat A$ o $\hat B$ entonces $\hat x$ está entre $\hat A$ y $\hat B$ es decir, si $\; \hat x \cdot M > \hat A \cdot M \; \; (=\hat B \cdot M)$ entonces $\hat x$ está entre $\hat A$ y $\hat B$ Si no es así, no.

0voto

please delete me Puntos 1287

Asumiendo que te refieres a la línea geodésica $AB$ .
Una pista: Calcular el ángulo $\theta =\angle XCP$ donde $P$ es un punto de la línea y $C$ es el centro de la esfera. Por ejemplo, con $\cos \theta =\frac{\vec{CX}\cdot \vec{CP}}{|\vec{CX}|\cdot |\vec{CP}|}=\frac{\vec{CX}\cdot \vec{CP}}{r^2}$ , donde $r$ es la longitud del radio de la esfera y $\vec{CX}, \vec{CP}$ son vectores en $\mathbb{R}^3$ . Este ángulo es proporcional a la distancia geodésica entre $P$ y $X$ .

Lo que tienes que hacer entonces, es encontrar el punto $P$ para el que el ángulo es más pequeño.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X