3 votos

Cómo calcular la distancia entre un punto y un objeto en el espacio 3d

Tengo un objeto en el espacio 3d creado a partir de puntos $P_i(x, y, z)$ a partir de la cual puedo crear triángulos, y necesito calcular la distancia desde el punto X a este objeto.

Trato de tomar 3 puntos de la menor distancia y calculo la altura del tetraedro creado a partir de estos 3 puntos y X pero esta no será la distancia del objeto.

Así que mi pregunta es cómo calcular esta distancia.

3voto

mona Puntos 38

No sé si esta es una solución correcta. Pero voy a hacer un intento.

Dejemos que $P_1$ , $P_2$ , $P_3$ sean tres puntos más cercanos a $X$ . Considere el plano $\pi$ que contiene $P_1$ , $P_2$ , $P_3$ .

Dejemos que $P$ sea la proyección ortogonal de $X$ en $\pi$ . Si $P$ está dentro del triángulo $P_1P_2P_3$ entonces la distancia es $PX$ Si no es así $\min(\mathrm{dist}(P_1,X),\mathrm{dist}(P_2,X),\mathrm{dist}(P_3,X))$ . Aquí hay una imagen, para aclarar

enter image description here

Bueno, cómo determinar que $P$ está dentro $P_1P_2P_3$ ? Sólo hay que comprobar la igualdad  $$ \mathrm{area}(P_1P_2P_3)= \mathrm{area}(PP_2P_3)+\mathrm{area}(P_1PP_3)+\mathrm{area}(P_1P_2P) $$

Para determinar la proyectación $P$ puede utilizar la siguiente fórmula $$ P=X+tN $$ donde $$ N=[P_3P_1,P_2P_1],\qquad t=\frac{\langle P_1-X,N\rangle}{\langle N,N\rangle} $$

2voto

bea Puntos 16

Utilice el Algoritmo GKJ .

Un buen tutorial en línea que incluye imágenes y fragmentos de código está aquí:

http://entropyinteractive.com/2011/04/gjk-algorithm/

Un buen vídeo explicativo del concepto está aquí:

http://mollyrocket.com/849

El principio básico es que la relación espacial entre 2 objetos convexos se puede estudiar considerando las propiedades de sus diferencia de minkowski .

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