2026-05-08

Simulate-pendulum-motion-using-Blender

1. Pendulum
	1.1 周期公式
	1.2 摆钟
	1.3 航海钟
	1.4 秒摆和米
2. 使用Blender模拟摆运动
	2.1 秒摆-简单驱动器
	2.2 摆动画-曲线编辑器
	2.3 有点粗糙的关键帧模拟
	2.4 其他可用Blender的物理特性模拟
3. 秒摆-驱动器进阶
	3.1 带变量的驱动器公式
	3.2 设置变量 fps
	3.3 设置变量 length
	3.4 设置变量 amp
	3.5 摆插件

1. Pendulum

摆是一种实验仪器,可用来展现种种力学现象。最基本的摆由一条绳或竿,和一个锤组成。
锤系在绳的下方,绳的另一端固定。当推动摆时,锤来回移动。摆可以作一个计时器。

1.1 周期公式

摆的周期随着振幅θ₀(摆动的宽度)的增加而变长。
单摆的摆动周期取决于其长度、当地重力强度,以及摆锤偏离垂直方向的最大角度θ₀(称为振幅)。 它与摆锤的质量无关。

如果振幅被限制在较小的摆动范围内。角度远小于 1 弧度(通常认为小于 0.1 弧度,约 6°)θ₀≪1
在小角度近似下,单摆的运动可以近似为简谐运动。其中θ₀为振幅(即摆杆与竖直方向之间的最大夹角)。相应的近似周期为:
T≈2π√(L/g)
其中,L为摆长,g为当地的重力加速度。

摆长为 1米的单摆,于地表处作小角度摆动可近似为简谐运动,周期 T≈2s 这种单摆称之为秒摆。

1.2 摆钟

摆钟是以一种称为钟摆的摆动重锤为计时装置的时钟。
使用钟摆计时的优势乃是因其为一谐振子,钟摆基于其摆长以同一频率反复振动,且其振动单一而稳定。
从1656年克里斯蒂安·惠更斯正式发明摆钟以来直到20世纪30年代,基于摆钟的普遍程度,摆钟一直保持着世界上最精确的计时装置的地位。

钟表匠们意识到只有摆幅较小的摆锤(几度)才能保证走时同步,这促使罗伯特·胡克在1658年左右发明了锚式擒纵机构,将摆锤的摆动幅度缩小到4-6°。
  • 秒摆(也称皇家摆),长0.994米(39.1英寸),周期为两秒,被广泛应用于高档钟表。
  • 座钟则使用半秒摆,长度为25厘米(9.8英寸)或更短。
  • 只有少数大型塔钟使用更长的摆,例如1.5秒摆,长度为2.25米(7.4英尺),
  • 或者偶尔使用两秒摆,长度为4米(13英尺),例如大本钟使用的那种摆。
到17世纪末,秒摆的长度成为衡量某一地点重力加速度的标准。
到1700年,欧洲多个城市的秒摆长度测量精度已达到亚毫米级。
对于秒摆而言,重力加速度g与其长度成正比:g∝L

1667年,惠更斯在钟摆上加了1个齿轮,令其更加可靠,但无法在颠簸摇晃的船上使用。
最后用1具由两个弹簧推动的摆轮代替钟摆,从而造出航海钟。

1.3 航海钟

航海天文钟是一种精密计时器,安装在船上,用于通过天文导航确定船舶位置。
它通过比较格林尼治标准时间(GMT) 和根据天体观测确定的当前位置时间来确定经度。
航海天文钟最初于 18 世纪发明,是一项重大的技术成就,因为在缺乏电子或通信辅助设备的时代,精确掌握远洋航行中的时间对于有效导航至关重要。
第一台真正意义上的航海天文钟是约翰·哈里森毕生心血的结晶,他历经 31 年坚持不懈的实验和测试,彻底革新了海上(以及后来的航空)导航。

1.4 秒摆和米

Meter
在1791年法国采用公制之前的讨论中,定义新长度单位——米——的主要候选方案是北纬45°的秒摆。
这一方案由法国政治家塔列朗和数学家安托万·尼古拉·卡里塔·德·孔多塞领导的小组提出。
这是法国科学院委员会考虑的三个最终方案之一。
然而,1791年3月19日,委员会最终选择以穿过巴黎的子午线长度为基础来定义米。
秒摆的定义被否决的原因是其在不同地点存在差异,而且它是用时间单位来定义长度。
不过,自1983年以来,米的官方定义已改为以秒的长度和光速为基础。
另一个可能的原因是,激进的法国科学院不希望他们的新系统以秒为基础,因为秒是旧制度下的传统非十进制单位。

尽管米的长度并非由摆锤定义,但最终选定的米的长度——从极点到赤道的子午弧的10⁻⁷倍——与秒摆的长度(0.9937米)非常接近,误差在0.63%以内。
虽然当时并未给出选择这一特定长度的理由,但很可能是为了便于将秒摆用作辅助标准,正如官方文件中所提议的那样。
因此,现代世界的标准长度单位在历史上无疑与秒摆有着密切的联系。

最新一米定义于1983年国际度量衡大会重新制定,此次定义时使用了自然中随处可见的光,并且在70年代光速的测定已非常精确,所以最终定义为光在真空中行进299 792 458分之1秒的距离为一标准米。
故此,一旦光速得到更精准的量度,改变的数值会是米而非光速。

2. 使用Blender模拟摆运动

2.1 秒摆-简单驱动器

前面章节已经了解到秒摆的要求及状态。
1米的高度,摆动幅度介于4~6°,2秒完成一个周期。
那么就做一个2秒钟,共48帧的动画,可以做成无限重复播放的视频或动图。
周期公式: T≈2π√(L/g),其中 π2 ≈ g,所以 π ≈ √g,若L=1,那么 π√(1/g) ≈ 1,结果就是T ≈ 2s

建模
新建一个球体作为摆锤。编辑模式下顶部选取面,向上挤出,作为摆动杆。
摆锤和上方的杆是一体的,将物体原点设置到摆动杆顶端。作为旋转中心。

驱动器
#sin(frame/7.6)/11.4
  • 其中sin()是正弦函数,
  • frame是随帧数变化的全局变量。
  • 这里的: /7.6, 控制频率,大约48帧,2秒完成一个周期。
  •  /11.4, 控制振幅,大约5°。
将公式写入摆锤Y轴旋转栏位,空格播放,完成。

2.2 摆动画-曲线编辑器

Tutorial: Pendulum Waves in Blender
以下内容参考教程视频如上,视频里还加入了酷炫的材质特效,有兴趣可以去看看。
这里只记录了制作摆的过程。

3D视图拆分出一个区域,打开 曲线编辑器
选中摆锤,鼠标停留在旋转Y轴栏位上方, I 添加关键帧,在曲线编辑器里,删除x,z的旋转,只保留Y。
选中曲线编辑器,中线,G 上下移动,3D视图的物体就会左右摆动了。[ESC]

曲线编辑器,打开右侧的修改器页签,点击,添加修改器\Built in Function 内置函数
就用默认的正弦。
现在 空格 播放,物体开始疯狂摆动。修改如下2个参数值。改变振幅和频率。
  • 插值 (振幅) 0.3
  • 相位倍值 Phase Multpiter (频率) 0.1
  • 相位偏移 Phase Offset 默认0即可
  • 值偏移 Value Offset 默认0即可
