在三维坐标系中通过四阶矩阵实现平移和旋转

一、旋转矩阵

  • 在三维空间中,旋转可以通过 4x4 矩阵实现,其中前三列是 3x3 的旋转矩阵,最后一列用于处理齐次坐标(保持平移变换的统一性)。通过这种方式,我们可以实现绕特定轴的旋转变换。

1. 绕 X 轴旋转

绕 X 轴旋转一个角度 θ 的旋转矩阵为:

2. 绕 Y 轴旋转

绕 Y 轴旋转一个角度 θ 的旋转矩阵为:

3. 绕 Z 轴旋转

绕 Z 轴旋转一个角度 θ 的旋转矩阵为:

二、平移矩阵

  • 平移矩阵用于将一个点沿 X、Y 和 Z 轴平移特定的距离。它的作用是改变点的位置而不进行旋转。平移矩阵的 4x4 矩阵形式如下:

    其中:
  • tx 是沿 X 轴的平移距离,
  • ty 是沿 Y 轴的平移距离,
  • tz 是沿 Z 轴的平移距离。

三、旋转与平移的组合

  • 旋转和平移可以组合在一起,形成一个复合变换。假设你想先旋转,再平移,可以通过矩阵乘法将旋转矩阵和平移矩阵组合起来

1. 旋转矩阵 R(例如绕 Z 轴旋转):

2. 平移矩阵 T(tx,ty,tz):

3. 组合矩阵 M(先旋转后平移):M=T⋅Rz(θ)

复制代码
这样,组合矩阵M 将同时执行旋转和平移变换。通过矩阵乘法将其应用于点的变换。

四、平移与旋转的具体示例

1. 平移示例

复制代码
假设我们有一个点P(x,y,z),并希望将其平移tx, ty, 和tz 个单位。
  • 将点转换为齐次坐标形式:
  • 应用平移矩阵T(tx,ty,tz):
  • 计算平移后的新坐标:

2. 绕 Z 轴旋转示例

复制代码
假设我们有一个点P(x,y,z),并希望将其绕 Z 轴旋转θ 角度。
  • 将点转换为齐次坐标形式:
  • 应用绕 Z 轴的旋转矩阵 Rz(θ):
  • 计算旋转后的新坐标:

五、总结

  • 旋转矩阵用于实现绕 X、Y 或 Z 轴的旋转。旋转矩阵是 4x4 的齐次变换矩阵,其中前三列为旋转变换,第四列通常为 (0,0,0,1) 。
  • 平移矩阵用于将点沿各轴平移,矩阵中的最后一列包含平移的距离。
  • 旋转与平移组合可以通过矩阵乘法将旋转和平移同时应用于一个点,形成复合变换。
相关推荐
学习论之费曼学习法7 小时前
无人值守AI内容矩阵实战(10):Windows 上让 Python 进程 7×24 活着
人工智能·windows·python·矩阵·powershell·进程守护
zhongben_keji8 小时前
家政小程序开发全解:经营模式、品类矩阵、派单约束与信用核验
线性代数·矩阵·apache
silvamux_9 小时前
微头条爆款体平台适配实测:把交付要求变成可计算的指标
java·线性代数·算法·决策树·矩阵
zyseo89 小时前
谷歌SEO 关键词研究完整方法论:从种子词到优先级矩阵
数据库·人工智能·矩阵
lvwangshu1 天前
P15569 [COCI 2025/2026 #5] 结构 / Struktura 题解
矩阵·题解·dp·推导题·矩阵加速
镜子AI1 天前
镜子AI工程实践:用 Python 自动生成 GEO 问答语料与意图覆盖矩阵(零依赖)
人工智能·python·矩阵
学习论之费曼学习法2 天前
无人值守AI内容矩阵实战(8):标题 A/B 实验的 6 个工程实现细节,隔日对比与自动判胜
人工智能·python·算法·矩阵·自动化·a/b测试·内容矩阵
晒太羊的猫2 天前
hot100矩阵问题
线性代数·矩阵
轻口味2 天前
启元无真机二开实战1:54 个接口能做什么、不能做什么——启元 Q1/T1 SDK 能力全景与版本矩阵
线性代数·矩阵·ros2·具身智能·启元机器人
Angel Q.3 天前
协方差矩阵:3DGS 里“椭球的形状说明书“
线性代数·3d·矩阵