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

【数理知识】自由度 degree of freedom 及自由度的计算方法

放在最前的一句话:自由度是一个存在于两个学科中的概念,一个是存在于统计学中的自由度,另一个是存在于物理学中的自由度。而我本人需要的是研究物理学中的自由度概念,同时本笔记全篇也是在了解物理学中的自由度。

文章目录

  • 自由度
  • 自由度意味着什么
  • 自由度的计算方法
  • 自由度的应用
  • Ref

自由度

自由度是用来描述一个物理系统中,系统状态可以改变的独立方式的数量。

通常,每一个可以独立改变而不影响系统其它部分的参数都被认为是一个自由度。

例如,对于一个三维空间中的物理(如一个刚体或一个机器人手臂),可以有六个自由度:

  • 三个用于描述刚体中心的位置(在 x 、 y 、 z x、y、z xyz 轴上的移动)
  • 另外三个用于描述刚体的方向(围绕 x 、 y 、 z x、y、z xyz 轴的旋转)

再举例来说,运动自由度是确定一个系统在空间中的位置所需要的最小坐标数。

例如火车车厢沿铁轨的运动,只需从某一起点站沿铁轨量出路程,就可完全确定车厢所在的位置,即其位置用一个量就可确定,我们说火车车厢的运动有一个自由度;
汽车能在地面上到处运动,自由程度比火车大些,需要用三个量(例如线性坐标 x , y x, y x,y 与角度坐标 θ θ θ)才能确定其位置,我们说汽车的运动有三个自由度;
飞机能在空中完全自由地运动,需要用六个量(例如直角坐标 x , y , z x, y, z x,y,z 与三个角度 ϕ , θ , ψ \phi, \theta, \psi ϕ,θ,ψ)才能确定其位置,我们说飞机在空中的运动有六个自由度。

所谓自由度数就是确定物体在空间的位置所需独立坐标的数目。

自由度意味着什么

在物理学和工程学中,自由度描述的是一个物理系统的状态可以独立变化的最少参数数量。

还是拿一个刚体来说,一个在三维空间中自由移动的刚体具有六个自由度:

  • 三个对应于空间中的位置(上下,左右,前后),
  • 三个对应于刚体围绕各个轴线( x , y , z x,y,z xyz轴)的旋转。

而每个自由度都可以独立于其他自由度进行改变,对系统的状态产生影响。

自由度的计算方法

在物理学和工程学中,一般来说,
一个在三维空间中自由移动的点质量有三个自由度(沿 x 、 y x、y xy z z z 轴的移动),
一个自由旋转的刚体有三个自由度(绕 x 、 y x、y xy z z z 轴的旋转),
一个在三维空间中自由移动和自由旋转的刚体有六个自由度(3个平移和3个旋转)。
在这种情况下,自由度的数量就是系统状态所需的独立参数的数量。

在特定的问题和场景中,需要根据实际情况来确定自由度。

在力学中,自由度指的是力学系统的独立坐标的个数。力学系统由一组坐标来描述。比如一个质点的三维空间中的运动,在笛卡尔坐标系中,由 x 、 y 、 z x、y、z xyz 三个坐标来描述;或者在球体坐标系中,由 r 、 θ 、 ϕ r、\theta、\phi rθϕ 三个坐标描述。

描述系统的坐标可以自由地选取,但独立坐标的个数总是一定的,也就是系统的自由度。一般而言, N N N 个质点组成的力学系统由 3 N 3N 3N 个坐标来描述。但力学系统中常常存在着各种约束,使得这 3 N 3N 3N 个坐标并不都是独立的。对于 N N N 个质点组成的力学系统,若存在 m m m 个完整约束,则系统的自由度变为

S = 3 N − m S = 3N - m S=3Nm

比如,在平面运动的一个质点,其自由度为 2。

又或者是,在空间中的两个质点,中间以线连接。所以其自由度为

S = 3 × 2 − 1 = 3 + 2 + 0 \begin{aligned} S &= 3 \times 2 - 1 \\ &= 3 + 2 + 0 \end{aligned} S=3×21=3+2+0

其中的 3 表示 2 个质点的质心有 3 个位移方向,但由于有一条线约束,两个质点绕质心的转动自由度由 3 减为 2,即不可做以线为轴的转动,而又由于线是刚性不可伸缩的,故两质点不可在线的方向上振动,即振动自由度为 0。如果线是弹性的,则这个模型类似于两原子构成的气体分子模型,除了有 3 个位移自由度、2 个转动自由度外,还有 1 个振动自由度。

自由度的应用

自由度的概念被广泛应用于很多领域,包括但不限于以下几个领域:

  • 机械工程和机器人学:在设计机器人或机械系统时,自由度是一个关键的概念。机器人的自由度指的是机器人可以独立控制的方向数量。例如,一个具有三个自由度的机器人臂可以在三个独立的方向上移动。

  • 统计学:在统计学中,自由度是一个重要的概念,它涉及到样本数据的数量以及我们从这些数据中可以获得的信息。比如在t检验中,自由度通常等于样本数量减一。

  • 物理学和化学:在分子动力学和量子力学中,一个系统的自由度是描述其状态所需的独立参数数量。比如一个气体分子的自由度可以包括它在空间中的位置和动量。

  • 计算机图形学:在创建和操作3D模型时,我们经常会考虑模型的自由度。例如,一个3D模型的自由度可能包括它在3D空间中的位置、旋转和缩放。

  • 生物学和生物物理:在研究蛋白质折叠、DNA运动等生物大分子的动力学行为时,会用到自由度的概念。例如,一个蛋白质的自由度可以包括每个原子的位置,或者每个键的角度。

  • 结构力学:在建筑和土木工程中,自由度的概念被用来描述结构的约束。例如,一个固定在墙上的梁的自由度可能会少于一个两端都是自由的梁。

这些都是自由度概念的一些具体应用,但实际上,自由度的概念被广泛应用于许多其他的科学和工程领域。

Ref

  1. 自由度 - 百度百科
  2. 物理学中自由度怎么理解?平动,转动,振动的自由度,还有刚体的自由度? - 知乎
  3. 自由度 - WikiPedia

相关文章:

【数理知识】自由度 degree of freedom 及自由度的计算方法

放在最前的一句话:自由度是一个存在于两个学科中的概念,一个是存在于统计学中的自由度,另一个是存在于物理学中的自由度。而我本人需要的是研究物理学中的自由度概念,同时本笔记全篇也是在了解物理学中的自由度。 文章目录 自由度…...

苍穹外卖day09——历史订单模块(用户端)+订单管理模块(管理端)

查询历史订单——需求分析与设计 产品原型 业务规则 分页查询历史订单 可以根据订单状态查询 展示订单数据时,需要展示的数据包括:下单时间、订单状态、订单金额、订单明细(商品名称、图片) 接口设计 查询历史订单——代码开…...

正则表达式 —— Grep

文本处理三剑客:Grep、Sed、Awk 这三个工具都是基于对文本的内容进行增删改查的操作,此篇着重介绍grep与正则表达式的应用,以及扩展正则表达式。 正则表达式 什么是正则表达式? 它是由一类特殊字符以及文本字符所编写的一种模式…...

STC12C5A系列单片机片内看门狗的应用

wdt.c #include "wdt.h"void wdt_init(void) {WDT_CONTR 0x24; // 0010 0100 - 1.1377s }void wdt_feed(void) {WDT_CONTR | 0x10; // 喂狗 }wdt.h #ifndef _WDT_H_ #define _WDT_H_#include "stc12c5a60s2.h"// 函数声明 extern void wdt_init(void); …...

C语言指针详解

目录 指针是什么? 指针和指针类型 指针-整数 指针的解引用 野指针 野指针成因 如何规避野指针 指针运算 指针- 整数 指针-指针 指针的关系运算 指针和数组 二级指针 指针数组 指针数组 模拟二维数组 指针是什么? 指针理解的2个要点: 1. 指针是内存中一个…...

RTPS规范v2.5(中文版)

实时发布订阅协议 DDS互操作性有线协议 (DDSI-RTPS) 技术规范 V2.5 (2022-04-01正式发布) https://www.omg.org/spec/DDSI-RTPS/2.5/PDF   目 录 1 范围 8 2 一致性 8 3 规范性参考文献 8 4 术语和定义 9 5 标识 …...

LeetCode102.Binary-Tree-Level-Order-Traversal<二叉树的层序遍历>

题目: 思路: 写过N叉树的层序遍历,(8条消息) LeetCode429.N-Ary-Tree-Level-Order-Traversal<N 叉树的层序遍历>_Eminste的博客-CSDN博客 使用栈保存每一层的结点。然后每次当前层结束。将这一层的值添加进去res中。…...

yolov8系列[五]-项目实战-yolov8模型无人机检测

yolov8系列[五]-项目实战-yolov8模型无人机检测 项目介绍项目展示功能简介代码结构如何启动 开发者模式1. 安装依赖环境2. 启动程序 源代码下载其他 项目介绍 无人机识别项目,无人机搭载nvidia jetson边缘计算板子,进行实时识别。使用yolov8算法,训练了识别无人机的…...

Redis 笔记,基本数据类型、持久化、主从、集群等等问题

标题 😀😀😀创作不易,各位看官点赞收藏. 文章目录 标题Redis 基础笔记1、安装及环境搭建2、Redis 数据类型2.1、String2.2、List2.3、Hash2.4、Set2.5、Zset2.6、BitMap2.7、HyperLogLog2.8、Geospatial2.9、Stream 3、Redis 持久…...

JDK,JRE,JVM三者的关系

JDK(全称 Java Development Kit),Java开发工具包,能独立创建、编译、运行程序。 JDK JRE java开发工具(javac.exe/java.exe/jar.exe) JRE(全称 Java Runtime Environment),能运行…...

行为型-命令模式(Command Pattern)

说明 命令模式(Command Pattern)是一种行为设计模式,它将请求封装为一个对象,以便在不同的请求者和接收者之间进行解耦、参数化和操作的队列化。命令模式允许你将具体的请求封装为对象,这些对象之间彼此独立&#xff…...

总结942

5:40起床 6:00~7:00单词复习300个,记100个 7:15~8:00早读,《love is as strong as death》第一第二段 8:10~9:10三大计算回顾 9:15~10:06 习题880第一章基础选择纠错 10:10~10:30单词默写 10:30~11:40强化第一讲习题 11:40~12:30继续…...

MFC自定义控件使用

用VS2005新建一个MFC项目,添加一个Custom Control控件在窗体 我们需要为自定义控件添加一个类。项目,添加类,MFC类 设置类名字,基类为CWnd,你也可以选择CDialog作为基类 类创建完成后,在它的构造函数中注册一个新的自定义窗体,取名为"MyWindowClass" WNDCL…...

【学习笔记】「ROI 2018 Day 2」无进位加法

先放一个大佬的博客:「loj - 2850」「ROI 2018 Day 2」无进位加法 用数据结构来优化搜索🤔 神一样的 Kidulthood 考场上就已经意识到了这道题的正解是搜索😅 考虑搜索过程的本质🤔 首先是找到最小的满足 t i i t_ii ti​i最大…...

分布式I/O,IT和OT融合少不了它

长期以来信息技术IT和操作运营技术OT是相互隔离的,随着大数据分析和边缘计算业务的对现场级实时数据的采集需求,IT和OT有了逐渐融合的趋势。IT与OT融合,它赋予工厂的管理者监控运行和过程的能力大为增强,甚至可以预测到可能发生的…...

主干网络篇 | YOLOv8 更换主干网络之 VanillaNet |《华为方舟实验室最新成果》

论文地址:https://arxiv.org/pdf/2305.12972.pdf 代码地址:https://github.com/huawei-noah/VanillaNet 在基础模型的核心是“多样性即不同”,这一哲学在计算机视觉和自然语言处理方面取得了惊人的成功。然而,优化和Transformer模型固有的复杂性带来了挑战,需要转向简洁性…...

AD20. 如何给元器件设计、添加3D模型

Altium Designer学习笔记 - 00.目录​​​​​​​ 零. 前言 本文以HF46F继电器为例展示设计、添加元器件3D模型的流程,其他元器件类似。 一. 操作步骤 从下图可以看到此时继电器还没有添加3D模型: 1. 获取元器件尺寸 这里通过查找元器件的数据手册可以…...

C++笔记之vector的底层实现和扩容机制

C笔记之vector的底层实现和扩容机制 1. 先申请内存空间,内存空间容量变成原来的n倍(一般是原来的两倍) 2. 将原本容器中的数据拷贝到新的内存空间中 3. 释放原来的内存空间 4. 将数组指针指向新容器的内存空间 code review! 文章目录 C笔记之vector的底层实现和扩…...

JavaSE - Sting类

目录 一. 字符串的定义 二. String类中的常用方法 1. 比较两个字符串是否相等(返回值是boolean类型) 2. 比较两个字符串的大小(返回值是int类型) 3. 字符串查找 (1)s1.charAt(index) index:下标&…...

zotero+overleaf插入参考文献

zotero导出参考献bib文件 overleaf上传此biib文件 后续添加package,输出参考文献,添加引用参考http://t.csdn.cn/bC245 默认导出的bib文件信息臃肿,使用插件设置,安装过程参考​​​​​http://t.csdn.cn/4HcBm​​​​​​​​…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...

AspectJ 在 Android 中的完整使用指南

一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

企业如何增强终端安全?

在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...