好了,一个摆动画。增加一点趣味

选中物体,Shift D,复制,沿Y移动5,重复约10次
然后从第二个开始,选中第二个,修改频率,0.11
选中第三个,修改频率,0.12 … 依次修改剩余摆锤。
空格,播放...

曲线编辑器 缩放操作
鼠标滚轮,缩放曲线,
Ctrl 鼠标中键, 鼠标缩放

A 全选所有摆锤,曲线编辑器里,所有曲线都会显示出来。曲线编辑器最大化 Ctrl 空格
本例中大概在 628帧处,找到了所有摆锤曲线的重合点。
总帧数设为该数值,即可循环播放了...

2.3 有点粗糙的关键帧模拟

还是以上的建模,摆锤与摆杆一体,物体原点在摆杆顶端。
在0(Y30°),30(Y0°),60(Y-30°),90(Y0°),120(Y30°)帧处分别插入关键帧,共120帧完成一个周期。
打开曲线编辑器,关闭x,z,只保留Y旋转。
A全选时间线所有关键帧,在曲线编辑器里,缩放。可以改变摆动速度。

继续添加模拟空气阻力带来的摆动衰减。
曲线编辑器,T,设置关键帧的插值模式。
缓动(通过力度)\二次型
选中怪异曲线2端,Ctrl E,选择淡出。调整其他怪异曲线,完成。

2.4 不太好控制的物理特性模拟

上方添加一个圆柱体,设置刚体:被动,形状选 Convex Huli 凸孔。摩檫力降到0.1
该圆柱体 穿过摆锤的杆顶端,作为锚点,旋转轴。

带杆的摆锤,设置刚体: 活动,形状选 Mesh 网格。摩檫力降到0.1。灵敏度降到0
重置摆锤原点。
播放。速度有点慢。
场景面板\刚体世界环境\速率,调整为5.
播放...

摆绳可用物理引擎的布料属性。

3. 秒摆-驱动器进阶

3.1 带变量的驱动器公式

这是《Python Scripting in Blender》书籍,(第09章 动画驱动器)里的示例。书本里有详细的过程。这里只摘录关键步骤。
这里的公式与前面章节(秒摆-简单驱动器)的不同之处,在于:
  • 建模部分,顶端锚点和摆锤是分开的,其间的距离是个变量,就是周期公式里的L长度。上一节的秒摆例子是直接取了最简单的1。
  • 第二个变量是每秒的帧数,也作为变量,你可以随意设置希望的帧数。
  • 第三个变量是可以随意修改属性值,以改变摆动幅度。
这个例子可以让新手了解到如何设置自定义变量,如何添加自定义属性。驱动器里如何使用这些自定义项目。

建模:可以同上,不同之处是,不要修改摆锤的原点,让原点保留在摆锤球体中心。
在顶端新建一个空物体-空箭头,作为摆动的锚点,旋转中心。
由于摆锤的原点在锤体中心,所以,这时候旋转,会绕着锤体中心旋转,而不是上方的锚点。

添加旋转约束:选择摆锤,打开约束选项面板,添加约束: Pivot, 目标选择空对象。
将选择范围改为:Always,始终。以便所有方向的旋转都受到影响。
现在再旋转摆锤,他会绕着上方空物体锚点旋转了。

驱动器公式
#sin(frame/fps/sqrt(length/9.8))
这里的 fps,就是帧数变量。length,是摆绳长度。
将公式输入摆锤的旋转Y栏位,但并不会起作用,还要定义这2个变量才能用。
鼠标在 旋转Y栏位 上方右键菜单里 选择 编辑驱动器,打开编辑面板。

3.2 设置变量 fps

获取每秒帧数属性
单击“+添加输入变量”按钮将向驱动器添加新变量。
默认情况下,此变量的名称为var,并且是RNA属性变量——即,它从Blender中的另一个属性读取值。
  • 下方的属性栏,左边选择类型:场景;右边选择当前的场景:Scene (本示例就用默认的这一个)
  • 在下方的路径,填入: render.fps 以获取在渲染设置中设置的每秒帧数。
  • 最后别忘了将基因代码(RNA)图标右侧的当前名称var重命名为fps。
下方的数值,应该已经取到当前设置的30帧了。
现在,变量名称与驱动器表达式中使用的名称匹配,因此frame/fps是当前帧的时间,以秒为单位。
这允许下一个变量length通过基于秒的公式影响周期。

3.3 设置变量 length

使用距离变量获取摆的长度
驱动器变量有四种类型:
  1. 单一属性 Single Property
  2. 变换通道 Transform Channel
  3. 旋转差异 Rotational Difference
  4. 距离 Distance
  • 前两种,单一属性和变换通道,依赖于属性的值,
  • 而后两种,旋转差异和距离则是两个对象变换之间的差异。
在这种情况下,绳索的长度是驱动对象与其支点之间的距离——即摆锤与空对象之间的距离。
因此,我们将使用它们的距离作为长度:
单击“+添加输入变量”按钮添加新变量。
单击RNA图标将类型更改为距离。面板将更改,允许您选择两个对象。

选择摆锤和空对象,并将变量名称更改为 length。
选择了2个对象后,下方的距离值就会显示出来。

空格,播放,小球已经摆动起来了。不过摆动幅度有点大。

3.4 设置变量 amp

控制振幅
选择我们用作支点的空对象。
在对象属性面板中,找到自定义属性部分。
单击“+新建”按钮以添加属性。默认情况下,它将命名为prop。
单击齿轮图标并将属性名称更改为 amplitude。
右键单击值(默认值1.00很好),选择“复制数据路径”。["amplitude"]
这将把属性的路径复制到剪贴板。当我们添加下一个驱动器变量时,这将很有用。

在驱动器中使用自定义属性
选择摆锤,打开旋转轴驱动公式的编辑驱动器面板。
单击“+添加输入变量”,并将新变量命名为amp。
单击类型选择 物体,选择空对象作为属性对象。
单击Path:字段并使用Ctrl + V粘贴存储在剪贴板中的数据路径,或输入["amplitude"]。方括号是自定义属性Python路径的一部分。

我们可以直接将* amp添加到驱动器表达式中,但我们可以做得更好:由于驱动器影响旋转,我们还可以将π添加到乘法中:
sin(frame / fps / sqrt(length/9.8)) * amp * pi
正弦函数在-1.0和1.0之间振荡,因此当幅度设置为1.0时,我们的驱动器结果在-π到π之间变化。
从0.0(静止摆动)到1.0(完整旋转)的控制对动画师和3D用户具有直接意义,因为它允许他们通过更改幅度设置所需的圆的分数。
到此,一个完整的摆动画驱动完成了,可以按需要修改3个变量的参数,以适应需求。

3.5 摆插件

编写一个插件,为活动对象设置摆。
这是书籍带的插件代码,书中详述了过程,有兴趣的可以查阅书籍内容。
下载安装插件后,即可使用。
在对象模式中,选择一个对象使其处于活动状态。
右键单击并选择“Make Pendulum”以调用插件。
在左下角操作符属性中设置长度和幅度的值。

2026-04-23

Platonic-solid

1. 正多面体
2. Platonic-solid
	2.1 判断依据
	2.2 简单证明
	2.3 同心球
	2.4 相关计算公式
	2.5 正多面体数据表
3. Blender绘制正多面体

1. 正多面体

