You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求矩形棱柱绕中心在x、y、z三轴旋转后的顶点坐标计算公式

矩形棱柱三维旋转后顶点坐标通用计算方法

基础参数定义

首先统一所有输入参数的定义:

  • 棱柱几何参数:x轴方向边长l,y轴方向边长w,z轴方向边长h,棱柱中心在全局坐标系下的固定坐标为(Cx, Cy, Cz)
  • 旋转参数:绕x轴旋转角度α、绕y轴旋转角度β、绕z轴旋转角度γ,默认遵循右手定则:从坐标轴正方向看向原点时,逆时针旋转为角度正方向,计算时需先将角度转换为弧度
  • 旋转约定:以下方法默认是绕自身坐标轴依次旋转(内旋),顺序为x轴→y轴→z轴,如果你的旋转顺序或旋转坐标系约定不同,调整旋转矩阵的相乘顺序即可。

计算步骤

1. 生成未旋转的局部顶点坐标

以棱柱自身中心为局部坐标系原点,未发生旋转时,棱柱共8个顶点的局部坐标为所有正负组合:

(±l/2, ±w/2, ±h/2)

共8组取值,分别对应棱柱的8个顶点。

2. 构造三维旋转矩阵

三个坐标轴的基础旋转矩阵分别为:

  • 绕x轴旋转α的矩阵Rx:
[
    [1,        0,         0      ],
    [0,  cos(α),  -sin(α) ],
    [0,  sin(α),   cos(α) ]
]
  • 绕y轴旋转β的矩阵Ry:
[
    [cos(β),   0,  sin(β) ],
    [0,        1,      0      ],
    [-sin(β),  0,  cos(β) ]
]
  • 绕z轴旋转γ的矩阵Rz:
[
    [cos(γ),  -sin(γ),  0],
    [sin(γ),   cos(γ),  0],
    [0,           0,        1]
]

按x→y→z的内旋顺序,总旋转矩阵R为三个矩阵的乘积:
R = Rz × Ry × Rx
注意:矩阵乘法不满足交换律,若旋转顺序变化,需调整矩阵相乘的顺序,例如旋转顺序为z→y→x时,总旋转矩阵为R = Rx × Ry × Rz

3. 计算最终全局坐标

对每一个初始局部顶点P_local = (x, y, z):

  1. 先将其与总旋转矩阵R相乘,得到旋转后的局部坐标P_rot = R · P_local
  2. 再叠加全局坐标系下的中心偏移量,得到该顶点的最终全局坐标:
P_final.x = P_rot.x + Cx
P_final.y = P_rot.y + Cy
P_final.z = P_rot.z + Cz

内容的提问来源于stack exchange,提问作者FluxSwirl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 03:36:03