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

3D坐标旋转公式

3D坐标旋转公式

  • 介绍
      • 1. 绕z轴旋转
      • 2. 绕x轴旋转
      • 3. 绕y轴旋转

介绍

3D坐标旋转公式的推导通常涉及绕坐标轴(x轴、y轴、z轴)的旋转。这些旋转可以用旋转矩阵表示。以下将详细推导绕每个坐标轴的旋转公式,基于三角函数和向量投影的概念。假设使用右手坐标系,旋转角度为θ,且旋转为正旋转(符合右手定则:拇指指向轴的正方向,手指弯曲方向为旋转正方向)。

1. 绕z轴旋转

当点绕z轴旋转时,其z坐标保持不变,而x和y坐标的变化类似于2D平面旋转。考虑点P(x, y, z),绕z轴旋转θ角度后得到点P’(x’, y’, z’)。

设点P在xy平面上的投影与x轴的夹角为φ,则:
x=rcos⁡ϕ,y=rsin⁡ϕx = r \cos\phi, \quad y = r \sin\phi x=rcosϕ,y=rsinϕ
其中r是点P到z轴的距离(投影半径)。旋转后,夹角变为φ + θ,因此:
x′=rcos⁡(ϕ+θ)=r(cos⁡ϕcos⁡θ−sin⁡ϕsin⁡θ)=xcos⁡θ−ysin⁡θx' = r \cos(\phi + \theta) = r (\cos\phi \cos\theta - \sin\phi \sin\theta) = x \cos\theta - y \sin\theta x=rcos(ϕ+θ)=r(cosϕcosθsinϕsinθ)=xcosθysinθ
y′=rsin⁡(ϕ+θ)=r(sin⁡ϕcos⁡θ+cos⁡ϕsin⁡θ)=xsin⁡θ+ycos⁡θy' = r \sin(\phi + \theta) = r (\sin\phi \cos\theta + \cos\phi \sin\theta) = x \sin\theta + y \cos\theta y=rsin(ϕ+θ)=r(sinϕcosθ+cosϕsinθ)=xsinθ+ycosθ
z′=zz' = z z=z
因此,绕z轴旋转的矩阵为:
Rz(θ)=[cos⁡θ−sin⁡θ0sin⁡θcos⁡θ0001]R_z(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} Rz(θ)=cosθsinθ0sinθcosθ0001

2. 绕x轴旋转

当点绕x轴旋转时,其x坐标保持不变,而y和z坐标的变化类似于2D旋转在yz平面内。考虑点P(x, y, z),绕x轴旋转θ角度后得到点P’(x’, y’, z’)。

设点P在yz平面上的投影与y轴的夹角为φ,则:
y=rcos⁡ϕ,z=rsin⁡ϕy = r \cos\phi, \quad z = r \sin\phi y=rcosϕ,z=rsinϕ
其中r是点P到x轴的距离。旋转后,夹角变为φ + θ,因此:
y′=rcos⁡(ϕ+θ)=r(cos⁡ϕcos⁡θ−sin⁡ϕsin⁡θ)=ycos⁡θ−zsin⁡θy' = r \cos(\phi + \theta) = r (\cos\phi \cos\theta - \sin\phi \sin\theta) = y \cos\theta - z \sin\theta y=rcos(ϕ+θ)=r(cosϕcosθsinϕsinθ)=ycosθzsinθ
z′=rsin⁡(ϕ+θ)=r(sin⁡ϕcos⁡θ+cos⁡ϕsin⁡θ)=ysin⁡θ+zcos⁡θz' = r \sin(\phi + \theta) = r (\sin\phi \cos\theta + \cos\phi \sin\theta) = y \sin\theta + z \cos\theta z=rsin(ϕ+θ)=r(sinϕcosθ+cosϕsinθ)=ysinθ+zcosθ
x′=xx' = x x=x
因此,绕x轴旋转的矩阵为:
Rx(θ)=[1000cos⁡θ−sin⁡θ0sin⁡θcos⁡θ]R_x(\theta) = \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos\theta & -\sin\theta \\ 0 & \sin\theta & \cos\theta \end{bmatrix} Rx(θ)=1000cosθsinθ0sinθcosθ

3. 绕y轴旋转

当点绕y轴旋转时,其y坐标保持不变,而x和z坐标的变化类似于2D旋转在xz平面内。但需要注意的是,从正y轴看(视线沿负y方向),正旋转为顺时针方向。因此,在xz平面内的旋转相当于2D顺时针旋转。

考虑点P(x, y, z),绕y轴旋转θ角度后得到点P’(x’, y’, z’)。在xz平面内,点P的投影坐标为(x, z),旋转后为(x’, z’)。对于2D顺时针旋转,有:
x′=xcos⁡θ+zsin⁡θx' = x \cos\theta + z \sin\theta x=xcosθ+zsinθ
z′=−xsin⁡θ+zcos⁡θz' = -x \sin\theta + z \cos\theta z=xsinθ+zcosθ
y′=yy' = y y=y
因此,绕y轴旋转的矩阵为:
Ry(θ)=[cos⁡θ0sin⁡θ010−sin⁡θ0cos⁡θ]R_y(\theta) = \begin{bmatrix} \cos\theta & 0 & \sin\theta \\ 0 & 1 & 0 \\ -\sin\theta & 0 & \cos\theta \end{bmatrix} Ry(θ)=cosθ0sinθ010sinθ0cosθ

http://www.dtcms.com/a/456689.html

相关文章:

  • 《Git 从入门到进阶》教学大纲
  • linux网络服务+linux数据库5
  • 德山经济开发区建设局网站wordpress的数据库在哪里
  • P3808 AC 自动机(简单版)
  • C++----bitmap位图的使用
  • 单链表的应用02---算法中的暴力美学(第八讲)
  • 【RAG】优化query查询效果的几种处理
  • transformer详解(位置编码+attention+残差连接+全连接网络)
  • 已注册域名怎么做网站呢免费网站免费网站平台
  • 如何解决 pip install -r requirements.txt 约束文件 constraints.txt 仅允许固定版本(未锁定报错)问题
  • 【Camera】准备的一些Camera面试题——相机预览、拍照流程(经验尚欠,待补充)
  • CICD工具选型指南,GitLab cicd vs Arbess哪一款更好用?
  • 尉Lucene.Net 分词器选择指南:盘古分词 vs 结巴分词h
  • gitlab runner 安装
  • MySQL的OR条件查询不走索引及解决方案
  • 1688 店铺商品全量采集与智能分析:从接口调用到供应链数据挖掘
  • 淘宝商品详情采集方式,json数据返回
  • 【论文精度-1】 组合优化中的机器学习:方法论之旅(Yoshua Bengio, 2021)
  • 南京维露斯网站建设微信营销软件app
  • 从帧边界识别到数据编码:嵌入式通信协议与数据序列化方案深度对比
  • Quick SwiftObjective-C测试框架入门教程
  • GRM tools三大插件使用教程
  • C62-结构体的指针
  • 腾讯云 建网站企业网站seo公司
  • Java-143 深入浅出 MongoDB NoSQL:MongoDB、Redis、HBase、Neo4j应用场景与对比
  • 线程1——javaEE 附面题
  • 吴恩达机器学习课程(PyTorch适配)学习笔记:1.4 模型评估与问题解决
  • 后端_基于注解实现的请求限流
  • 从 0 到 1 搭建 Python 语言 Web UI自动化测试学习系列 10--基础知识 6--元素等待方式和内联框架
  • 织梦网站如何做seo重庆市城市建设档案馆官方网站