正多面体 (regular polyhedron) 是指以全等正多边形为面的多面体。
它的对称群 (symmetry group) 作用于其所有面(或称旗面 flags)上,传递性 (transitively) 成立。
正多面体具有高度对称性 (symmetrical),边传递性 (edge-transitive)、顶点 (vertex) 传递性和面 (face) 传递性均成立。
在经典语境中,正多面体有许多不同的等价定义; 一种常见的定义是,其所有面都是全等正多边形,且围绕每个顶点以相同的方式组装而成。
缩减到4个字: 等边等角

种类
  • 五种凸正多面体 convex regular polyhedra,称为柏拉图立体 Platonic solids;
  • 四种正星形多面体 regular star polyhedra,即开普勒-泊松多面体 Kepler–Poinsot polyhedra;
  • 五种正多面体的复合多面体 regular compounds of regular polyhedra. 
本文只考虑 五种凸正多面体 柏拉图立体

2. Platonic-solid

正多面体的作法收录于《几何原本》:
  • 命题13描述正四面体的作法;
  • 命题14描述正八面体作法;
  • 命题15描述立方体作法;
  • 命题16则是正二十面体作法;
  • 命题17则是正十二面体作法。

2.1 判断依据

判断正多面体的依据有三条
  • 正多面体的面由正多边形构成
  • 正多面体的各个顶角相等
  • 正多面体的各条棱边都相等
一个凸多面体,各个顶角相等;各条棱边都相等,是否必然是正多面体?

2.2 简单证明

正多面体,由多个正多边形组成。
正多边形,边数 为 n ,每个内角: 180 * (n – 2) / n < 360 / 3 = 120

正n变形内角分别为:
n=3,内角60°;n=4,内角90°;n=5,内角108°;n=6,内角120°… 

正6边形 及更多边的内角都大于等于120度,无法成为正多面体的面。
所以正多面体的面,只能是,正3,4,5边形。

其中:
  • 正5边形,角度为108°,单个顶点只能允许3个正5边形,正12面体
  • 正方形,角度为90°,单个顶点同样只能允许3个面存在,正六面体
  • 正3角形,角度为60°,单个顶点可以有(3,4,5)个面存在,正4,8,20面体

2.3 同心球

正多面体具有三个相关的球体(其他非正多面体至少缺少一种),其球心位于同一个点上:
  • 内切球 与所有面相切,内切圆半径 r: 多面体中心到 面中心 的距离。
  • 中分球 与所有棱相切,中点半径 ρ: 多面体中心到 边中点 的距离。
  • 外接球 过所有顶点,外接圆半径 R: 多面体中心到 顶点 的距离。

2.4 相关计算公式

  • 正多边形面积公式: S = ½ * Pr (P是周长,r是边心距。)
  • 锥体的体积公式为:V=1/3Sh,公式中S为底面积,h为高。 
每个柏拉图立体都可以被赋予一对整数 { p ,  q },
  •  p 表示每个面的边数(或等价地,顶点数),
  •  q 表示每个顶点处相交的面数(或等价地,边数)。
这对整数 { p ,  q } 被称为施莱夫利符号,它给出了多面体的组合描述。

  • 柏拉图立体 {p, q} 的表面积A可以 很容易地计算为正p边形的面积乘以面数F。即 :
    •  A = (α/2)2 * Fp * cot(π/p)
  • 体积计算方法为:F乘以底面为正p边形、高为内切半径r的棱锥的体积。也就是说,
    •  V = 1/3 * r * A

2.5 正多面体数据表

Platonic solids Tetrahedron Cube Octahedron Dodecahedron Icosahedron
Face 面数 4 6 8 12 20
构成面 ▲△▲ □■□ ▲△▲△ 5边形 ▲△▲△▲
单面的顶点 p 3 4 3 5 3
单顶点相邻的面 q 3 3 4 3 5
Vertex 顶点 V=pF/q 4 8 6 20 12
Edge 边线 E=pF/2 6 12 12 30 30
Face 面数 4 6 8 12 20
对偶多面体 自己 相互 ⇄ 对偶 相互 ⇄ 对偶
柏拉图立体 正四面体 立方体 正八面体 正十二面体 正二十面体
边长 a a a a a a
表面积
Surface area
√3 *a2
≈ 1.732a2
6a2 2√3 *a2
≈ 3.464a2
3*√(25+10√5)a2
≈ 20.65a2
5√3a2
≈ 8.66a2
体积
Volume
1/12 *√2 *a3
≈ 0.118a3
a3 √2 /3 *a3
≈ 0.471a3
1/4(15+7√5)a3
≈ 7.663a3
5/12 * (3+√5)a3
≈ 2.182a3
二面角角度
Dihedral angle
acos(1/3)
≈ 70°52’
90° acos(-1/3)
≈ 109°28’
acos(-√5/5)
≈ 116°57’
acos(-√5/3)
≈ 138°19’
外接球半径 R
circumscribed
√6 / 4 *a
≈ 0.612a
√(3/4) *a
≈ 0.866a
a / √2
≈ 0.707a
√6/4 * √(3+√5)a
≈ 1.401a
a/4 * √(10+2√5)
≈ 0.951a
中分球半径 ρ
midsphere
(1/√2)/2
≈ 0.354a
√2/2 * a
≈ 0.707a
a/2
≈ 0.5a
a((1+√5) / 2)2 / 2
≈ 1.309a
a(1+√5) / 4
≈ 0.809a
内切球半径 r
inscribed
√6 / 12 *a
≈ 0.204a
a/2
≈ 0.5a
a / √6
≈ 0.408a
a/4 * √((50+22√5)/5)
≈ 1.114a
a/12 * √3 (3+√5)
≈ 0.756a

对偶多面体的特点是,顶点数和面数互调。适当调整边长,可以互相内切或外接。

3. Blender绘制正多面体

  • 正4面体-特殊的锥体
    • 新建 锥体 Cone,顶点:3; 半径1:1m; 半径2:0m; 深度:sqrt(2) 
  • 正6面体-就是立方体
    • 新建 立方体 Cube
  • 正8面体-利用对偶立方体生成
    • 这个形状是立方体的对偶——它的顶点对应立方体的面,面对应立方体的顶点。 
    • 新建 立方体 Cube, [Tab]编辑模式,[A]全选, [Ctrl B]倒角,  左下角编辑面板 偏移 填写1, 完成。
  • 正20面体-特殊的棱角球
    • 新建 球体 Icosphere ,细分设置为1,完成。
  • 正12面体-利用对偶的正12面体生成
    • 这个形状是正二十面体的对偶面。 
    • 新建 球体 ,细分设置为1, 创建正20面体, 
    •  [Tab]编辑模式,[A]全选, [Ctrl B]倒角,  左下角编辑面板 偏移 填写(  0.30310889132  ), 完成。
    • 该值来自以下公式:a*sqrt(3)/6. a是二十面体的边长(如果用上述方法制作,则为 1.05)
更多画法:
  • 正4面体-(正4面体的边数 6 = 正6面体的面数 6)
    • 正6面体的每个面对角线连接形成正4面体。
  • 正8面体-(正8面体的边数 12 = 正12面体的面数 12)
    • 正12面体的每个面对角线连接形成正8面体。
  • 正8面体-(正8面体的边数 12 = 正4面体的面数 4的3倍)
    • 在正4面体的每个面上3条边中点相连,每个面画出3条边,4个面共画出12条边,这12条边形成正8面体。
