Articulo de referencia

Intersección línea-esfera

Las tres posibles intersecciones entre una línea y una esfera: 1. ninguna intersección 2. intersección de un punto 3. intersección de dos puntos En geometría analítica , una lín...

Las tres posibles intersecciones entre una línea y una esfera: 1. ninguna intersección 2. intersección de un punto 3. intersección de dos puntos

En geometría analítica , una línea y una esfera pueden intersecarse de tres maneras:

  1. ninguna intersección en absoluto,
  2. intersección en un solo punto, y
  3. intersección en dos puntos.

Los métodos para distinguir estos casos y determinar las coordenadas de los puntos en los casos posteriores son útiles en diversas circunstancias. Por ejemplo, es un cálculo común que se realiza durante el trazado de rayos . [ 1 ]

Cálculo mediante vectores en 3D

En notación vectorial , las ecuaciones son las siguientes:

Ecuación para una esfera

incógnitado2=r2{\displaystyle \left\Vert \mathbf {x} -\mathbf {c} \right\Vert ^{2}=r^{2}}
  • incógnita{\displaystyle \mathbf {x} } : puntos en la esfera
  • do{\displaystyle \mathbf {c} } : punto central
  • r{\displaystyle r} : radio de la esfera

Ecuación para una línea que comienza eno{\displaystyle \mathbf {o} }

incógnita=o+d{\displaystyle \mathbf {x} =\mathbf {o} +d\mathbf {u} }
  • incógnita{\displaystyle \mathbf {x} } : puntos en la línea
  • o{\displaystyle \mathbf {o} } : origen de la línea
  • d{\displaystyle d} : distancia desde el origen de la línea
  • {\displaystyle \mathbf {u} } : dirección de la línea (un vector distinto de cero)

Buscar puntos que estén en la línea y en la esfera significa combinar las ecuaciones y resolver parad{\displaystyle d}, que involucra el producto escalar de vectores:

Ecuaciones combinadas
o+ddo2=r2(o+ddo)(o+ddo)=r2{\displaystyle \left\Vert \mathbf {o} +d\mathbf {u} -\mathbf {c} \right\Vert ^{2}=r^{2}\Leftrightarrow (\mathbf {o} +d\mathbf {u} -\mathbf {c} )\cdot (\mathbf {o} +d\mathbf {u} -\mathbf {c} )=r^{2}}
Ampliado y reorganizado:
d2()+2d[(odo)]+(odo)(odo)r2=0{\displaystyle d^{2}(\mathbf {u} \cdot \mathbf {u} )+2d[\mathbf {u} \cdot (\mathbf {o} -\mathbf {c} )]+(\mathbf {o} -\mathbf {c} )\cdot (\mathbf {o} -\mathbf {c} )-r^{2}=0}
Ahora se puede observar la forma de una fórmula cuadrática . (Esta ecuación cuadrática es un ejemplo de la ecuación de Joachimsthal. [ 2 ] )
ad2+bd+do=0{\displaystyle ad^{2}+bd+c=0}
dónde
  • a==2{\displaystyle a=\mathbf {u} \cdot \mathbf {u} =\left\Vert \mathbf {u} \right\Vert ^{2}}
  • b=2[(odo)]{\displaystyle b=2[\mathbf {u} \cdot (\mathbf {o} -\mathbf {c} )]}
  • do=(odo)(odo)r2=odo2r2{\displaystyle c=(\mathbf {o} -\mathbf {c} )\cdot (\mathbf {o} -\mathbf {c} )-r^{2}=\left\Vert \mathbf {o} -\mathbf {c} \right\Vert ^{2}-r^{2}}
Simplificado
d=2[(odo)]±(2[(odo)])242(odo2r2)22{\displaystyle d={\frac {-2[\mathbf {u} \cdot (\mathbf {o} -\mathbf {c} )]\pm {\sqrt {(2[\mathbf {u} \cdot (\mathbf {o} -\mathbf {c} )])^{2}-4\left\Vert \mathbf {u} \right\Vert ^{2}(\left\Vert \mathbf {o} -\mathbf {c} \right\Vert ^{2}-r^{2})}}}{2\left\Vert \mathbf {u} \right\Vert ^{2}}}}
Tenga en cuenta que en el caso específico donde{\displaystyle \mathbf {u} }es un vector unitario y, por lo tanto,2=1{\displaystyle \left\Vert \mathbf {u} \right\Vert ^{2}=1}, podemos simplificar esto aún más a (escribiendo^{\displaystyle {\hat {\mathbf {u} }}}en lugar de{\displaystyle \mathbf {u} }para indicar un vector unitario):
=[^(odo)]2(odo2r2){\displaystyle \nabla =[{\hat {\mathbf {u} }}\cdot (\mathbf {o} -\mathbf {c} )]^{2}-(\left\Vert \mathbf {o} -\mathbf {c} \right\Vert ^{2}-r^{2})}
d=[^(odo)]±{\displaystyle d=-[{\hat {\mathbf {u} }}\cdot (\mathbf {o} -\mathbf {c} )]\pm {\sqrt {\nabla }}}
  • Si<0{\displaystyle \nabla <0}, entonces queda claro que no existen soluciones, es decir, la línea no interseca la esfera (caso 1).
  • Si=0{\displaystyle \nabla =0}, entonces existe exactamente una solución, es decir, la línea toca la esfera en un solo punto (caso 2).
  • Si>0{\displaystyle \nabla >0}Existen dos soluciones y, por lo tanto, la línea toca la esfera en dos puntos (caso 3).

Véase también

Referencias

  1. Eberly, David H. (2006). Diseño de motores de juegos 3D: un enfoque práctico para gráficos por computadora en tiempo real, 2.ª edición . Morgan Kaufmann. pág.  698. ISBN 0-12-229063-1.
  2. "Ecuación de Joachimsthal" .
Obtenido de " https://en.wikipedia.org/w/index.php?title=Line–sphere_intersection&oldid=1330580641 "