3D空间表征基础

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

向量表征和基本运算

空间中的点/向量可以表征为a⃗=e⃗1,e⃗2,e⃗3a1,a2,a3T\vec a=\\vec e_1, \\vec e_2, \\vec e_3a_1, a_2, a_3^Ta =e 1,e 2,e 3a1,a2,a3T

向量点积
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>a ⋅b =a Tb =∑i=13aibi=∣a ∣∣b ∣cos<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 = e 1a1b1e 2a2b2e 3a3b3 =a ˆ b , a⃗ ˆ\vec a \ \^{}a ˆ是用a⃗\vec aa 构建的一个反对称矩阵,对角线上元素从左到右从上到下依次为−a3,a2,−a1-a_3, a_2, -a_1−a3,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'e 1,e 2,e 3,e 1′,e 2′,e 3′,表征了两个原点重合的坐标系。

同一向量在两组基下的表征分别为e⃗1,e⃗2,e⃗3a1,a2,a3T=e⃗1′,e⃗2′,e⃗3′a1′,a2′,a3′T\\vec e_1, \\vec e_2, \\vec e_3a_1, a_2, a_3^T = \\vec e_1', \\vec e_2', \\vec e_3'a_1', a_2', a_3'^Te 1,e 2,e 3a1,a2,a3T=e 1′,e 2′,e 3′a1′,a2′,a3′T,式两边同时左乘e⃗1,e⃗2,e⃗3T\\vec e_1, \\vec e_2, \\vec e_3^Te 1,e 2,e 3T可以自然得到旋转矩阵表征,矩阵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= e1Te1′e2Te1′e3Te1′e1Te2′e2Te2′e3Te2′e1Te3′e2Te3′e3Te3′

由于是两组单位正交基,得到的结果为各轴之间的夹角,并且det(R)=1det(\bold R) = 1det(R)=1。

要反过来得到R−1\bold R^{-1}R−1,只需要对原式两边左乘e⃗1′,e⃗2′,e⃗3′T\\vec e_1', \\vec e_2', \\vec e_3'^Te 1′,e 2′,e 3′T,得到e⃗1′,e⃗2′,e⃗3′Te⃗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^Te 1′,e 2′,e 3′Te 1,e 2,e 3=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)={R∈∣RRT=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}^3 T=R0t1,R∈R3×3,t∈R3

变换a1=Ta2\bold a_1 = \bold T \bold a_2a1=Ta2
T\bold TT所在的集合为特殊欧式群SE(3)SE(3)SE(3)

相关推荐
Tian_Hang5 小时前
eclipse ditto 学习笔记
运维·服务器·开发语言·javascript·3d
AI视觉网奇8 小时前
BambuStudio 编译实战 2026
3d
AI前沿资讯8 小时前
AI3D角色生产如何减少返工?用 V2Fun 前移建模与动画流程
人工智能·3d
蓝速科技9 小时前
蓝速科技视觉 3D 全息舱 AI 数字人一体机带灯与无灯款深度评测
人工智能·科技·3d
尘中远9 小时前
【Qwt 7.0 系列】3D 数据可视化 —— OpenGL 高性能三维绘图
qt·3d·qcustomplot·qwt·科学绘图·高性能绘图
林恒smileZAZ1 天前
Three.js 3D 地图特效与材质实现指南
javascript·3d·材质
蓝速科技1 天前
蓝速科技 3D 全息舱 AI 数字人博物馆导览效果实录
人工智能·科技·3d
chaoyuanl1 天前
沉浸式飞行影院进场安装前期筹备事项
大数据·科技·3d·xr·娱乐
探物 AI18 天前
【3D·感知】从PointNet到PointPillars:如何让自动驾驶汽车“实时“看见3D世界?
3d·自动驾驶·汽车
苏州邦恩精密18 天前
GOM三维扫描在制造中的真实价值:让“修模”从经验动作变成数据动作
人工智能·科技·机器学习·3d·自动化·制造