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

详细介绍:3D空间表征基础

在一组单位正交基构成的右手系下所进行的欧氏变换。欧氏变换(刚性变换):改变物体的空间位置,不改变形状、大小,包括旋转变换和平移变换。就是本文所指三维空间中的表征默认

向量表征和基本运算

通过空间中的点/向量能够表征为a⃗=[e⃗1,e⃗2,e⃗3][a1,a2,a3]T\vec a=[\vec e_1, \vec e_2, \vec e_3][a_1, a_2, a_3]^Ta=[e1,e2,e3][a1,a2,a3]T

向量点积
a⃗⋅b⃗=a⃗Tb⃗=∑i=13aibi=∣a⃗∣∣b⃗∣cos<a⃗,b⃗>\vec a \cdot \vec b =\vec a^T \vec b = \sum_{i=1}^{3}{a_i b_i} = |\vec a||\vec b|cos<\vec a, \vec b>ab=aTb=i=13aibi=a∣∣bcos<a,b>

向量叉积
a⃗×b⃗=∥e⃗1e⃗2e⃗3a1a2a3b1b2b3∥=a⃗ ˆ b⃗\vec a \times \vec b = {\begin{Vmatrix} \vec e_1 & \vec e_2 & \vec e_3 \\ a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \end{Vmatrix}} = \vec a \ \^{} \ \vec ba×b=e1a1b1e2a2b2e3a3b3=aˆb, a⃗ ˆ\vec a \ \^{}aˆ是用a⃗\vec aa构建的一个反对称矩阵,对角线上元素从左到右从上到下依次为−a3,a2,−a1-a_3, a_2, -a_1a3,a2,a1

通过刚体运动能够用欧式变换来表征,尺度、各个面的角度等性质不会变。欧氏变换包括旋转和平移

旋转变换

给定两组单位正交基[e⃗1,e⃗2,e⃗3],[e⃗1′,e⃗2′,e⃗3′][\vec e_1, \vec e_2, \vec e_3], [\vec e_1', \vec e_2', \vec e_3'][e1,e2,e3],[e1,e2,e3],表征了两个原点重合的坐标系。
同一向量在两组基下的表征分别为[e⃗1,e⃗2,e⃗3][a1,a2,a3]T=[e⃗1′,e⃗2′,e⃗3′][a1′,a2′,a3′]T[\vec e_1, \vec e_2, \vec e_3][a_1, a_2, a_3]^T = [\vec e_1', \vec e_2', \vec e_3'][a_1', a_2', a_3']^T[e1,e2,e3][a1,a2,a3]T=[e1,e2,e3][a1,a2,a3]T,式两边同时左乘[e⃗1,e⃗2,e⃗3]T[\vec e_1, \vec e_2, \vec e_3]^T[e1,e2,e3]T可以自然得到旋转矩阵表征,矩阵R\bold RR表征了从坐标系2到坐标系1的旋转变换。由于是单位正交基,等式左边前面左乘的结果为单位矩阵,等式右边矩阵的结果
R=[e1Te1′e1Te2′e1Te3′e2Te1′e2Te2′e2Te3′e3Te1′e3Te2′e3Te3′] \bold R=\begin{bmatrix} e_1^Te_1' & e_1^Te_2' & e_1^Te_3' \\ e_2^Te_1' & e_2^Te_2' & e_2^Te_3' \\ e_3^Te_1' & e_3^Te_2' & e_3^Te_3' \end{bmatrix}R=e1Te1e2Te1e3Te1e1Te2e2Te2e3Te2e1Te3e2Te3e3Te3
由于是两组单位正交基,得到的结果为各轴之间的夹角,并且det(R)=1det(\bold R) = 1det(R)=1

要反过来得到R−1\bold R^{-1}R1,只要求对原式两边左乘[e⃗1′,e⃗2′,e⃗3′]T[\vec e_1', \vec e_2', \vec e_3']^T[e1,e2,e3]T,得到[e⃗1′,e⃗2′,e⃗3′]T[e⃗1,e⃗2,e⃗3]=RT[\vec e_1', \vec e_2', \vec e_3']^T [\vec e_1, \vec e_2, \vec e_3] = \bold R^T[e1,e2,e3]T[e1,e2,e3]=RT,故旋转矩阵R\bold RR为正交矩阵。
旋转矩阵所在的集合为特殊正交群
SO(n)={R∈∣RRT=I,det(R)=1}SO(n) = \{R\in|\bold R\bold R^T = \bold I, det(\bold R) = 1\}SO(n)={RRRT=I,det(R)=1}

平移变换

两个不重合的坐标系,在坐标系1下坐标系1到坐标系2原点的向量为t12t_{12}t12,坐标系2到坐标系1的旋转变换为R12R_{12}R12,则
a1=R12a12+t12a_{1} = \bold R_{12}a_{12}+\bold t_{12}a1=R12a12+t12
扩展为齐次坐标的四维向量,则变换矩阵允许表征为
T=[Rt01],R∈R3×3,t∈R3 T=\begin{bmatrix} \bold R & \bold t \\ \bold 0 & 1 \\ \end{bmatrix}, \bold R \in \mathbb{R}^{3\times 3}, \bold t \in \mathbb{R}^3T=[R0t1],RR3×3,tR3
变换a1=Ta2\bold a_1 = \bold T \bold a_2a1=Ta2
T\bold TT所在的集合为特殊欧式群SE(3)SE(3)SE(3)

http://www.jsqmd.com/news/99758/

相关文章:

  • EmotiVoice安装与环境配置指南
  • MTS AI智能聚合公链正式上线
  • PaddlePaddle训练任务中断恢复:借助git版本控制系统还原状态
  • 「直通」英伟达,蓝思科技补齐AI算力布局又一块拼图
  • MySQL的索引底层数据结构?(B+树)为什么用B+树不用B树或哈希?
  • FLUX.1-Controlnet-Union新手快速配置指南
  • 2025年空气加热器生产厂家排名,精选空气加热器生产企业排名 - 工业推荐榜
  • 使用 Docker Compose 部署 LobeChat 数据版
  • ComfyUI缺少Manager?手把手教你安装
  • LobeChat能否实现AI生成年终总结?年度绩效展示利器
  • Python安装opencv-python支持YOLO显示
  • Langchain-Chatchat项目npm安装依赖问题解决
  • 边缘计算所使用的知识蒸馏、轻量化模型具体依据什么进行操作
  • FPGA基础知识(二十):Xilinx Block Memory IP核(5)--ROM 详解
  • CMAC和HMAC算法的区别
  • LobeChat能否对接Monday.com?可视化工作流智能管理
  • Qwen3-32B模型实战指南:长文本处理与企业部署
  • ESP32能否运行GPT-SoVITS?边缘设备适配性分析
  • Qwen3-VL-30B-FP8:高性能多模态模型量化新突破
  • ☆ 异或和|倒数第二步
  • Day39 PythonStudy
  • LobeChat能否应用于自动驾驶?车载语音助手升级
  • 基于openwrt的打印机服务器--无法连接打印机的问题
  • Qwen-Image-Edit-2509能上手机吗?云端+端侧全解析
  • Yolo-v5运行中thop安装与检测框问题解决
  • FPGA基础知识(十九):Xilinx Block Memory IP核(4)--True Dual Port RAM 详解
  • 140亿参数Wan2.2-T2V-A14B本地部署全解析
  • 用Seed-Coder-8B-Base智能生成K8s配置
  • LangFlow实现社交媒体内容自动审核流程
  • Dify插件开发完整指南