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

刚体的自由度

概述

自由度(DOF)= 唯一确定这个刚体位置和姿态,最少需要几个独立的数字

你要能通过这些数字,把刚体上任意一个点的位置都算出来,而且这些数字之间谁也不能用谁表示。

三维空间里,一个自由的刚体需要 6 个独立数字:

  • 3 个用来定位置(平移)
  • 3 个用来定姿态(旋转)

案例:一本在空中飞的书

前提

想象一本精装硬皮书,你把它在房间里随手一扔,它在空中边飞边转。

现在我问你:“请用最少的数字,把这本书上每一点在房间里的位置都告诉我。”

你需要怎么做?我们一步一步来,并且用真实坐标和数据推导。

第1步:先定书上随便一个点——比如左下角点 A

房间坐标系已经有了:墙角 X、Y、Z 轴。

点 A 可以飘到房间任何地方,它需要 3 个坐标:
A=(xA,yA,zA) A = (x_A, y_A, z_A)A=(xA,yA,zA)

比如我测出来:A=(1.2, 2.3, 0.8)单位:米A=(1.2, 2.3, 0.8)单位:米A=(1.2,2.3,0.8)单位:米

这 3 个数字谁也不能少,这就是 3 个自由度。

第2步:再定书上第二个点 B——比如右下角点

书是刚体,A 和 B 之间的距离永远固定,比如书的宽度是 0.2 m。

所以 B 不管怎么动,必须满足:
(xB−xA)2+(yB−yA)2+(zB−zA)2=(0.2)2=0.04 (x_B - x_A)^2 + (y_B - y_A)^2 + (z_B - z_A)^2 = (0.2)^2 = 0.04(xBxA)2+(yByA)2+(zBzA)2=(0.2)2=0.04

这是 1 个约束方程

B 本来要 3 个坐标,现在有 1 个方程,B 实际可以自由变化的只有 2 个独立坐标

B 本来要 3 个坐标,现在有 1 个方程,B 实际可以自由变化的只有 2 个独立坐标

形象地说,B 只能在以 A 为球心、半径 0.2 m 的球面上跑。球面是二维的,所以 B 贡献了 2 个自由度

比如选定 B 在球面上的位置可以用两个角度(经度、纬度)表示,这就对应了你前面说的“轴的方向只需要两个夹角”。

第3步:再定书上第三个点 C——比如左上角点

C 到 A 的距离是书的长度 0.3 m,这也是固定的:
(xC−xA)2+(yC−yA)2+(zC−zA)2=0.09 (x_C - x_A)^2 + (y_C - y_A)^2 + (z_C - z_A)^2 = 0.09(xCxA)2+(yCyA)2+(zCzA)2=0.09

这是一个约束。

同时书是刚体,B 和 C 的距离也必须固定,根据勾股定理,对角线距离:
0.22+0.32=0.13≈0.3606 m \sqrt{0.2^2 + 0.3^2} = \sqrt{0.13} \approx 0.3606 \, \text{m}0.22+0.32=0.130.3606m

所以第二个约束:
(xC−xB)2+(yC−yB)2+(zC−zB)2=0.13 (x_C - x_B)^2 + (y_C - y_B)^2 + (z_C - z_B)^2 = 0.13(xCxB)2+(yCyB)2+(zCzB)2=0.13

C 本来要 3 个坐标,现在被 2 个独立的方程卡住,它就只剩下 1 个自由度。

几何上,C 只能在一个圆上转——这个圆是两个球面的交线。这个圆正好就对应“刚体绕 AB 轴的自转”。


用数据推导总自由度

一开始如果我们不知道它是刚体,三个点总共需要:
3 个点×3 个坐标=9 个数字 3 个点×3 个坐标=9 个数字3个点×3个坐标=9个数字

刚体给了我们 3 个独立的距离约束方程:

  1. AB 长度固定
  2. AC 长度固定
  3. BC 长度固定

独立坐标数 = 变量总数 − 独立约束数

DOF=9−3=6 DOF = 9 - 3 = 6DOF=93=6

再按我们前面一步步加约束的加法:
DOF=3⏟A+2⏟B+1⏟C=6 DOF = \underbrace{3}_{A} + \underbrace{2}_{B} + \underbrace{1}_{C} = 6DOF=A3+B2+C1=6

完美对上。


这 6 个自由度怎么跟“平移+旋转”对应?

以上面飞行的书为例:

  • A 的 3 个坐标(xA,yA,zA)(x_{A},y_{A},z_{A})(xA,yA,zA)→ 书本质心可以随便移动,这是 3 个平移自由度。
  • B 的 2 个自由度(球面上的经度、纬度)→ 确定了书的底面 AB 轴指向哪个方向,相当于定出俯仰和偏航两个旋转角。
  • C 的 1 个自由度(在圆上转)→ 确定了书本绕 AB 轴自转了多少度,这就是第三个旋转角。

平移 3 + 旋转 3 = 6,跟前面的三点推导严丝合缝。


“轴+夹角”的思路

先定质心:3 个坐标

再定转轴方向:因为方向余弦平方和为 1,所以只需要 2 个独立角

最后定绕轴自转角:1 个

也是 3+2+1=6。

只是这里把“B 的球面经纬度”换成了“轴的两个角度”,把“C 绕交线圆”换成了“绕轴自转角”,本质是等价的


总结

“刚体的自由度”,用最通俗的话总结就是:

要完全讲清楚一本书在空中怎么飞,你需要告诉我:它在哪里(3 个平移数字) +它朝向哪边、自己转了多少度(3 个旋转数字),一共6 个数字,一个不能多,一个不能少。

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

相关文章:

  • EDA数据侦察:从分布异常到业务逻辑的深度探索
  • Arch Linux+KDE Plasma实现macOS风格桌面美化完整教程
  • Godot 4 TileMap完全指南:从瓦片集创建到2D关卡设计实战
  • SOLIDWORKS Composer 2024 实战:3步创建爆炸视图与BOM图解(附Digger工具)
  • C++实现正态分布百分点计算:从原理到高效算法实践
  • 逻辑卷的运用
  • 数据分析避坑指南:识别辛普森悖论的2个关键信号与验证方法
  • Handle/OID/Ecode 三大标识体系对比:编码结构、解析流程与6大行业选型指南
  • 基于TM4C129EKCPDT与PAM8904的智能音频通知系统设计
  • 深圳宝珀回收价格查询与各大平台实测排行(2026年7月最新数据) - 宝珀官方售后服务中心
  • Burp Suite实战:系统化SQL注入Payload有效性测试与绕过技巧
  • 工业AC-DC模块电源介绍详解丨基础科普(是什么?有什么分类?)丨产线分类丨参数规格丨产品应用丨关键参数与选型要点
  • Apache PLC4X:工业物联网统一访问的终极解决方案
  • Muse Image:AI图像生成代理的核心原理与实战应用指南
  • 从零到爆款功能原型,ChatGPT驱动的产品迭代全流程,含12个真实SaaS案例与转化率数据对比
  • 直流负载管理优化:G6D-ASI继电器与STM32控制方案
  • 2026终极盘点!好用的降AI率工具全盘点,重复率秒清零
  • LabVIEW 2048游戏UI进阶:自定义控件与事件结构实现3种交互优化
  • C++ AI生成代码禁用裸指针的3条硬约束规则
  • 堆排序与快速排序深度解析:从算法思想到 5 大应用场景实战
  • 泰格豪雅官方服务项目及价格查询|网点地址及客服电话权威信息通告(2026年7月最新) - 亨得利官方服务中心
  • 2026年7月最新青岛积家官方售后服务热线与网点地址查询 - 积家官方售后服务中心
  • MongoDB 7.0 副本集转分片集群实战:3节点副本集平滑升级为双分片集群
  • SolidWorks 2024 草图绘制效率提升:5个核心工具从入门到精通的3小时实践
  • Syncthing Android:如何在移动设备上搭建私有云同步网络?
  • VSCode GitLens 2024 配置指南:解决 Windows 路径与终端冲突的 2 个关键点
  • C++实现DXGI屏幕截屏与BMP文件生成分割技术详解
  • SHX与TTF字体对比:5个维度解析CAD矢量字体选型与性能影响
  • VSCode ESP-IDF 插件 1.0+ 配置:解决头文件识别与编译加速 2 大痛点
  • Cocos Creator游戏开发进阶:从ECS架构到性能优化的实战指南