利用对偶关系
正多面体,每个面的中心点相连接,形成对偶多面体。
每个面中心和相邻面中心连接产生的边数对应原本这2个面相邻边,总边数保持不变。
顶点数和面数则相反。


2026-04-20

Differential-Gear

1. Differential
	1.1 概述
	1.2 缺点
	1.3 改良方式
2. 其他用途
	2.1 差速器在汽车以外的应用包括模拟 运算。
	2.2 车辆悬架
3. 使用Blender构造差速器模型
4. rigid 动画模拟
	4.1 参数表
	4.2 设置总结
	4.3 播放
	4.4 合成视频
	4.5 小结
5. Drivers 动画模拟
	5.1 齿轮旋转关系
	5.2 预设一些初始条件
	5.3 参数表

1. Differential

1.1 概述

差速器(英语:Differential)是车辆传动系统(英语:Drivetrain)的一个机械部件。
差速器是一种由三个驱动轴组成的齿轮传动装置,其特性是其中一个轴的转速是其他两个轴转速的平均值。
差速器常见于汽车中,使驱动轴两端的车轮在转弯时能够以不同的速度旋转。其他用途包括时钟和模拟计算机。
差速器还可以提供输入轴和输出轴之间的齿轮比(称为“主减速比”或“差速比”)。
例如,许多汽车差速器通过使小齿轮的齿数少于环形齿轮来实现减速。

1.2 缺点

由于差速器允许两侧车轮以不同的速度进行旋转,那么当车辆驱动轮有一侧打滑时,或因剧烈驾驶导致一侧车轮产生离地时,因为差速器的等扭矩作用,全部的动力会传送到那个打滑的半轴上,使得打滑一侧的车轮飞快旋转,而另一侧车轮失去驱动力,这样会令车辆陷入困境并且失去可操控性。

1.3 改良方式

差速锁
在特定情形下,可以自动或手动将同一车轴上的两个车轮“锁定”在一起,如同它们连接在同一根轴上一样。 当不需要此功能时,可以将差速器“解锁”,使其像普通的开放式差速器一样工作。
差速锁主要用于越野车,以克服低附着力和附着力变化的路面。

限滑差速器
限制传递到每个车轮的动力差异。
多数使用摩擦力的方式限制2边转速差异,速度差异越大,摩擦力越大。
托森限滑差速器A型,使用蜗杆和涡轮单向传到的原理,限制差速。

扭矩矢量控制
扭矩矢量控制技术应用于汽车差速器,它能够通过电子系统调节分配到每个半轴的扭矩;在轨道车辆中,则通过独立驱动的车轮实现相同的功能。

2. 其他用途

2.1 差速器在汽车以外的应用包括模拟 运算。

差速器的三个轴中,有两个轴旋转的角度分别代表(与)两个数字成比例,而第三个轴的旋转角度则代表这两个输入数字的和或差。

1720年,人们制造了一个使用差速器进行加法运算的等式钟。
20世纪,由许多差速器组成的大型装置被用作模拟计算机,例如,用于计算枪支的瞄准方向。
这些设备使用差动齿轮系来执行加法和减法运算。

2.2 车辆悬架

火星探测车“勇气号”和“机遇号”(均于2004年发射)在其摇臂式悬架中使用了差速齿轮,以保持探测车车身在左右车轮在不平坦地形上上下运动时的平衡。
“好奇号”和“毅力号”探测车则使用差速杆代替齿轮来实现相同的功能。

3. 使用Blender构造差速器模型

建模参数表如下,详细参数可将表格内必要参数输入到 otvinta 的 bevel 计算器页面获取。
Axis Gear Module Teeth 轴角 面宽 说明
Y Pinion 1.5 18 90 10 Motor 驱动轮
X Ring 1.5 36 90 10 减速导向大齿轮
X Side1 1 20 90 4.7 输出到轮胎1
X Side2 1 20 90 4.7 输出到轮胎2
Z Spider1 1 20 90 4.7 行星轮1
Z Spider2 1 20 90 4.7 行星轮2

4. rigid 动画模拟

4.1 参数表

刚体 Axis 类型 物体名称 ob1 ob2
p被动 Y 圆柱体 pinion-Axis
A活动 Y 齿轮 pinion
Hinge Y 空箭头 pinion-Hinge pinion pinion-Axis
Motor Y 空箭头 pinion-Motor pinion pinion-Axis
A活动 X 齿轮 Ring
Hinge X 空箭头 Ring-Hinge Ring Side-Axis
p被动 X 圆柱体 Side-Axis
A活动 X 齿轮 Side1
Hinge X 空箭头 Side1-Hinge Side1 Side-Axis
A活动 X 齿轮 Side2
Hinge X 空箭头 Side2-Hinge Side2 Side-Axis
p被动 Z 圆柱体 Spider-Axis
A活动 Z 齿轮 Spider1
Hinge Z 空箭头 Spider1-Hinge Spider1 Ring
A活动 Z 齿轮 Spider2
Hinge Z 空箭头 Spider2-Hinge Spider2 Ring

4.2 设置总结

  • 基本设置: 
    • 齿轮: 刚体\活动 (齿轮的形状 统一设置为网格,敏感度为0)
    • 圆柱体: 刚体\被动 (同一轴向的多个齿轮,只需要1个)
    • 空箭头: 刚体约束\ (1个机动,每个齿轮搭配1个铰链)
  • 空物体的轴向: 
    • 空物体(hinge)铰链的 Z 轴必须与旋转轴对齐!
    • 空物体(motor)的 X 轴必须与旋转轴对齐!
  • 刚体约束的物体的选择: 
    • [起始点]物体始终是各自对应的齿轮,[第二]物体是齿轮的轴向圆柱体。
    • 至于固定在大齿轮盘上的2个Spider行星齿轮,会随着大齿盘公转,所以[第二]物体选择大齿盘Ring.

4.3 播放

  • 抖动不顺畅,
    • 表面太大,Ctrl R, 环切8左右... 
    • 表面法向异常,编辑模式,全选,[Shift N] 重置法向。
  • 若转速太慢或太快,检查如下参数
    • 场景\刚体世界环境\设置\速率
  • 若旋转到250帧就停下来,可以到如下位置调整缓存帧数。
    • 场景 \ 刚体世界环境 \ 缓存

4.4 合成视频

[Ctrl F12] 渲染动画
如下命令可以将输出的图片合成视频: 
 ffmpeg -framerate 30 -i %04d.png -c:v libx264 R24.mp4
如下命令可以将输出视频转换为webp格式,类似gif动图。 效果更好,文件更小。但比视频文件大。
 ffmpeg -i R24.mp4 -loop 0 r24.webp

比如给齿轮Side2添加重量,模拟阻力增加,从而降低速度。
选中 Side2齿轮,右下角物理面板 \ 刚体 \ 设置 \ 质量。默认1kg,这里改到5kg,再播放。即可看到2边齿轮旋转差异。

4.5 小结

  • 使用刚体物理特性模拟,对建模有要求,若建模太过粗糙,齿轮就没法顺畅的啮合转动。
  • 参照如上设置即可转动,不用考虑计算齿轮之间的转速差异。
  • 完全模拟真实状况,一个驱动小齿轮转起来后,其他齿轮会依照啮合的关系在各自的轴上转动。
  • 缺点是,没法精确控制转速,没法精准控制差速比。

5. Drivers 动画模拟

  • 使用Blender的驱动器,模拟差速器运行,好处是,对建模没有要求,使用普通的Gear模型,不用太细致的细分。
  • 可以精确控制转速,差速比。
  • 缺点是,需要计算每个齿轮之间的转动比值。

5.1 齿轮旋转关系

差速器的特性是其中一个轴的转速是其他两个轴转速的平均值: 
(Side1 + Side2)/2 = Ring
当前这种结构行星轮特性: 行星轮和2测输出轮大小一样。
Spider1 + Spider2 = 0
|Side1 – Side2| = |Spider1| - |Spider2|
spider = (Side1 – Side2)/2

5.2 预设一些初始条件

  • 转速系数: 20
  • 车轮直径: 50cm
  • 车轮轮距: 150cm
  • 前后轴距: 250cm
  • 道路宽度: 350cm
  • 转弯半径: 500cm
这里的转速系数20,在blender里作为驱动轮Pinion的驱动速度,可以根据需要修改。
以上主要会用到 [转速系数],和 [车轮距离]。调整不同的 [转弯半径] 计算出符合该转弯要求的各个齿轮旋转驱动参数。

5.3 参数表

根据齿轮旋转关系,预设的一些参数,整理出如下驱动器配置表。
可计算任意旋转角度的参数。
Axis Teeth Gear 1200 750 500 150 75 轮距 转弯 600 计算公式:
Y 18 Pinion 20 20 20 20 20 0 150 600 20 指定一个系数
X 36 Ring -40 -40 -40 -40 -40 0 150 600 -40 -2*系数
X 20 Side1 -40 -42.9 -45 -48.57 0 20 150 600 -46.67 -(2*L4-K4)/(L4-K4)*M2
X 20 Side2 -40 -37.5 -36 -34 20 -20 150 600 -35 -(2*L5-K5)/L5*M2
z. 20 Spider1 0 600 360 226.67 40 20 150 600 280 (L6/(K6/2)-1)*2*M2
z. 20 Spider2 0 -600 -360 -226.67 -40 -20 150 600 -280 -Spider1
模拟 直行 左转 左转 再左转 打滑 自转
参数的使用很简单: 比如模拟转弯半径500的差速器旋转状态。
  • 选中齿轮 Pinion,在对应的 Y 轴,输入: #frame/20。
  • 选中齿轮 Ring,在对应的 X 轴,输入: #frame/-40。
  • 选中齿轮 Side1,在对应的 X 轴,输入: #frame/-49。
  • 依此类推,输入全部齿轮的驱动参数...
还有一步: 依次选择 Spider1, Spider2, Ring [Ctrl P] 将 Ring 设置为2个行星轮的父对象。
播放,齿轮已经开始工作了... 
  • 想要模拟 直行,就输入∞,这一列的参数。
  • 后面还有 打滑,就是一个轮子不转,全部动力都给了另一个轮子。
  • 至于 自转,则是一个向前转,一个向后转。完全原地打转。
实际上,若要查看不同配置的模拟,6个齿轮中,有3个可以固定配置,只修改另外3个齿轮的公式即可。
  • 驱动齿轮 Pinion,这个可以固定为20(一个适当的转速,可以清晰查看齿轮啮合。该数值越小速度越快); 
  • 大齿轮 Ring,这个可以 手动添加驱动器,选中驱动关系为 Pinion,公式:-1/2转速。其他齿轮不管怎么变,这里都不需要再修改。
  • 行星齿轮 Spider2,甚至不用添加驱动器,只需添加复制旋转的约束即可,复制的是Spider1。
所以只需要修改剩下的3个齿轮即可:Side1, Side2, Spider1.


 




2026-04-15

otvinta-Bevel-Gear-Calculator

0. 使用 otvinta 的锥齿轮计算器建模
1. 生成齿的侧面线条
2. 形成齿面
	2.1 齿型轮廓
	2.2 接着画齿与齿之间的谷
	2.3 形成齿面
3. 3D游标定位到半径长度
4. 完善齿面
	4.1 旋转齿面
	4.2 修正底边
5. 3D游标定位到锥顶高度
6. 形成齿体
	6.1 复制缩放-生成锥齿轮顶部的齿面
	6.2 形成齿体
7. 完成锥齿轮
	7.1 直齿锥齿轮
	7.2 给直齿增加弧度
8. 制作大齿轮
9. Rigid 刚体动画
	9.1 设置参数表
	9.2 播放
	9.3 相机环绕拍摄

0. 使用 otvinta 的锥齿轮计算器建模

前面已经试过使用插件建模,生成锥齿轮,驱动旋转动画看起来没啥问题。
但若使用Blender的物理特性,相互摩擦旋转,就需要更加精细的建模。
这里使用 otvinta 的锥齿轮计算器建模。使用官方视频里的参数建模: 
  • Module 为1
  • 齿数分别为: 18, 36
  • 轴角度为: 100
  • 接触面宽为: 6

1. 生成齿的侧面线条

  • 小键盘[7,5] 正交顶视图,[Shift C] 3D游标归位。
  • [Shift A] 新增物体: 网格 \ 数学函数 Math Functions \ XYZ Math Surface 数学曲面
  • 根据 表格信息,依次输入参数: 
    • X equation
    • Y equation
    • Z equation
    • Umin, Umax, Ustep
  • 取消 选中[ u wrap](循环) 的复选框。
  • 因为未使用V参数。v的最大,最小都输入0,步长输入1.
  • 删除重复项,[A] 全选 [m] 合并重复顶点

2. 形成齿面

2.1 齿型轮廓

  • Shift D 复制 S 缩放 Y -1 Enter 创建镜像反射。
  • 复制 表格参数 [Tooth thickness at base (°) 牙根厚度]: 11.7079
  • 回到Blender
  • R 旋转 Z (11.7079)
  • 点选2条曲线最右边的顶点,F 填充。形成齿尖。
  • 打开 计算器,将刚才复制的数字/2,复制结果: 5.85395
  • 回到Blender, A 全选
  • R Z (-5.85395) 
现在的齿形线条跨X轴。

2.2 接着画齿与齿之间的谷

复制新齿
A 全选 Shift D 复制 R Z 20 绕Z旋转20度。
20度是小齿轮相邻齿之间的角度距离,因为小齿轮有18个齿。360/18=20度。
现在在原始齿的另一端创建第三个齿。
接着前面的步骤,Shift D R Z -40

选中上面2个齿形靠近的顶点,[Shift S 2] 游标到选中项
取消上面的顶点,保留下面顶点选中。
菜单:网格\挤出\旋绕 90度,分8步 ,形成90度圆弧。

选中下面2个齿形靠近的顶点,[Shift S 2] 游标到选中项
取消下面的顶点,保留上面顶点选中。
菜单:网格\挤出\旋绕 90度,分8步 ,形成90度圆弧。

2.3 形成齿面

Shift C 游标归位
选中上下2个齿,删除,只保留中间编辑过的齿。上下各有1/4个圆弧。

A F 全选后填充。
[2] 边模式。选中新形成的齿底边,E X -1 挤出,构成齿临时底部。
退出编辑模式

3. 3D游标定位到半径长度

复制 表格参数 [Reference radius (mz / 2) 参考半径]: 9
将参考半径值作为3D光标的X坐标输入。
3D游标 移动到X 9的位置。

