您的位置:首页 > 其它

一般情况的三维旋转矩阵

2015-08-12 08:08 148 查看

旋转矩阵

在三维空间,有时需要计算一般位置的三维旋转矩阵。假设旋转轴的方向是(a,b,c)(a,b,c),旋转轴经过 (x,y,z)(x,y,z)点,反时针旋转角度为 θ\theta,则用齐次坐标表示的旋转矩阵是这样的:

直接用 LATEX\LaTeX 代码无法完整显示:

⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜a2+(b2+c2)cosθa2+b2+c2csinθa2+b2+c2√−ab(cosθ−1)a2+b2+c2−ac(cosθ−1)a2+b2+c2−bsinθa2+b2+c2√0−ab(cosθ−1)a2+b2+c2−csin(θ)a2+b2+c2√b2+(a2+c2)cos(θ)a2+b2+c2asinθa2+b2+c2√−bc(cosθ−1)a2+b2+c20bsinθa2+b2+c2√−ac(cosθ−1)a2+b2+c2−bc(cosθ−1)a2+b2+c2−asinθa2+b2+c2√c2+(a2+b2)cosθa2+b2+c202sinθ2((a2+b2+c2)(cy−bz)cosθ2+a2+b2+c2√(xb2−ayb+c(cx−az))sinθ2)(a2+b2+c2)3/22sinθ2((a2+b2+c2)(az−cx)cosθ2+a2+b2+c2√(ya2−bxa+c(cy−bz))sinθ2)(a2+b2+c2)3/22sinθ2((−a2−b2−c2)(ay−bx)cosθ2+a2+b2+c2√((a2+b2)z−c(ax+by))sinθ2)(a2+b2+c2)3/21⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟\left(
\begin{array}{cccc}
\frac{a^2+\left(b^2+c^2\right)\cos{\theta}}{a^2+b^2+c^2}&-\frac{ab(\cos{\theta}-1)}{a^2+b^2+c^2}-\frac{c\sin(\theta
)}{\sqrt{a^2+b^2+c^2}}&\frac{b\sin{\theta}}{\sqrt{a^2+b^2+c^2}}-\frac{ac(\cos{\theta}-1)}{a^2+b^2+c^2}&\frac{2\sin{\tfrac{\theta}{2}}\left(\left(a^2+b^2+c^2\right)(c\text{y}-b\text{z})\cos{\tfrac{\theta}{2}}+\sqrt{a^2+b^2+c^2}\left(\text{x}b^2-a\text{y}b+c(c\text{x}-a\text{z})\right)\sin{\tfrac{\theta}{2}}\right)}{\left(a^2+b^2+c^2\right)^{3/2}}\\
\frac{c\sin{\theta}}{\sqrt{a^2+b^2+c^2}}-\frac{ab(\cos{\theta}-1)}{a^2+b^2+c^2}&\frac{b^2+\left(a^2+c^2\right)\cos(\theta)}{a^2+b^2+c^2}&-\frac{bc(\cos{\theta}-1)}{a^2+b^2+c^2}-\frac{a\sin{\theta}}{\sqrt{a^2+b^2+c^2}}&\frac{2\sin{\tfrac{\theta}{2}}\left(\left(a^2+b^2+c^2\right)(a\text{z}-c\text{x})\cos{\tfrac{\theta}{2}}+\sqrt{a^2+b^2+c^2}\left(\text{y}a^2-b\text{x}a+c(c\text{y}-b\text{z})\right)\sin{\tfrac{\theta}{2}}\right)}{\left(a^2+b^2+c^2\right)^{3/2}}\\
-\frac{ac(\cos{\theta}-1)}{a^2+b^2+c^2}-\frac{b\sin{\theta}}{\sqrt{a^2+b^2+c^2}}&\frac{a\sin{\theta}}{\sqrt{a^2+b^2+c^2}}-\frac{bc(\cos{\theta}-1)}{a^2+b^2+c^2}&\frac{c^2+\left(a^2+b^2\right)\cos{\theta}}{a^2+b^2+c^2}&\frac{2\sin{\tfrac{\theta}{2}}\left(\left(-a^2-b^2-c^2\right)(a\text{y}-b\text{x})\cos{\tfrac{\theta}{2}}+\sqrt{a^2+b^2+c^2}\left(\left(a^2+b^2\right)\text{z}-c(a\text{x}+b\text{y})\right)\sin{\tfrac{\theta}{2}}\right)}{\left(a^2+b^2+c^2\right)^{3/2}}\\
0&0&0&1\\
\end{array}
\right)

图片显示:



变换形式,直接用 LATEX\LaTeX 代码无法完整显示:

⎡⎣⎢⎢⎢⎢⎢a2+(b2+c2)cosθab(1−cosθ)+ca2+b2+c2−−−−−−−−−−√sinθac(1−cosθ)−ba2+b2+c2−−−−−−−−−−√sinθ0ab(1−cosθ)−ca2+b2+c2−−−−−−−−−−√sinθb2+(a2+c2)cosθbc(1−cosθ)+aa2+b2+c2−−−−−−−−−−√sinθ0ac(1−cosθ)+ba2+b2+c2−−−−−−−−−−√sinθbc(1−cosθ)−aa2+b2+c2−−−−−−−−−−√sinθc2+(a2+b2)cosθ0\small
\left[
\begin{array}{ccc}
a^2+(b^2+c^2)\cos\theta & a b (1-\cos\theta)-c\sqrt{a^2+b^2+c^2}\sin\theta & ac(1-\cos\theta)+b\sqrt{a^2+b^2+c^2}\sin\theta \\
a b (1-\cos\theta)+ c\sqrt{a^2+b^2+c^2}\sin\theta & b^2+(a^2+c^2)\cos\theta & bc(1-\cos\theta)-a\sqrt{a^2+b^2+c^2}\sin\theta \\
ac(1-\cos\theta)-b\sqrt{a^2+b^2+c^2}\sin\theta & bc(1-\cos\theta)+a\sqrt{a^2+b^2+c^2}\sin\theta & c^2+(a^2+b^2)\cos\theta \\
0&0&0\\
\end{array}
\right.

((b2+c2)x−a(by+cz))(1−cosθ)+(cy−bz)a2+b2+c2−−−−−−−−−−√sinθ((a2+c2)y−b(ax+cz))(1−cosθ)+(az−cx)a2+b2+c2−−−−−−−−−−√sinθ(c(ax+by)−(a2+b2)z)(1−cosθ)+(bx−ay)a2+b2+c2−−−−−−−−−−√sinθa2+b2+c2⎤⎦⎥⎥⎥⎥⎥×1a2+b2+c2\small\left.
\begin{array}{c}
((b^2+c^2)x-a(by+cz))(1-\cos\theta)+(cy-bz)\sqrt{a^2+b^2+c^2}\sin\theta\\
((a^2+c^2)y-b(ax+cz))(1-\cos\theta)+(az-cx)\sqrt{a^2+b^2+c^2}\sin\theta\\
(c(ax+by)-(a^2+b^2)z)(1-\cos\theta)+(bx-ay)\sqrt{a^2+b^2+c^2}\sin\theta\\
a^2+b^2+c^2\\
\end{array}
\right]\times\dfrac{1}{a^2+b^2+c^2}

图片换行显示4×44\times 4矩阵之一:



图片换行显示4×44\times 4矩阵之二:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: