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

网站开发实习过程秦皇岛网站公司

网站开发实习过程,秦皇岛网站公司,wordpress 去掉页头,设计师培训招生视频一、基础知识 1. 什么是刚体 刚体(Rigid Body) 就是一个不会变形的物体。 举例: 一个木块、一只水瓶、一台手机,都可以近似看作刚体。 即使你用力搬动它,它内部形状和尺寸不会变化。 2. 三维空间中的刚体运动是什…

一、基础知识

1. 什么是刚体

刚体(Rigid Body) 就是一个不会变形的物体

举例:

  • 一个木块、一只水瓶、一台手机,都可以近似看作刚体。

  • 即使你用力搬动它,它内部形状和尺寸不会变化

2. 三维空间中的刚体运动是什么?

刚体在三维空间中,运动有 两种基本形式

平移运动(Translation)

整个物体沿着某个方向移动,但方向不变、不会转动。

💡 举例:

  • 你把水杯从桌子左边滑到右边,杯子没转,只是“平移”

旋转运动(Rotation)

刚体围绕某个轴“旋转”,但中心可能不动。

💡 举例:

  • 你拿着一支笔转圈圈(像旋转陀螺),这就是绕笔心的旋转

3.总结

三维空间中刚体运动 = 平移 + 旋转 的组合!

准确地知道一个刚体的位置和方向,就要描述它的:

  • 位置坐标(平移)

  • 姿态 / 朝向(旋转,通常用欧拉角、四元数、旋转矩阵)

这就是机器人、机械臂、无人机、VR 控制器等领域中最基本的物理模型!

二、旋转描述

1. 欧拉角(Euler Angles)

  • 就是用 3 个角度值,分别表示:绕 X轴Y轴Z轴 的转动。

  • 比如:先绕 X 轴转 30°,再绕 Y 轴转 45°,再绕 Z 轴转 90°

优点:

  • 通俗、好理解(类似你“抬头-摇头-歪头”)

缺点:

  • 有个严重问题叫 万向节锁(Gimbal Lock):两个轴重合,导致一个旋转自由度丢失(会卡住)

如何利用缺点:

当旋转一个角度90度,与另一个角度重合,则会减少一个选择自由度。可以运用,限制不需要的自由度。 

 

2. 旋转矩阵(Rotation Matrix)

  • 一个 3×3 的矩阵,可以用来把一个向量旋转到另一个方向。

  • 实质上是通过线性代数实现旋转。

优点:

  • 数学上非常严谨,适合做组合、多次旋转

  • 可以直接用于变换坐标、绘图、仿真

 缺点:

  • 不直观、占内存大(9个数)

3.  四元数(Quaternion)

  • 数学家发明的一个超越三维的数学结构

  • 用 4 个数字(而不是 3 或 9 个)就可以稳定表示任意旋转

优点:

  • 没有万向节锁!(解决了欧拉角的问题)

  • 更节省计算资源(比矩阵小,比欧拉角稳定)

 缺点:

  • 不直观,你看不懂那 4 个数具体“转了多少度”

  • 但对机器人/无人机/Unity游戏/AR VR 来说超级常用!

 4. 旋转变换

你想把一个物体旋转:

  • 绕 X 轴 90°

  • 绕 Y 轴 0°

  • 绕 Z 轴 0°

用欧拉角表示就是 [90, 0, 0](单位:度)

 # 欧拉角 (degree) → 旋转矩阵

import numpy as np
from scipy.spatial.transform import Rotation as R# 欧拉角 (degree) → 旋转矩阵
euler_angles = [90, 0, 0]  # 绕XYZ轴的旋转
r = R.from_euler('xyz', euler_angles, degrees=True)
rotation_matrix = r.as_matrix()
print("Rotation Matrix:\n", rotation_matrix)

欧拉角 ↔ 四元数

四元数(Quaternion)用的是 4 个值:[w, x, y, z]

继续上面的例子:

# 欧拉角 → 四元数
quat = r.as_quat()
print("Quaternion [x, y, z, w]:", quat)# 四元数 → 欧拉角
r2 = R.from_quat(quat)
euler_back = r2.as_euler('xyz', degrees=True)
print("Recovered Euler:", euler_back)

四元数 ↔ 旋转矩阵

# 四元数 → 旋转矩阵
rot_mat2 = R.from_quat(quat).as_matrix()
print("Rotation Matrix from Quaternion:\n", rot_mat2)# 旋转矩阵 → 四元数
quat_back = R.from_matrix(rot_mat2).as_quat()
print("Recovered Quaternion:", quat_back)

应用场景

 

三、SE(3)

1. 定义

SE(3) 全称是:Special Euclidean group in 3D三维空间中的特殊欧几里得群

本质是:

描述一个刚体在三维空间中的“位置 + 姿态(方向)”的标准数学工具

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

相关文章:

  • 北京公司如何做网站wordpress 书
  • 站内推广策略vi 设计
  • 自己做企业网站服务器许昌建设企业网站
  • 有回定ip怎么做网站看书网站排名
  • 深圳专业设计网站平台品牌网站制作报价表
  • 怎么注销网站备案expedia电子商务网站建设
  • 做查询新生寝室的网站音乐类网站开发
  • 广州科技网站建设中山网站模板
  • 网站开发antnw在线做数据图的网站有哪些问题
  • 做教学的视频网站网站改版建议策划书
  • 一键安装网站运行环境jsp网站建立
  • 医疗网站备案前置审批如何找到网站管理员
  • 网站注册地址查询龙岗网站设计公司
  • 网站建设积分wordpress文章添加版权
  • python做视频点播网站wordpress页面属性排序
  • 网站建设发展制度辽宁工程招投标信息网
  • 海兴县网站建设php网站开发环境论文
  • 广东省农业农村厅领导名单济南公司网站推广优化最大的
  • 贵州遵义知名网站建设中国网创官方网站
  • 哪个小说网站防盗做的好可信网站图标
  • 百度地图 添加到网站昆明专业网站建设的公司
  • 1网站建设的目标是什么意思搭建网页整体框架技术
  • PHP网站开发技术期末作品wordpress小程序收录
  • 微商城网站开发合肥网站策划
  • 企业网站建设存在的不足郑州网站建设 李浩
  • 中国矿井建设相关媒体网站带分销系统的微商城
  • 永久个人自助建站大良网站建设市场
  • 网站建设市场规模单位做核酸简讯
  • 炎陵做网站公司网站建设会计处理
  • 横沥网站设计it运维工程师简历