4 votos

Encuentra la longitud de la intersección entre una esfera y 2 puntos

Tengo una esfera y 2 puntos. Los puntos (x, y, z) coordenadas y la esfera está definido por su centro (0,0,0) y radio R. Estoy tratando de encontrar la longitud entre los 2 puntos que cruza la esfera. ¿Cómo puedo obtener la ecuación para describir esta longitud?

Ver a continuación, mi objetivo es longitud, L:

enter image description here

1voto

Rutger Moody Puntos 91

La esfera es: $ x^2 + y^2 + z^2 =R^2 $ .

La línea es:
$ x=x \\ y=x\cdot\frac{y_2-y_1}{x_2-x_1} -\frac{x_1(y_2-y_1)}{x_2-x_1} +y_1 =:r_yx+y_0 \\ z=x\cdot\frac{ z_2-z_1 }{x_2-x_1} -\frac{x_1(z_2-z_1)}{x_2-x_1} +z_1 =:r_zx+z_0$.

La esfera y la línea se cruzan cuando:

$ x^2 + (r_yx+y_0)^2 + (r_zx+z_0)^2 =R^2 \implica \\ x^2\cdot(1+r_y^2+ r_z^2) + x\cdot(2r_yy_0+2r_zz_0)+(y_0^2+z_0^2-R^2)=0\\ \\ $

La solución para $x$ : $$ x=\frac{ -(2r_yy_0+2r_zz_0) \pm \sqrt{(2r_yy_0+2r_zz_0)^2-4(1+r_y^2+ r_z^2)(y_0^2+z_0^2-R^2)}}{2(1+r_y^2+ r_z^2)} $$ Así que para la intersección: $$ (\Delta x)^2 = \frac{(2r_yy_0+2r_zz_0)^2-4(1+r_y^2+ r_z^2)(y_0^2+z_0^2-R^2)}{(1+r_y^2+ r_z^2)^2} \\ (\Delta y)^2 =(\Delta x)^2(\frac{y_2-y_1}{x_2-x_1})^2\\ (\Delta z)^2 =(\Delta x)^2(\frac{z_2-z_1}{x_2-x_1})^2\\ $$ La longitud del segmento de línea es: $$ \Delta x \cdot \sqrt{1 +(\frac{y_2-y_1}{x_2-x_1})^2 + (\frac{z_2-z_1}{x_2-x_1})^2} = \\ \sqrt{ \frac{(2r_yy_0+2r_zz_0)^2-4(1+r_y^2+ r_z^2)(y_0^2+z_0^2-R^2)}{(1+r_y^2+ r_z^2)^2}}\cdot\sqrt{1 +r_y^2 + r_z^2}= $$

$$ 2\cdot\sqrt{ \frac{(r_yy_0+r_zz_0)^2-(1+r_y^2+ r_z^2)(y_0^2+z_0^2-R^2)}{(1+r_y^2+ r_z^2)}} $$

0voto

G Cab Puntos 51

Vamos a llamar a los dados dos puntos (vectores) como $$ P_{\,1} = \left( {x_{\,1} ,y_{\,1} ,z_{\,1} } \right)\quad P_{\,2} = \left( {x_{\,1} ,y_{\,1} ,z_{\,1} } \right) $$ a continuación, un punto genérico $P$ en la línea que conecta los dos puntos será dada por $$ P \en \overline {P_{\,1} P_{\,2} } \quad \Rightarrow \quad P = t\,P_{\,1} + \left( {1 - t} \right)P_{\,2} $$ y al $0 \leqslant t \leqslant 1$ el punto se interna en el segmento, y otra externa.
El cuadrado del módulo de $P$ representa el cuadrado de su distancia desde el origen y que está dado por el producto escalar por sí mismo: $$ \left| P \right|^{\,2} = P \cdot P = t^{\,2} \,P_{\,1} \cdot P_{\,1} + \left( {1 - t} \right)^{\,2} P_{\,2} \cdot P_{\,2} + 2t\left( {1 - t} \right)P_{\,2} \cdot P_{\,1} $$ Los diversos productos de puntos son escalares, y bastante simple de calcular, y tiene una sencilla ecuación cuadrática.

Desde aquí se puede seguir dos enfoques posibles:

  1. Encontrar los puntos y, a continuación, su distancia
    El punto de $P$ está restringido en la línea, a continuación, a constained a mentir sobre la esfera, justo equiparar $\left| P \right|^{\,2} $$R^2$, y resolver para $t$.
    Los valores obtenidos se indicará si los puntos son internos/externos para el segmento. Los dos puntos de intersección será entonces $$ P_{a,\,b} = t_{a,\,b} \,P_{\,1} + \left( {1 - t_{a,\,b} } \right)P_{\,2} $$ y la distancia le siguen, obviamente.
  2. Encontrar la distancia y, a continuación, los puntos
    Ya que su objetivo es la longitud del segmento, entonces usted puede obtener más rápidamente derivar la expresión de $\left| P \right|^{\,2}$ con respecto al $t$ y encontrar el valor de $t_0$ que se minimice. $$ \begin{gathered} 0 = \frac{d} {{dt}}\left| P \right|^{\,2} = 2P_{\,1} \cdot P_{\,1} \;t - 2\left( {1 - t} \right)P_{\,2} \cdot P_{\,2} + \left( {2 - 4t} \right)P_{\,2} P_{\,1} \hfill \\ \Rightarrow \left( {P_{\,1} \cdot P_{\,1} + P_{\,2} \cdot P_{\,2} - 2P_{\,2} P_{\,1} } \right)\;t - P_{\,2} \cdot P_{\,2} + P_{\,2} P_{\,1} = 0 \hfill \\ \end{reunieron} $$ Esto se corresponde con el punto en el segmento que está más cerca del origen. Por lo tanto $$ R^{\,2} - \left| P \right|^{\,2} (t_{\,0} ) = \left( {L/2} \right)^{\,2} $$ y puede omitir la solución de la ecuación cuadrática.
    A continuación, para encontrar los puntos de intersección, si es necesario, considere la posibilidad de que $t$ como se definió anteriormente es la medida de la distancia relativa (es decir, "con el signo") de el punto de $P$ $P1$ a lo largo de la línea, en la dirección de la $P_1$$P_2$, y normalizada vs la distancia absoluta entre el$P_2$$P_1$.
    Por lo tanto $$ P_{a,\,b} = P\left( {t_{\,0} \pm \frac{{L/2}} {{\left| {P_{\,2} - P_{\,1} } \right|}}} \right) $$

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