4. 完善齿面

4.1 旋转齿面

复制 表格参数 [Reference cone angle (°) 参考锥角]: 28.334
回到Blender
物体模式,选中物体,R Y (-28.334)

4.2 修正底边

Shift C 游标归位
Tab 编辑模式
A 全选 Shift D 复制 R Z 20 绕Z旋转20度。
Shift D 复制 R Z -40 绕Z旋转-40度。
目前状态是:
中间跨X轴1个齿,上下分别各1个齿。
Ctrl Z 透视模式,顶点编辑,将齿低2个相邻顶点向中间合并。
面模式,删除上下2个齿。
Tab 退出 编辑模式

5. 3D游标定位到锥顶高度

复制 表格参数 [Cone base-to-apex height (R cos δ) 底面到锥顶的高度]: 16.691
将 底面到锥顶的高度 作为3D光标的 Z坐标输入。
3D游标移动到Z轴的这个高度: 16.691
菜单 物体 设置原点,原点到3D游标

6. 形成齿体

6.1 复制缩放-生成锥齿轮顶部的齿面

复制 表格参数 [Top/Bottom Scaling Factor 缩放因子]: 0.6836
回到Blender
Tab 编辑模式
全选 Shift D 复制 S 缩放 (0.6836)

6.2 形成齿体

[2] 边模式。全选,右键菜单,桥接循环边
删除底座的地面和2个侧面。

7. 完成锥齿轮

7.1 直齿锥齿轮

A 全选 Shift D 复制 R Z 20 绕Z旋转20度。
A 全选 Shift D 复制 R Z 40 绕Z旋转40度。
A 全选 Shift D 复制 R Z 80 … 直到超过360度,完成齿轮形态。
… 形成小齿轮后,删除重复项
A M 合并重复顶点
根据喜好填充顶面,底面,中间的孔面... 
到这里,一个直齿的锥齿轮就完成了,要更顺滑的弧度齿,接着做下一步。

7.2 给直齿增加弧度

环切齿表面,记录环切数量,比如(5),因为后续对另一个齿轮要进行相同的环切数量。
将从最上面的循环开始,分别将新创建的循环旋转2,4,6,8,10,12度.
最后依次旋转12,则是选中底面。

8. 制作大齿轮

参照如上步骤(1~7),制作大齿轮。这里不在重复。需要注意的是: 
  • 参照表格数据,只有缩放因子一致,其他的都有大小齿轮各自的参数。
  • 形成齿时的旋转角度需要根据齿数计算得出。比如上面的小齿轮: 20度=360度/18齿。大齿轮则是: 360度/36齿=10度。
  • 给齿增加弧度,上面是对小齿轮进行弧度旋转。对于大齿轮,相同的环切数量,旋转角度则为1,2,3,4,5,6. 正好是小齿轮旋转的1/2. 这个比例与半径成反比。若其他半径组合,也是用这个反比关系计算即可。

9. Rigid 刚体动画

9.1 设置参数表

操作 类型 物体名称 操作描述
选中 大齿轮 Gear [shift S] 光标到选定对象。
刚体 \ Active, Mesh, Sersitivity (0.04改为0)
选中 小齿轮 Pinion [shift S] 选定对象到光标。
[R X 100] 小齿轮绕X旋转100度。
刚体 \ Active, Mesh, 敏感度-边距 (0.04改为0)
2个齿轮的原点重合,都在齿轮轴线焦点处。3D光标在齿轮原点。
添加 圆柱体 Axis1 绕X旋转 100。
刚体 \ Passive, 被动
添加 空箭头 Hinge1 绕X旋转 100
添加 空箭头 Motor1 绕z旋转 90, 然后绕X旋转10,使空物体的x轴与小齿轮的轴重合
添加 圆柱体 Axis2 向上移动 ~20左右,
刚体 \ Passive, 被动
添加 空箭头 Hinge2 向上移动 ~20左右,
选中 空箭头 Hinge1 刚体约束 \ Hinge; Ob1: pinion; Ob2: Axis1
选中 空箭头 Motor1 刚体约束 \ Motor; Ob1: pinion; Ob2: Axis2; 启用角度
选中 空箭头 Hinge2 刚体约束 \ Hinge; Ob1: gear; Ob2: Axis2

9.2 播放

参照如上参数设置,小结如下。
  • 齿轮: 刚体\活动 (齿轮的形状 统一设置为网格,敏感度为0)
  • 圆柱体: 刚体\被动
  • 空箭头: 刚体约束\ (1个机动,2个铰链)
播放 … 
  • 若转速太慢或太快,检查如下参数
    • 场景 \ 刚体世界环境 \ 速率
  • 若旋转到250帧就停下来,可以到如下位置调整缓存帧数。
    • 场景 \ 刚体世界环境 \ 缓存

9.3 相机环绕拍摄

  • 新增 曲线\圆环,调整设当大小。相当于相机的轨道。
  • 选择 相机,曲线,[Ctrl P] 设置父对象,选择 跟随路径。
  • 播放 看看 … ESC 退出。
  • 选择 圆环,右边 数据 面板 \ 路径动画 \ 调整 帧 数,以调相机整旋转速度。这个帧数表示旋转1周需要的帧数。
  • 新增 空箭头,在目标物体之间,作为相机锁定的方向。
  • 选择 相机,添加约束 \ 追踪 \ 标准跟随 选中 空箭头




2026-04-08

Bevel-gears

1. 锥齿轮
	1.1 切面图示
	1.2 优缺点
	1.3 锥齿轮的几何形状
	1.4 Teeth 齿
2. 锥齿轮分类
	2.1 直齿线 Straight tooth lines
	2.2 螺旋齿线 Spiral tooth lines
	2.3 Zerol 齿线 Zerol tooth lines
	2.4 Mitre gears 等径锥齿轮
3. 锥齿轮建模
	3.1 齿轮建模的基本原则
	3.2 手动建模基本步骤
	3.3 free插件建模
	3.4 斜齿轮和螺旋齿轮

1. 锥齿轮

Bevel gears 锥齿轮是指两根轴的轴线相交,且齿轮齿面呈圆锥形的齿轮。
锥齿轮最常安装在成90度角的轴上,但也可以设计成在其他角度下工作。
  • 节锥 (pitch cone): 锥齿轮的节圆是一个圆锥体,称为节锥(pitch cone)。
  • 节圆 (pitch surface): 指将各个齿的峰谷平均化后得到的假想无齿表面。普通齿轮的节圆形状为圆柱体。
  • 节角 (pitch angle): 指节圆表面与轴线之间的夹角。
    • 普通齿轮的表面与轴线平行,相当于0度。
    • 外锥齿轮 (external bevel gears) 的节角小于 90 度,其齿尖向外突出。
    • 冠状齿轮 (crown gear) 的节角等于 90 度,其齿尖朝向 平行与轴线,可以和普通直齿轮搭配使用。(also known as a face gear or a contrate gear)
    • 内锥齿轮 (internal bevel gears) 的节角大于 90 度。其齿尖朝向内侧。
锥齿轮改变旋转动力传递的旋转轴线,广泛应用于机械领域。

齿轮命名规则列表

1.1 切面图示



无论工作角度如何,齿轮轴线必须相交(在点 O)。 
啮合的外锥齿轮的节面与齿轮轴同轴;两个节面的顶点位于轴线的交点。

