这个计算器有什么用
三维坐标旋转计算器能算出一个点在三维空间中绕 X、Y 或 Z 轴旋转之后的新位置。它采用右手坐标系和右手定则的符号约定:当你沿旋转轴正方向朝原点看过去时,正角度表示该点逆时针旋转。这属于纯粹的解析几何,应用范围极广——物理、机器人、计算机图形学、CAD 以及各类工程领域都用得上。
使用方法
先输入点的初始坐标(初始 x、y、z)。再选择角度单位是度还是弧度。然后最多可以设定三个旋转步骤,每一步都指定一个旋转轴和一个角度。各步骤按顺序依次执行:第 1 步作用于原始点,第 2 步作用于第 1 步的结果,以此类推。把某一步的角度留空或填 0,即可跳过该步骤。如果只需旋转一次,填好第 1 步即可。
公式详解
绕 Z 轴旋转的旋转矩阵为:
$$R_z(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix}$$对每一步,设 \(\theta\) 为弧度制角度,令 \(c = \cos\theta\)、\(s = \sin\theta\)。绕 Z 轴旋转时 \(z\) 保持不变,\((x, y)\) 映射为 \((x\cdot c - y\cdot s,\ x\cdot s + y\cdot c)\)。绕 X 轴旋转时 \(x\) 不变,绕 Y 轴旋转时 \(y\) 不变,另外两个坐标同样按这一规律相互混合。把多次旋转组合起来,等价于把它们的旋转矩阵相乘;不过逐步作用于向量,可以避免搞错先后顺序。
实例演算
取点 \((1, 0, 1)\),让它绕 Z 轴旋转 90°。此时 \(\theta = \pi/2\),所以 \(c = 0\)、\(s = 1\)。于是
$$x' = 1\cdot 0 - 0\cdot 1 = 0,\quad y' = 1\cdot 1 + 0\cdot 0 = 1$$\(z'\) 保持为 \(1\) 不变。最终结果是 \((0, 1, 1)\)。
常见旋转角度值
每个旋转矩阵的元素仅取决于 \(\cos\theta\) 和 \(\sin\theta\)。该表列出了最常见角度的精确值,以便您可以直接将它们代入 \(R_X\)、\(R_Y\) 或 \(R_Z\)。小数近似值精确到四位小数。
| \(\theta\) (度) | \(\theta\) (弧度) | \(\cos\theta\) | \(\sin\theta\) |
|---|---|---|---|
| 0° | 0 | 1 | 0 |
| 30° | \(\pi/6\) | \(\tfrac{\sqrt3}{2}\approx0.8660\) | \(\tfrac12=0.5\) |
| 45° | \(\pi/4\) | \(\tfrac{\sqrt2}{2}\approx0.7071\) | \(\tfrac{\sqrt2}{2}\approx0.7071\) |
| 60° | \(\pi/3\) | \(\tfrac12=0.5\) | \(\tfrac{\sqrt3}{2}\approx0.8660\) |
| 90° | \(\pi/2\) | 0 | 1 |
| 180° | \(\pi\) | −1 | 0 |
| 270° | \(3\pi/2\) | 0 | −1 |
注意,\(180^\circ\) 旋转会改变垂直于轴的两个坐标的符号,而 \(270^\circ\) 等价于 \(-90^\circ\)(当沿正轴向下看时的四分之一圈顺时针旋转)。
关键术语与变量
- 右手坐标系
- 一个三维框架,其中 X、Y 和 Z 轴的方向使得右手的手指从 +X 指向 +Y 时,大拇指指向 +Z 方向。这是标准的数学和物理约定;这些旋转矩阵假设采用这一约定。
- 右手法则
- 旋转正方向的记忆法:将右手的大拇指沿着旋转轴的正方向指向,手指的弯曲方向给出该轴旋转的正(逆时针)方向。
- 旋转矩阵
- 一个 \(3\times3\) 的正交矩阵,其行列式为 \(+1\),它绕固定轴旋转向量而不改变其长度。这里 \(R_X\)、\(R_Y\) 和 \(R_Z\) 分别绕 X、Y 和 Z 轴旋转。
- \(\theta\) (θ),旋转角
- 绕所选轴的旋转量。以度数或弧度输入;工具在计算 \(\cos\theta\) 和 \(\sin\theta\) 之前使用 \(\theta_{\text{弧度}} = \theta_{\text{度数}}\cdot\pi/180\) 在内部转换度数。
- 旋转轴
- 固定的线(X、Y 或 Z),其上的点保持不变,而其他所有点都绕它旋转。在此工具中,每个步骤的轴选择为 0 = X、1 = Y、2 = Z。
- 正的/逆时针方向
- 正角产生逆时针旋转,当从轴的正端向原点看时。负角会反转它(顺时针)。
- 输出坐标 \(x'\)、\(y'\)、\(z'\)
- 旋转点 \(\mathbf{p}' = R\,\mathbf{p}\) 的分量。对于一个或多个顺序旋转,\(\mathbf{p}' = R_{a_3}(\theta_3)\,R_{a_2}(\theta_2)\,R_{a_1}(\theta_1)\,\mathbf{p}\),其中最右边的矩阵首先应用。
常见问题
正向旋转是哪个方向?正向指的是当你从旋转轴正方向朝原点看时的逆时针方向(即右手定则)。
旋转的先后顺序重要吗?重要。三维旋转不满足交换律,所以先绕 X 再绕 Z,通常和先绕 Z 再绕 X 结果不同。本工具会先执行第 1 步。
为什么有些结果显示为 0,而不是一个很小的数?在浮点运算中,\(\cos(90°)\) 这类值并不会严格等于 0,因此为了便于阅读,接近零的结果会被处理成 0。