사원수를 오일러각 $(\theta_{pitch},\;\theta_{yaw},\;\theta_{roll})$ 을 나타내는Vector3
로 변환합니다. 결과는 out 에 담아 돌려줍니다.
Quaternion.toEuler(q)
Quaternion.toEuler(q, rotationOrder)
Quaternion.toEuler(q, rotationOrder, out)
q
rotationOrder
out
$$ q_{z}\cdot q_{y}\cdot q_{x} = (c_z,\;s_z\cdot\vec{Z})\cdot(c_y,\;s_y\cdot\vec{Y})\cdot(c_x,\;s_x\cdot\vec{X}) \\ $$
$$ (q_z\cdot q_y) = (c_z,\;s_z\cdot\vec{Z})\cdot(c_y,\;s_y\cdot\vec{Y}) \\
= (c_zc_y-s_zs_y\cdot(\vec{Z}\cdot\vec{Y}),\;\;s_zs_y\cdot(\vec{Z}\times\vec{Y})+(c_ys_z\cdot\vec{Z})+(c_zs_y\cdot\vec{Y})) \\
= (c_zc_y,\;\;(-s_zs_y\cdot\vec{X})+(c_ys_z\cdot\vec{Z})+(c_zs_y\cdot\vec{Y})) \\ $$
$$ (q_z\cdot q_y)\cdot q_x = (c_zc_y,\;\;(-s_zs_y\cdot\vec{X})+(c_ys_z\cdot\vec{Z})+(c_zs_y\cdot\vec{Y}))\cdot(c_x,\;s_x\cdot\vec{X}) \\ $$
$$ q.w = c_zc_yc_x +s_zs_ys_x\cdot(\vec{X}\cdot\vec{X})-c_ys_zs_x\cdot(\vec{Z}\cdot\vec{X})-c_zs_ys_x\cdot(\vec{Y}\cdot\vec{X}) \\
= c_zc_yc_x+s_zs_ys_x $$
$$ q.\vec{v} = -s_zs_ys_x\cdot(\vec{X}\times\vec{X}) + c_ys_zs_x\cdot(\vec{Z}\times\vec{X})+c_zs_ys_x\cdot(\vec{Y}\times\vec{X})+c_zc_ys_x\cdot\vec{X} -s_zs_yc_x\cdot\vec{X} + c_ys_zc_x\cdot\vec{Z} + c_zs_yc_x\cdot\vec{Y} \\
\;\\
= \vec{0} +c_ys_zs_x\cdot\vec{Y} -c_zs_ys_x\cdot\vec{Z} + c_zc_ys_x\cdot\vec{X} - s_zs_yc_x\cdot\vec{X}+c_ys_zc_x\cdot\vec{Z} + c_zs_yc_x\cdot\vec{Y} \\
\;\\
= \vec{(c_zc_ys_x-s_zs_yc_x,\;c_ys_zs_x+c_zs_yc_x,\;-c_zs_ys_x + c_ys_zc_x)} $$