当前位置: 首页 > article >正文

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

一、旋转矩阵

  • 在三维空间中,旋转可以通过 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 个单位。
  • 将点转换为齐次坐标形式:
    ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/c8683a3ac5734d11a484f0a4c80f9f9b.png
  • 应用平移矩阵T(tx,ty,tz):
    在这里插入图片描述
  • 计算平移后的新坐标:
    在这里插入图片描述

2. 绕 Z 轴旋转示例

假设我们有一个点P(x,y,z),并希望将其绕 Z 轴旋转θ 角度。
  • 将点转换为齐次坐标形式:
    在这里插入图片描述
  • 应用绕 Z 轴的旋转矩阵 Rz(θ):
    在这里插入图片描述
  • 计算旋转后的新坐标:
    在这里插入图片描述

五、总结

  • 旋转矩阵用于实现绕 X、Y 或 Z 轴的旋转。旋转矩阵是 4x4 的齐次变换矩阵,其中前三列为旋转变换,第四列通常为 (0,0,0,1) 。
  • 平移矩阵用于将点沿各轴平移,矩阵中的最后一列包含平移的距离。
  • 旋转与平移组合可以通过矩阵乘法将旋转和平移同时应用于一个点,形成复合变换。

http://www.kler.cn/a/510601.html

相关文章:

  • 论文阅读:CosAE Learnable Fourier Series for Image Restoration
  • 浅谈计算机网络04 | 现代网络需求与技术支撑
  • Java 接口安全指南
  • C# 修改项目类型 应用程序程序改类库
  • UI自动化测试:异常截图和page_source
  • JavaWeb简单开发
  • macos 搭建 ragflow 开发环境
  • 【机器学习:三十四、贝叶斯分类器:原理、方法及应用】
  • STL简述
  • 2025.1.15——四、布尔注入
  • MDPI的latex文档书写
  • 【数据结构】—— 顺序表的实现与优化:空间管理与增容策略
  • 使用Python开发PPT文本提取工具
  • Spring的Bean详解=Bean别名+作用范围+使用场景
  • 4.Proto 3 语法详解
  • opencv笔记2
  • htmlcssJavaScript网页开发:年会手机号抽奖案例
  • ANSYS FLUENT学习笔记(八)-实战案例-网格划分
  • 使用 CFX 中的标量传输方程对染料冲洗数值建模:以主动脉弓血流为例
  • python轻量级框架-flask
  • 【AI论文】生成式视频模型是否通过观看视频学习物理原理?
  • 【Linux】Linux入门(2)常见指令
  • Jupter安装
  • vscode的字体图标库-icomoon
  • CSS 动画相关属性
  • 【分类】【损失函数】处理类别不平衡:CEFL 和 CEFL2 损失函数的实现与应用