1.2 优缺点

  • 优势:这种齿轮可以改变操作角度。
  • 缺点:
    • 这种齿轮的一个轮子设计成只能与其互补轮子配合使用,而不能与其他轮子配合使用。
    • 必须精确安装。
    • 轴的轴承必须能够承受很大的力。

1.3 锥齿轮的几何形状

圆柱齿轮的齿廓对应于渐开线(即三角波投影到圆周上),而锥齿轮的齿廓为八面体(即三角波投影到球面圆周的法线路径上)。
所有传统的锥齿轮机(例如Gleason、Klingelnberg、Heidenreich & Harbeck、WMW Modul)都生产八面体齿廓的锥齿轮。
重要提示:对于五轴铣削锥齿轮组,必须选择与传统制造方法相同的计算/布局。
基于等效圆柱齿轮在法向截面上具有渐开线齿形的简化计算锥齿轮,其齿形存在偏差,齿强度降低10-28%(无偏置)或45%(有偏置)[Hünecke 博士论文,德累斯顿工业大学]。
此外,这些“渐开线锥齿轮组”会产生更大的噪音。

1.4 Teeth 齿

齿轮齿形涉及两个方面。
  • 一是单个齿的横截面轮廓。
  • 二是齿在齿轮端面上的投影线或曲线:换句话说,就是横截面轮廓投影到该投影线上形成齿的实际三维形状。
横截面轮廓和齿线或曲线的主要影响在于齿轮运转的平顺性。某些齿形比其他齿形更能带来平顺的齿轮运转。

2. 锥齿轮分类

齿线 Tooth line: 锥齿轮的齿可以是直齿 straight、螺旋齿 spiral 或“零齿 zerol”。也因此分为不同类型的锥齿轮。

2.1 直齿线 Straight tooth lines

在直齿锥齿轮中,齿是直的,并且与锥面的母线平行。这是最简单的锥齿轮形式。
它类似于正齿轮,只是形状是圆锥形而不是圆柱形。
在直齿锥齿轮组中,每个齿啮合时都会对对应的齿产生冲击,而简单地将齿轮齿弯曲即可解决这个问题。

2.2 螺旋齿线 Spiral tooth lines

螺旋锥齿轮的齿沿螺旋线形成。
它们与圆柱形斜齿轮有些类似,因为齿都是成角度的;然而,螺旋齿轮的齿除了角度之外,还带有弧度。
它的主要应用领域是车辆差速器,在车辆差速器中,驱动轴的动力输出方向需要旋转90度才能驱动车轮。
螺旋锥齿轮组必须成对更换,即左侧齿轮和右侧齿轮必须同时更换,因为齿轮是成对制造和研磨的。

螺旋齿相对于直齿的优势在于其啮合更加平缓。齿间的接触从齿轮的一端开始,然后逐渐扩展到整个齿面。这使得当新的一对齿啮合时,力的传递更加平缓。
而直齿锥齿轮的突然啮合会导致更大的噪音,尤其是在高速运转时,并且会对齿面造成冲击应力,使其无法在高速运转下承受重载而不发生断裂。
因此,直齿锥齿轮的使用速度通常限制在每分钟 1000 英尺以下;或者,对于小型齿轮,转速限制在每分钟 1000 转以下。

2.3 Zerol 齿线 Zerol tooth lines

Zerol 锥齿轮是一种介于直齿锥齿轮和螺旋锥齿轮之间的中间类型。它们的齿形是弧形的,但没有角度。
Zerol 锥齿轮的设计旨在模仿直齿锥齿轮的特性,但它们采用螺旋锥切削工艺制造。

2.4 Mitre gears 等径锥齿轮

Mitre gears 翻译为: 斜切齿轮 是一种特殊的锥齿轮,其齿数相等。 轴彼此垂直,齿轮的节面和角度相同,节面呈圆锥形。
斜齿轮可用于以 1:1 的传动比,将旋转运动以 90 度角传递。

3. 锥齿轮建模

精确建模可用专业的插件,或参考如下页面: How to Model Bevel Gear Drive in Blender

3.1 齿轮建模的基本原则

  • 2个齿轮的半径和齿数成正比。
  • 斜齿轮斜度: 
    • 相同规格齿轮斜度相等,方向相反。
    • 不同规格齿轮的斜度与半径成反比。
  • 锥齿轮建模: 
    • 锥角度与半径成正比。
    • 锥齿轮厚度与半径成反比。

3.2 手动建模基本步骤

比如画一对18齿对36齿的锥齿轮。
  1. 画外齿圈平面
    1. 以18齿为例,画一个18*4条边的圆。
    2. 每间隔2条边选择2条边,跳过的边就是谷,选中的就是要挤出成为齿的峰。
    3. 挤出第1段0.1,再挤出第2段0.1,然后各自圆心适当缩放,画出外齿圈平面。
  2. 挤出锥体
    1. 全选,向Z轴挤出,挤出高度是对方36齿半径的约1/3长度。
    2. 透视模式,框选最上层顶点,[Shift C 2],游标到选中项,缩放约2/3. 
    3. 注: 要保持锥形的顶点相交,且交与轴线焦点。这里缩放的比例正好和前面挤出高度互补。
  3. 调整锥齿
    1. 这样挤出的锥齿由于缩放,挤出越高,齿约平,挤出到顶,齿就没了。
    2. 由于挤出了2段,所以齿有最外层顶点和中间顶点。
    3. 选择齿中圈,保存顶点组[2],向上移动0.05.
    4. 选择齿尖外表面,保存顶点组[1],向上移动0.1.
    5. 选择齿尖最底边,就是整个齿轮最外层的那一圈,保存顶点组[3],向上移动0.05.
    6. 这里向上的方向是齿轮轴线向上,0.05的移动距离也是基于前面挤出0.1单位的数量。
这样建立的模型和下面插件建立的基本一致。

3.3 free插件建模

这里使用插件 Extra Mesh Objects 生成齿轮。
添加插件后,[Shift A] 新增 网格 \ Gears \ Gear 
参照如下参数表即可完成建模。
半径比 1:1 1:1.5 1:2 1:5 (与半径的关系)
参数 A1 A2 A1 A2 B1 B2 C1 C2 参数
齿数 18 18 12 18 18 36 12 60 Teeth (正比)
半径 1.5 1.5 1 1.5 1.5 3 1 5 Radius
齿轮厚度 0.3 0.3 0.3 0.2 0.3 0.15 0.35 0.1 Width (反比)
齿轮基部 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 Base
齿根高 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 Dedendum
齿顶高 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 Addendum
齿顶压力角 20 20 20 20 20 20 20 20 Pressure Angle
斜度 0 0 22.5 15 15 7 0 0 Skewness (反比)
锥角度 45 45 36 54 30 60 15 75 Conical Angle (正比)
齿冠 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 Crown

3.4 斜齿轮和螺旋齿轮

斜齿轮只需要参照上表的 斜度 参数即可。也可以根据半径的反比计算更适当的角度。

至于螺旋齿轮,可以环切齿轮的表面。
然后选中最上层表面,[O] 打开衰减编辑,(衰减模式选择 线性,平方根反比 都可以) ,然后沿轴线方向旋转,鼠标滚轮滚动适当调整影响范围。
注意,旋转角度和上方斜齿轮一致,与半径成反比。



2026-04-05

Epicyclic-gearing

