Estimada comunidad de Math Stackexchange, ¿cómo puedo calcular $R$ matriz de rotación en esta ecuación ( $P=Rp+t$ )? (Véase la figura. Debajo de la figura hay una explicación más detallada).
La ecuación es para la transformación de $p=p_1,p_2,p_3$ puntos. $p$ está en el marco de referencia Oxyz (local). $p$ consta de 3 puntos de $p_1,p_2,p_3$ . Y $p_1,p_2,p_3$ cada uno tiene 3 coordenadas de $x,y,z$ . Por lo tanto, p es una matriz de 3x3. $p=\begin{bmatrix} p_{1x} & p_{2x} & p_{3x} \\ p_{1y} & p_{2y} & p_{3y} \\ p_{1z} & p_{2z} & p_{3z} \end{bmatrix}$
$t$ es la distancia entre el marco de referencia Oxyz(local) y OXYZ(global). $t=\begin{bmatrix} t_x \\ t_y \\ t_z \end{bmatrix}$ . Para poder realizar operaciones matriciales, podemos tomar $t$ como $t=\begin{bmatrix} t_x&t_x&t_x \\ t_y&t_y&t_y \\ t_z&t_z&t_z \end{bmatrix}$
$P$ son las coordenadas de p_1, p_2 y p_3 en el marco de referencia global OXYZ. $P$ es una matriz de 3x3. $P=\begin{bmatrix} P_{1x} & P_{2x} & P_{3x} \\ P_{1y} & P_{2y} & P_{3y} \\ P_{1z} & P_{2z} & P_{3z} \end{bmatrix}$
$R$ es la matriz de rotación (ortogonal). $R=\begin{bmatrix} r_{11}&r_{12}&r_{13} \\ r_{21}&r_{22}&r_{23} \\ r_{31}&r_{32}&r_{33} \end{bmatrix}$
Por lo tanto, en general: $P=Rp+t$
$\begin{bmatrix} P_{1x} & P_{2x} & P_{3x} \\ P_{1y} & P_{2y} & P_{3y} \\ P_{1z} & P_{2z} & P_{3z} \end{bmatrix} = \begin{bmatrix} r_{11}&r_{12}&r_{13} \\ r_{21}&r_{22}&r_{23} \\ r_{31}&r_{32}&r_{33} \end{bmatrix}.\begin{bmatrix} p_{1x} & p_{2x} & p_{3x} \\ p_{1y} & p_{2y} & p_{3y} \\ p_{1z} & p_{2z} & p_{3z} \end{bmatrix}+\begin{bmatrix} t_x&t_x&t_x \\ t_y&t_y&t_y \\ t_z&t_z&t_z \end{bmatrix}$
Podemos derivar la siguiente forma de la ecuación de $P=Rp+t$
$(P-t)=R.p$
$(P-t).p^{-1}=R$
$p$ es una matriz arbitraria, y no siempre se puede tomar su inversa. No puedo tomar la inversa de $p$ si el último crudo de $p$ es cero.
Veamos un ejemplo para que quede claro: $P=Rp+t$
$p_1=(1,1,0)$ , $p_2=(2,4,0)$ , $p_3=(5,10,0)$ son las coordenadas de tres puntos. Así que en forma de matriz: $p=\begin{bmatrix} 1 & 2 & 5 \\ 1 & 4 & 10 \\ 0 & 0 & 0 \end{bmatrix}$
$t=\begin{bmatrix} 0 \\ 0 \\ 50 \end{bmatrix}$
$\alpha=10^\circ $ (rotación alrededor del eje x)
$\beta=15^\circ $ (rotación alrededor del eje y)
$\gamma=20^\circ $ (rotación alrededor del eje z)
$R_x=\begin{bmatrix} 1 & 0 & 0 \\ 0 & cos(\alpha) & -sin(\alpha) \\ 0 & sin(\alpha) & cos(\alpha) \end{bmatrix}$
$R_y=\begin{bmatrix} cos(\beta) & 0 & sin(\beta) \\ 0 & 1 & 0 \\ -sin(\beta) & 0 & cos(\beta) \end{bmatrix}$
$R_x=\begin{bmatrix} cos(\gamma) & -sin(\gamma) & 0 \\ sin(\gamma) & cos(\gamma) & 0 \\ 0 & 0 & 1 \end{bmatrix}$
$R=R_z.R_y.R_x$
Por lo tanto, para $\alpha=10^\circ $ , $\beta=15^\circ $ , $\gamma=20^\circ $ la matriz de rotación es :
$R=\begin{bmatrix} 0.9077 & -0.2946 & 0.2989 \\ 0.3304 & 0.9408 & -0.0760 \\ -0.2588 & 0.1677 & 0.9513 \end{bmatrix}$
$P=R.p+t$
$P=$$\begin {bmatrix} 0.9077 & -0.2946 & 0.2989 \\ 0.3304 & 0.9408 & -0.0760 \\ -0.2588 & 0.1677 & 0.9513 \end {bmatrix} $$.\begin{bmatrix} 1 & 2 & 5 \\ 1 & 4 & 10 \\ 0 & 0 & 0 \end{bmatrix}$ $+\begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 50 & 50 & 50 \end{bmatrix}$
$P=\begin{bmatrix} 0.6131 & 0.6370 & 1.5925 \\ 1.2712 & 4.4239 & 11.0597 \\ 49.9089 & 50.1533 & 50.3832 \end{bmatrix}$
$p_1=(0.6131,1.2712,49.90)$ , $p_2=(0.6370,4.4239,50.1533)$ , $p_3=(1.5925,11.0597,50.3832)$ .
Ahora tomemos el ejemplo opuesto con los mismos valores para encontrar $R$ con los valores de $P,p,t$ como se sabe.
$P=R.p+t$
$\begin{bmatrix} 0.6131 & 0.6370 & 1.5925 \\ 1.2712 & 4.4239 & 11.0597 \\ 49.9089 & 50.1533 & 50.3832 \end{bmatrix}=R.$ $\begin{bmatrix} 1 & 2 & 5 \\ 1 & 4 & 10 \\ 0 & 0 & 0 \end{bmatrix}+$ $\begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 50 & 50 & 50 \end{bmatrix}$
¿Podría encontrar $R$ aquí en la ecuación anterior?
Para repetir la formulación:
$P=Rp+t$
$(P-t)=Rp$
$(P-t).p^{-1}=R.p.p^{-1}$
$(P-t).p^{-1}=R$
Para la inversa de $p$ (donde $p$ es $\begin{bmatrix} 1 & 2 & 5 \\ 1 & 4 & 10 \\ 0 & 0 & 0 \end{bmatrix}$ ), no puedo tomar la inversa de $p$ .
Aquí estoy atascado. Es interesante para mí, porque para la condición de que $R,p,t$ es conocido, $P$ se puede calcular (9 elementos desconocidos en la matriz 3x3 de $P$ ). Sin embargo, para la condición de que $P,p,t$ es conocido, estoy teniendo problemas para calcular $R$ (9 elementos desconocidos en la matriz 3x3 de $R$ ). Debería ser capaz de calcular el equivalente $R$ para ese problema inverso.
¿Tiene alguna idea sobre cómo encontrar $R$ ¿matriz de rotación? Se agradecerá cualquier sugerencia.
Gracias de antemano.