通用旋转变换与罗德里格斯公式#
1 通用旋转变换的核心思路#
通用旋转变换(绕任意轴旋转)的本质是“坐标转换+标准旋转+逆转换”。通过构建过渡坐标系\( \{C\} \),将“绕任意轴\( f \)旋转”转化为“绕\( \{C\} \)的\( z \)轴旋转”(标准旋转),再通过坐标系转换还原回原参考坐标系\( \{A\} \),最终实现复杂旋转的简化计算。
2 问题背景与符号规范#
2.1 问题背景#
基础旋转仅涉及“绕通过原点的标准坐标轴(\( x/y/z \)轴)旋转”,旋转矩阵形式简单(如绕\( z \)轴旋转矩阵\( R_z(\theta) \))。但实际场景中常需绕任意通过原点的单位轴\( \boldsymbol{f} = [f_x, f_y, f_z]^T \) 旋转\( \theta \)角,直接推导该旋转矩阵难度大,通用旋转变换即为此问题而生。
2.2 符号规范#
旋转矩阵\( \boldsymbol{^A R_C} \):表示“从坐标系\( \{C\} \)到坐标系\( \{A\} \)的旋转矩阵”。若点\( P \)在\( \{C\} \)中的坐标为\( \boldsymbol{^C p} \),则其在\( \{A\} \)中的坐标为\( \boldsymbol{^A p} = \boldsymbol{^A R_C} \cdot \boldsymbol{^C p} \)。
正交矩阵性质:旋转矩阵为正交矩阵,其逆等于转置,即\( \boldsymbol{^C R_A} = (\boldsymbol{^A R_C})^T \),且满足\( \boldsymbol{^A R_C} \cdot (\boldsymbol{^A R_C})^T = \boldsymbol{I} \)(\( \boldsymbol{I} \)为3×3单位矩阵)。
3 核心步骤:过渡坐标系\( \{C\} \)的搭桥作用#
通用旋转变换通过“3步转化”实现复杂旋转的简化,具体流程如下:
构建过渡坐标系\( \{C\} \)
令\( \{C\} \)的\( z \)轴与任意旋转轴\( \boldsymbol{f} \)重合(即\( \boldsymbol{z}_C = \boldsymbol{f} \)),\( x \)轴\( \boldsymbol{x}_C \)、\( y \)轴\( \boldsymbol{y}_C \)为垂直于\( \boldsymbol{f} \)的正交单位矢量(满足右手定则)。
实操构造方法:任选不与\( \boldsymbol{f} \)平行的向量(如\( \boldsymbol{e}_x = [1,0,0]^T \)),若\( \boldsymbol{f} \)不平行于\( \boldsymbol{e}_x \),则\( \boldsymbol{x}_C = \frac{\boldsymbol{e}_x \times \boldsymbol{f}}{\|\boldsymbol{e}_x \times \boldsymbol{f}\|} \),再令\( \boldsymbol{y}_C = \boldsymbol{f} \times \boldsymbol{x}_C \),即可构成右手正交基。转化为绕\( \{C\} \)\( z \)轴旋转
绕\( \boldsymbol{f} \)旋转\( \theta \)角,等价于绕\( \{C\} \)的\( z \)轴旋转\( \theta \)角(因\( \boldsymbol{f} = \boldsymbol{z}_C \)),此步骤可直接使用熟悉的绕\( z \)轴旋转矩阵\( R_z(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} \)。还原回原坐标系\( \{A\} \)
通过\( \{C\} \)与\( \{A\} \)的坐标转换,将绕\( \{C\} \)\( z \)轴旋转的结果映射回\( \{A\} \),最终得到绕\( \boldsymbol{f} \)旋转的矩阵。
4 数学推导:从通用变换到罗德里格斯公式#
4.1 过渡坐标系与原坐标系的关系#
设\( \{C\} \)的3个轴在\( \{A\} \)中的单位矢量为\( \boldsymbol{x}_C, \boldsymbol{y}_C, \boldsymbol{z}_C \)(\( \boldsymbol{z}_C = \boldsymbol{f} \)),则\( \{C\} \)相对于\( \{A\} \)的旋转矩阵为:
\( \boldsymbol{^A R_C} = \begin{bmatrix} \boldsymbol{x}_C & \boldsymbol{y}_C & \boldsymbol{z}_C \end{bmatrix} = \begin{bmatrix} x_{Cx} & y_{Cx} & f_x \\ x_{Cy} & y_{Cy} & f_y \\ x_{Cz} & y_{Cz} & f_z \end{bmatrix} \)
其转置(即\( \{A\} \)到\( \{C\} \)的旋转矩阵)为:
\( \boldsymbol{^C R_A} = (\boldsymbol{^A R_C})^T = \begin{bmatrix} \boldsymbol{x}_C^T \\ \boldsymbol{y}_C^T \\ \boldsymbol{z}_C^T \end{bmatrix} = \begin{bmatrix} x_{Cx} & x_{Cy} & x_{Cz} \\ y_{Cx} & y_{Cy} & y_{Cz} \\ f_x & f_y & f_z \end{bmatrix} \)
4.2 绕\( \boldsymbol{f} \)旋转的等价转换#
对空间任意点\( P \),设其在\( \{A\} \)中的坐标为\( \boldsymbol{^A p} \),求旋转后坐标\( \boldsymbol{^A p'} \)的步骤如下:
步骤1:将\( \boldsymbol{^A p} \)转换到\( \{C\} \):\( \boldsymbol{^C p} = \boldsymbol{^C R_A} \cdot \boldsymbol{^A p} \)
步骤2:在\( \{C\} \)中绕\( z \)轴旋转\( \theta \):\( \boldsymbol{^C p'} = R_z(\theta) \cdot \boldsymbol{^C p} \)
步骤3:将\( \boldsymbol{^C p'} \)转换回\( \{A\} \):\( \boldsymbol{^A p'} = \boldsymbol{^A R_C} \cdot \boldsymbol{^C p'} \)
合并得:\( \boldsymbol{^A p'} = \boldsymbol{^A R_C} \cdot R_z(\theta) \cdot \boldsymbol{^C R_A} \cdot \boldsymbol{^A p} \),因此绕\( \boldsymbol{f} \)旋转的通用矩阵为:
\( \boxed{R(\boldsymbol{f}, \theta) = \boldsymbol{^A R_C} \cdot R_z(\theta) \cdot (\boldsymbol{^A R_C})^T} \)
4.3 关键化简:消去过渡坐标系冗余参数#
4.3.1 \( R_z(\theta) \)的分解(基于正交基性质)#
因\( \boldsymbol{x}_C, \boldsymbol{y}_C, \boldsymbol{z}_C \)为标准正交基,满足\( \boldsymbol{x}_C\boldsymbol{x}_C^T + \boldsymbol{y}_C\boldsymbol{y}_C^T + \boldsymbol{z}_C\boldsymbol{z}_C^T = \boldsymbol{I} \)(即\( \boldsymbol{x}_C\boldsymbol{x}_C^T + \boldsymbol{y}_C\boldsymbol{y}_C^T = \boldsymbol{I} - \boldsymbol{z}_C\boldsymbol{z}_C^T \))。
将\( R_z(\theta) \)用正交基投影矩阵表示:
\( R_z(\theta) = \cos\theta \cdot (\boldsymbol{x}_C\boldsymbol{x}_C^T + \boldsymbol{y}_C\boldsymbol{y}_C^T) + \sin\theta \cdot (\boldsymbol{y}_C\boldsymbol{x}_C^T - \boldsymbol{x}_C\boldsymbol{y}_C^T) + \boldsymbol{z}_C\boldsymbol{z}_C^T \)
代入\( \boldsymbol{x}_C\boldsymbol{x}_C^T + \boldsymbol{y}_C\boldsymbol{y}_C^T = \boldsymbol{I} - \boldsymbol{z}_C\boldsymbol{z}_C^T \),化简得:
\( R_z(\theta) = \cos\theta \cdot \boldsymbol{I} + (1 - \cos\theta) \cdot \boldsymbol{z}_C\boldsymbol{z}_C^T + \sin\theta \cdot (\boldsymbol{y}_C\boldsymbol{x}_C^T - \boldsymbol{x}_C\boldsymbol{y}_C^T) \tag{1} \)
4.3.2 代入通用矩阵并化简(修正叉积矩阵变换性质)#
将式(1)代入\( R(\boldsymbol{f}, \theta) = \boldsymbol{^A R_C} \cdot R_z(\theta) \cdot (\boldsymbol{^A R_C})^T \),结合正交矩阵对叉积矩阵的共轭变换性质(而非“不变性”):
若\( R \)为旋转矩阵,则\( R [\boldsymbol{v}]_\times R^T = [R \boldsymbol{v}]_\times \),其中\( [\boldsymbol{v}]_\times \)为\( \boldsymbol{v} \)的叉积反对称矩阵(定义:\( [\boldsymbol{v}]_\times \cdot \boldsymbol{u} = \boldsymbol{v} \times \boldsymbol{u} \))。
逐项化简:
第一项:\( \boldsymbol{^A R_C} \cdot (\cos\theta \cdot \boldsymbol{I}) \cdot (\boldsymbol{^A R_C})^T = \cos\theta \cdot (\boldsymbol{^A R_C} \cdot (\boldsymbol{^A R_C})^T) = \cos\theta \cdot \boldsymbol{I} \tag{2} \)
第二项:\( \boldsymbol{^A R_C} \cdot [(1 - \cos\theta) \cdot \boldsymbol{z}_C\boldsymbol{z}_C^T] \cdot (\boldsymbol{^A R_C})^T = (1 - \cos\theta) \cdot (\boldsymbol{^A R_C} \boldsymbol{z}_C) \cdot (\boldsymbol{^A R_C} \boldsymbol{z}_C)^T \)。因\( \boldsymbol{z}_C = \boldsymbol{f} \)且\( \boldsymbol{^A R_C} \boldsymbol{z}_C = \boldsymbol{z}_C \),故该项为\( (1 - \cos\theta) \cdot \boldsymbol{f}\boldsymbol{f}^T \tag{3} \)
第三项:\( \boldsymbol{^A R_C} \cdot [\sin\theta \cdot (\boldsymbol{y}_C\boldsymbol{x}_C^T - \boldsymbol{x}_C\boldsymbol{y}_C^T)] \cdot (\boldsymbol{^A R_C})^T \)。根据向量恒等式,\( \boldsymbol{y}_C\boldsymbol{x}_C^T - \boldsymbol{x}_C\boldsymbol{y}_C^T = [\boldsymbol{z}_C]_\times = [\boldsymbol{f}]_\times \);结合共轭变换性质,\( \boldsymbol{^A R_C} [\boldsymbol{f}]_\times (\boldsymbol{^A R_C})^T = [\boldsymbol{^A R_C} \boldsymbol{f}]_\times = [\boldsymbol{f}]_\times \),故该项为\( \sin\theta \cdot [\boldsymbol{f}]_\times \tag{4} \)
4.3.3 合并得到罗德里格斯公式#
将式(2)(3)(4)相加,最终绕任意轴\( \boldsymbol{f} \)旋转\( \theta \)的通用公式(罗德里格斯公式)为:
\( \boxed{R(\boldsymbol{f}, \theta) = \cos\theta \cdot \boldsymbol{I} + (1 - \cos\theta) \cdot \boldsymbol{f}\boldsymbol{f}^T + \sin\theta \cdot [\boldsymbol{f}]_\times} \)
其中:
\( \boldsymbol{f}\boldsymbol{f}^T \):3×3外积矩阵(投影到\( \boldsymbol{f} \)轴方向),形式为\( \begin{bmatrix} f_x^2 & f_x f_y & f_x f_z \\ f_y f_x & f_y^2 & f_y f_z \\ f_z f_x & f_z f_y & f_z^2 \end{bmatrix} \)
\( [\boldsymbol{f}]_\times \):3×3叉积反对称矩阵,形式为\( \begin{bmatrix} 0 & -f_z & f_y \\ f_z & 0 & -f_x \\ -f_y & f_x & 0 \end{bmatrix} \)
5 验证:通用公式退化为基础旋转#
以“绕\( x \)轴旋转”为例验证公式正确性:
令\( \boldsymbol{f} = [1, 0, 0]^T \)(\( x \)轴单位矢量),则\( \boldsymbol{f}\boldsymbol{f}^T = \begin{bmatrix}1&0&0\\0&0&0\\0&0&0\end{bmatrix} \),\( [\boldsymbol{f}]_\times = \begin{bmatrix}0&0&0\\0&0&-1\\0&1&0\end{bmatrix} \)。
代入罗德里格斯公式:
\( R(\boldsymbol{f}, \theta) = \cos\theta \cdot \boldsymbol{I} + (1 - \cos\theta) \cdot \begin{bmatrix}1&0&0\\0&0&0\\0&0&0\end{bmatrix} + \sin\theta \cdot \begin{bmatrix}0&0&0\\0&0&-1\\0&1&0\end{bmatrix} \)
展开后得到绕\( x \)轴旋转矩阵:
\( R(\boldsymbol{f}, \theta) = \begin{bmatrix}1&0&0\\0&\cos\theta&-\sin\theta\\0&\sin\theta&\cos\theta\end{bmatrix} \),与基础旋转矩阵一致,证明公式正确。
6 计算案例:绕指定轴旋转的矩阵求解#
以“绕轴\( \boldsymbol{f} = \left[ \frac{\sqrt{2}}{2}, 0, \frac{\sqrt{2}}{2} \right]^T \)旋转\( \theta=90^\circ \)”为例,用罗德里格斯公式计算旋转矩阵。
6.1 明确已知条件#
旋转轴\( \boldsymbol{f} = \left[ \frac{\sqrt{2}}{2}, 0, \frac{\sqrt{2}}{2} \right]^T \)(单位矢量,满足\( f_x^2 + f_y^2 + f_z^2 = 1 \))
旋转角度\( \theta=90^\circ \),三角函数值:\( \cos90^\circ=0 \),\( \sin90^\circ=1 \)
罗德里格斯公式:\( R(\boldsymbol{f}, \theta) = \cos\theta \cdot \boldsymbol{I} + (1 - \cos\theta) \cdot \boldsymbol{f}\boldsymbol{f}^T + \sin\theta \cdot [\boldsymbol{f}]_\times \)
6.2 分步计算三项矩阵#
6.2.1 第一项:\( \cos\theta \cdot \boldsymbol{I} \)#
\( \cos90^\circ=0 \),故该项为\( \begin{bmatrix}0&0&0\\0&0&0\\0&0&0\end{bmatrix} \)
6.2.2 第二项:\( (1 - \cos\theta) \cdot \boldsymbol{f}\boldsymbol{f}^T \)#
计算\( \boldsymbol{f}\boldsymbol{f}^T \):\( \begin{bmatrix} \frac{\sqrt{2}}{2} \\ 0 \\ \frac{\sqrt{2}}{2} \end{bmatrix} \cdot \begin{bmatrix} \frac{\sqrt{2}}{2}, 0, \frac{\sqrt{2}}{2} \end{bmatrix} = \begin{bmatrix} \frac{1}{2} & 0 & \frac{1}{2} \\ 0 & 0 & 0 \\ \frac{1}{2} & 0 & \frac{1}{2} \end{bmatrix} \)
\( (1 - \cos90^\circ)=1 \),故该项为\( \begin{bmatrix} \frac{1}{2} & 0 & \frac{1}{2} \\ 0 & 0 & 0 \\ \frac{1}{2} & 0 & \frac{1}{2} \end{bmatrix} \)
6.2.3 第三项:\( \sin\theta \cdot [\boldsymbol{f}]_\times \)#
计算\( [\boldsymbol{f}]_\times \):\( \begin{bmatrix}0 & -\frac{\sqrt{2}}{2} & 0 \\ \frac{\sqrt{2}}{2} & 0 & -\frac{\sqrt{2}}{2} \\ 0 & \frac{\sqrt{2}}{2} & 0\end{bmatrix} \)
\( \sin90^\circ=1 \),故该项为\( \begin{bmatrix}0 & -\frac{\sqrt{2}}{2} & 0 \\ \frac{\sqrt{2}}{2} & 0 & -\frac{\sqrt{2}}{2} \\ 0 & \frac{\sqrt{2}}{2} & 0\end{bmatrix} \)
6.3 合并三项得到最终矩阵#
将三项矩阵对应元素相加:
\( R(\boldsymbol{f}, 90^\circ) = \begin{bmatrix}0&0&0\\0&0&0\\0&0&0\end{bmatrix} + \begin{bmatrix} \frac{1}{2} & 0 & \frac{1}{2} \\ 0 & 0 & 0 \\ \frac{1}{2} & 0 & \frac{1}{2} \end{bmatrix} + \begin{bmatrix}0 & -\frac{\sqrt{2}}{2} & 0 \\ \frac{\sqrt{2}}{2} & 0 & -\frac{\sqrt{2}}{2} \\ 0 & \frac{\sqrt{2}}{2} & 0\end{bmatrix} \)
最终矩阵(精确形式):
\( \boxed{R(\boldsymbol{f}, 90^\circ) = \begin{bmatrix} \frac{1}{2} & -\frac{\sqrt{2}}{2} & \frac{1}{2} \\ \frac{\sqrt{2}}{2} & 0 & -\frac{\sqrt{2}}{2} \\ \frac{1}{2} & \frac{\sqrt{2}}{2} & \frac{1}{2} \end{bmatrix}} \)(小数近似:\( \frac{\sqrt{2}}{2} \approx 0.7071 \))
6.4 验证矩阵正确性#
取点\( \boldsymbol{p} = [1, 0, 0]^T \),旋转后坐标\( \boldsymbol{p}' = R \cdot \boldsymbol{p} = \begin{bmatrix} \frac{1}{2}, \frac{\sqrt{2}}{2}, \frac{1}{2} \end{bmatrix}^T \),验证如下:
投影到\( \boldsymbol{f} \)轴:\( \text{proj}_{\boldsymbol{f}} \boldsymbol{p} = (\boldsymbol{p} \cdot \boldsymbol{f}) \boldsymbol{f} = \frac{\sqrt{2}}{2} \cdot \boldsymbol{f} = \begin{bmatrix} \frac{1}{2}, 0, \frac{1}{2} \end{bmatrix}^T \),旋转后投影不变(符合绕轴旋转特性)。
垂直分量模长:\( \boldsymbol{p}_\perp = \boldsymbol{p} - \text{proj}_{\boldsymbol{f}} \boldsymbol{p} = \begin{bmatrix} \frac{1}{2}, 0, -\frac{1}{2} \end{bmatrix}^T \),模长\( \|\boldsymbol{p}_\perp\| = \frac{\sqrt{2}}{2} \);\( \boldsymbol{p}'_\perp = \boldsymbol{p}' - \text{proj}_{\boldsymbol{f}} \boldsymbol{p} = \begin{bmatrix} 0, \frac{\sqrt{2}}{2}, 0 \end{bmatrix}^T \),模长同样为\( \frac{\sqrt{2}}{2} \)(旋转后距离不变)。
旋转角度:\( \boldsymbol{p}_\perp \cdot \boldsymbol{p}'_\perp = 0 \),说明两垂直分量垂直,即旋转角度为\( 90^\circ \)(符合要求)。
7 通用旋转变换与罗德里格斯公式速查手册#
通用旋转变换通过“过渡坐标系搭桥”,将绕任意轴的复杂旋转转化为绕标准轴的简单旋转,结合正交矩阵的共轭变换性质消去冗余参数,最终得到仅依赖旋转轴\( \boldsymbol{f} \)和角度\( \theta \)的罗德里格斯公式,实现了任意旋转变换的统一、简洁表达。
7.1 基础符号定义#
符号 |
含义 |
说明 |
|---|---|---|
\( \boldsymbol{f} \) |
任意旋转轴单位矢量 |
\( \boldsymbol{f} = [f_x, f_y, f_z]^T \),满足 \( f_x^2 + f_y^2 + f_z^2 = 1 \) |
\( \theta \) |
旋转角度 |
右手定则判定旋转方向(拇指沿\( \boldsymbol{f} \),四指为旋转方向) |
\( \boldsymbol{^A R_C} \) |
旋转矩阵 |
从坐标系\( \{C\} \)到\( \{A\} \)的变换,列向量为\( \{C\} \)轴在\( \{A\} \)中的方向 |
\( \boldsymbol{I} \) |
单位矩阵 |
3×3矩阵,\( \boldsymbol{I} = \begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix} \) |
\( [\boldsymbol{f}]_\times \) |
叉积反对称矩阵 |
由\( \boldsymbol{f} \)生成,描述叉积运算的矩阵形式 |
7.2 核心公式汇总#
7.2.1 过渡坐标系相关公式#
7.2.1.1 旋转矩阵定义#
\( \boldsymbol{^A R_C} = \begin{bmatrix} \boldsymbol{x}_C & \boldsymbol{y}_C & \boldsymbol{z}_C \end{bmatrix} \)
\( \boldsymbol{^C R_A} = (\boldsymbol{^A R_C})^T \)(正交矩阵:逆=转置)
注:\( \boldsymbol{x}_C, \boldsymbol{y}_C, \boldsymbol{z}_C \)为\( \{C\} \)的轴矢量,且\( \boldsymbol{z}_C = \boldsymbol{f} \)
7.2.1.2 过渡坐标系构造(实操公式)#
若\( \boldsymbol{f} \)不平行于\( \boldsymbol{e}_x = [1,0,0]^T \):
\( \boldsymbol{x}_C = \frac{\boldsymbol{e}_x \times \boldsymbol{f}}{\|\boldsymbol{e}_x \times \boldsymbol{f}\|} \),\( \boldsymbol{y}_C = \boldsymbol{f} \times \boldsymbol{x}_C \)
7.2.2 通用旋转矩阵基础公式#
7.2.2.1 通用旋转矩阵表达式(过渡坐标系形式)#
\( R(\boldsymbol{f}, \theta) = \boldsymbol{^A R_C} \cdot R_z(\theta) \cdot (\boldsymbol{^A R_C})^T \)
7.2.2.2 绕z轴标准旋转矩阵\( R_z(\theta) \)#
\( R_z(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} \)
7.2.3 3. 罗德里格斯公式(核心通用公式)#
7.2.3.1 完整公式#
\( R(\boldsymbol{f}, \theta) = \cos\theta \cdot \boldsymbol{I} + (1 - \cos\theta) \cdot \boldsymbol{f}\boldsymbol{f}^T + \sin\theta \cdot [\boldsymbol{f}]_\times \)
7.2.3.2 公式中关键子矩阵#
外积矩阵\( \boldsymbol{f}\boldsymbol{f}^T \):
\( \boldsymbol{f}\boldsymbol{f}^T = \begin{bmatrix} f_x^2 & f_x f_y & f_x f_z \\ f_y f_x & f_y^2 & f_y f_z \\ f_z f_x & f_z f_y & f_z^2 \end{bmatrix} \)叉积反对称矩阵\( [\boldsymbol{f}]_\times \):
\( [\boldsymbol{f}]_\times = \begin{bmatrix} 0 & -f_z & f_y \\ f_z & 0 & -f_x \\ -f_y & f_x & 0 \end{bmatrix} \)
7.2.4 验证用公式(退化为基础旋转)#
7.2.4.1 绕x轴旋转(\( \boldsymbol{f} = [1,0,0]^T \))#
\( R_x(\theta) = \begin{bmatrix}1&0&0\\0&\cos\theta&-\sin\theta\\0&\sin\theta&\cos\theta\end{bmatrix} \)
7.2.4.2 绕y轴旋转(\( \boldsymbol{f} = [0,1,0]^T \))#
\( R_y(\theta) = \begin{bmatrix}\cos\theta&0&\sin\theta\\0&1&0\\-\sin\theta&0&\cos\theta\end{bmatrix} \)
7.2.4.3 绕z轴旋转(\( \boldsymbol{f} = [0,0,1]^T \))#
\( R_z(\theta) = \begin{bmatrix}\cos\theta&-\sin\theta&0\\\sin\theta&\cos\theta&0\\0&0&1\end{bmatrix} \)
7.3 计算步骤速查(以罗德里格斯公式为例)#
确定\( \boldsymbol{f} \)(单位化)和\( \theta \),计算\( \cos\theta \)、\( \sin\theta \);
分别计算\( \cos\theta \cdot \boldsymbol{I} \)、\( (1 - \cos\theta) \cdot \boldsymbol{f}\boldsymbol{f}^T \)、\( \sin\theta \cdot [\boldsymbol{f}]_\times \);
将三个矩阵对应元素相加,得到最终旋转矩阵\( R(\boldsymbol{f}, \theta) \)。