Loading [MathJax]/jax/element/mml/optable/GeneralPunctuation.js

4 votos

Encontrar el punto en el espacio 3D basado en el avión y el punto conocido

Yo estoy luchando con el dibujo de la geometría en 3D de espacios a través de OpenGL. Mi actual tarea es encontrar las coordenadas del punto.

enter image description here

Supongamos que tenemos tales datos de entrada:

  1. Puntos a, b y k definen un plano.
  2. Punto de c pone en plano definido con a, b y k.
  3. El ángulo entre el ab bc β (color amarillo en la imagen).
  4. La longitud de la bc es de un valor conocido.

¿Cómo puedo encontrar las coordenadas de c?

1voto

JohnJohnGa Puntos 111

Inténtelo:

Recordemos que cb=BC, ab=BA y ak=KA.

Deje λ μ números reales tales que: cb=λ(ab)+μ(ak)

Definir: θ2=arccos(bk,ba p_1=\|cb\|\|ab\| \cos \beta p_2=p_1+\|cb\|\|bk\| \cos (\pi- (\theta_2 + \beta)) D = \begin{array}{|cc|} \langle ab,ab \rangle & \langle ak,ab \rangle \\ \langle ak,ab \rangle & \langle ak,ak \rangle \\ \end{array}

D_{\lambda} = \begin{array}{|cc|} p_1 & \langle ak,ab \rangle \\ p_2 & \langle ak,ak \rangle \\ \end{array}

D_{\mu} = \begin{array}{|cc|} \langle ab,ab \rangle & p_1 \\ \langle ak,ab \rangle &p_2 \\ \end{array}

Calcular el \lambda\mu:

\lambda=\frac{D_{\lambda}}{D} \mu=\frac{D_{\mu}}{D}

Un posible punto de C puede ser determinada por: C=B-\lambda(ab)-\mu(ak)

0voto

felixthehat Puntos 557

Usted necesita encontrar las coordenadas c_x,c_y,c_z que satisfacer

\left|\begin{matrix}1&c_x&c_y&c_z\\1&a_x&a_y&a_z\\1&b_x&b_y&b_z\\1&k_x&k_y&k_z\end{matrix}\right|=0,

(a_x-b_x)(c_x-b_x)+(a_y-b_y)(c_y-b_y)+(a_z-b_z)(c_z-b_z)=rd\cos\beta,

(c_x-b_x)^2+(c_y-b_y)^2+(c_z-b_z)^2=r^2,

donde d es la distancia entre elab, que puede ser fácilmente calculada, y r es la distancia entre elbc, es decir, la longitud de la bc. La primera ecuación se asegura de que el punto de c se encuentra en el plano definido por a, b y k, la segunda ecuación nos da el ángulo recto entre abbc, y la tercera ecuación es necesaria para satisfacer la restricción de distancia. No sé si hay una simple solución analítica de este sistema, pero de una solución numérica puede ser bastante fácil de obtener, en mathematica, por ejemplo.

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