1. 行星齿轮
2. 行星齿轮建模
3. 动画
	3.1 播放动画
	3.2 动画参数表
	3.3 操作说明
4. PSD

1. 行星齿轮

Epicyclic-gearing
行星齿轮(英语:Epicyclic Gearing)是齿轮结构的一种,通常由一个或者多个外部齿轮围绕着一个中心齿轮旋转,就像行星绕着太阳公转一样,因而得名。 除此之外,行星齿轮在最外部通常还有一个外齿圈,用来贴合行星齿轮绕行的轨迹。
如果驱动单个部件而其他部件保持不受约束,则运动会在内部重新分配,无法确定唯一的输出速度。 
实际应用会选择固定其中一个部件(行星架、环形齿轮或太阳轮),可以实现三种不同的传动比。

2. 行星齿轮建模

目的是动画效果演示,所以直接使用插件 Extra Mesh Objects 生成齿轮。
 [Shift A] 新增 网格 \ Gears \ Gear 
根据行星齿轮和太阳齿轮的大小比,建立了3组模型。
如下表参数建模,组装,依喜好上色。
太阳轮 < 行星轮 太阳轮 = 行星轮 太阳轮 > 行星轮
参数 Sun planet Ring Sun planet Ring Sun planet Ring 参数
齿数 12 18 48 12 12 12 6 24 Teeth
半径 1 1.5 4 1 1 3 1 0.5 2 Radius
齿轮厚度 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 Width
齿轮基部 0.2 0.2 -0.2 0.2 0.2 -0.2 0.2 0.2 -0.2 Base
齿根高 0.1 0.1 -0.1 0.1 0.1 -0.1 0.1 0.1 -0.1 Dedendum
齿顶高 0.1 0.1 -0.1 0.1 0.1 -0.1 0.1 0.1 -0.1 Addendum
齿顶压力角 20 20 -20 20 20 -20 20 20 -20 Pressure Angle
备注: Carrier 2.5 (30) 2 (24) 1.5 (18) 半径 (等效齿数)
注意:生成的 Ring环形齿圈,表面法向是反的,所以要在编辑模式下,全选后 [Shift N] 重置法向。

3. 动画

3.1 播放动画

选择固定其中一个部件(行星架、环形齿轮或太阳轮),可以实现三种不同的传动比。选择不同的输入与输出,总共6种组合。

3.2 动画参数表

下表里用到的字母表示如下齿轮的信息,(可以使用半径,也可以使用等效齿数,带入公式不要混合使用即可。)
  • s: 太阳齿轮, Sun Gear; 
  • p: 行星齿轮, planet Gear; 
  • c: 行星架, Carrier; C行星架的等效半径=(太阳轮半径+行星轮半径)。等效齿数也是太阳和行星齿数之和。
  • r: 环形齿轮, Ring Gear.
注意: 公式后面 [sun] 方括号里的单词,表示新增驱动器需要选择的目标物体。
个别单元格里有2套公式,任选其一即可。
表格最后一行有类比汽车挡位,帮助理解,3档是直驱,大于3档是加速档,小于3档是减速档,扭力更大。

通用参数表
太阳轮驱动 环形齿轮驱动 太阳轮驱动 行星架驱动 环形齿轮驱动 行星架驱动
sun 太阳 #frame/24 (-r/s)*var [ring] #frame/24 (-2p/s)*var
(2c/s)*var
[planet]
[carrier]
太阳轮固定
planet 行星 (-s/p)*var [sun] (r/p)*var [ring] (-r/p)*var [carrier] (-r/p)*var [carrier] (s/p)*var [carrier] (s/p)*var [carrier]
carrier 行星架 行星架固定 (s/2c)*var [sun] #frame/48 (r/2c)*var [ring] #frame/72
ring环形 (-s/r)*var [sun] #frame/48 环形齿轮固定 #frame/48 (2p/r)*var
(2c/r)*var
[planet]
[carrier]
减速比 -Sun/Ring -Ring/Sun Sun/2Carrier 2Carrier/Sun Ring/2Carrier 2Carrier/Ring
注: 反向减速 反向加速 减速 --- 加速 +++ 减速 - 加速 +
类比车挡位 倒挡 1档 5档 2档 4档
太阳轮驱动 环形齿轮驱动 太阳轮驱动 行星架驱动 环形齿轮驱动 行星架驱动

3.3 操作说明

以固定行星架为例
这是最简单直观的模式。固定行星架后,行星只会在各自位置上自转。输入和输出则为环形齿圈和太阳轮。
完全可以忽略行星及行星架,等效为太阳轮和外齿圈的关系,减速比就是太阳轮和外齿圈的齿数比。

  • 太阳轮驱动:Z轴添加驱动器(#frame/12)
    • 等效固定平行轴的齿轮传动,(相对太阳轮的转速:太阳轮比自己)
  • 行星齿轮:Z轴添加驱动器。表达式:(  var * 12 / 12)。相对物体: 太阳齿轮。
  • 环形齿轮输出:Z轴添加驱动器。表达式:( -var * 12/36)。相对物体: 太阳齿轮。
  • 选中3个行星齿轮,然后选第四个对象: 行星架,[Ctrl P],绑定父对象,选中(保持变换)。
  • 空格播放动画。
渲染动画
默认输出到(C:\tmp)。 
右下方的 输出面板 可以修改这个路径,以及分辨率,帧数等信息。 
渲染面板\ 胶片 勾选[透明]。若没有设置环境背景,可以这里选透明。
如下命令可以将输出的图片合成视频: 
 ffmpeg -framerate 30 -i %04d.png -c:v libx264 R24.mp4
如下命令可以将输出视频转换为webp格式,类似gif动图。效果更好,文件更小。但比视频文件大。
 ffmpeg -i R24.mp4 -loop 0 r24.webp
其他模式,参照以上表格,添加对应的驱动即可。注: ffmpeg是开源的视频编辑命令行软件。

4. PSD

上一章节的实例动画都是(太阳,行星架,外环)三者固定其一,再讨论输入及输出。丰田的PSD是没有固定任何一个部分。
丰田普锐斯 - 动力分配装置 (PSD)
丰田普锐斯搭载了不少高科技配置,但其混合动力协同驱动系统(HSD)的核心却是一个名为动力分配装置(PSD)的简单装置。
PSD 是一套行星齿轮组,它省去了传统的阶梯式变速箱和传动部件,也避免了普通汽油车常见的加速顿挫感。
它的工作原理类似于无级变速器(CVT),但拥有固定的传动比。
详细信息参加以上官网。

这里简要说明一下,PSD行星齿轮组并没有详细的图示,但有原理动画。 网页用的大概是约20多年前的flash交互动画。可以下载。
如下是3者对应的转速范围。
  • 发电机 MG2 外环 (- ~ +) (大牵引电机)
  • 内燃机 ICE Pl架 (0 ~ +) 1000 ~ 4500
  • 电动机 MG1 Sun (- ~ +) -10000 ~ 10000 (ICE关闭时,限速 6,500 转/分)

Simulate-pendulum-motion-using-Blender

导航 (返回顶部) 1. Pendulum 1.1 周期公式 1.2 摆钟 1.3 航海钟 1.4 秒摆和米 2. 使用Blender模拟摆运动 2.1 秒摆-简单驱动器 2.2 摆动画-曲线编辑器 2.3 有点粗糙的关键帧模拟 2.4 其他可用Blende...