数字人 · 从 FK 到 Shape IK项目 6A / 中英双语 Chinese + English / 7 章 · 47 节

完整课程 · 7 章 47 节 · 基础到研究方法

从坐标与旋转开始,
读懂你的骨骼 IK 项目。

沿着“几何约束 → 数学推导 → 数值求解 → 骨架重建 → 实验验证”学习。每章都有推导、算例、交互图与理解检查;后续五章已全部提供。

先补第二章:从肘圆到 pole →从基础开始综合答辩练习

按因果顺序学,术语先定义 / Learn in dependency order

先从 FK 读懂坐标与旋转;再写 IK 的骨长条件,发现多解,求出肘圆,最后引入弯曲提示 pole。后续依次是多段位置迭代、曲线偏好、空间螺旋、变化参数与实验比较。每节保留中文推导,并提供对应英文讲解与双语理解检查。

Start with FK frames and rotations. Write the IK length constraints, discover multiple solutions, derive the elbow circle, and only then introduce the pole vector. Continue to many-bone iteration, curve preferences, spatial helices, varying parameters and experimental comparisons. Each lesson includes the Chinese derivation, its English explanation and bilingual checks.

先补这一段:多解 → 肘圆 → pole / Review the missing link →

按顺序学习 / Study in order

01

基础:坐标、向量、旋转与 FKFoundations: coordinates, vectors, rotations and FK

推导坐标转换、骨架递推与矩阵顺序;用双关节模型手算与操作。

8 节 · 开始阅读 →
02

TwoBone:两段骨骼解析 IKTwoBone: constraints, elbow circle and bend choice

可达范围、余弦定理、三维 pole 选解、局部旋转恢复与退化。

8 节 · 开始阅读 →
03

FABRIK:用位置迭代解多段骨链FABRIK: ordered position projections

从球面投影推导两次扫描,再解释初始化、收敛和扭转。

6 节 · 开始阅读 →
04

Shape IK:从曲线偏好到合法骨架Shape IK: curve preference and fixed lengths

推导三种曲线、弧长反解和离散骨长修正,明确软约束与硬约束。

6 节 · 开始阅读 →
05

标准 Helix:用螺旋控制空间形状Standard helix: equations, placement and sampling

从微积分的速度概念出发,推导弧长、参数闭式与三维装配。

6 节 · 开始阅读 →
06

广义 Helix:变半径、变螺距与数值求解Generalized helix: varying radius and pitch

推导解耦、可行性和单调二分,再理解数值积分与弧长反解。

6 节 · 开始阅读 →
07

项目串讲:验证、比较与答辩Project validation and research comparison

把前六章连成一个系统,练习读实现、预测变化和说明结论的范围。

7 节 · 开始阅读 →

下载全部 HTML 课程,解压后打开 learn.html 即可离线学习。

每一节怎么学

  1. 先读问题与条件,知道要解什么。
  2. 跟着推导,自己复算一个例子。
  3. 先预测变化,再操作图确认。
  4. 写出理解检查回答,最后展开参考答案。
  5. 把不确定的步骤带回对话,逐项检查。

课程完成的范围

七章内容覆盖基础、三类求解器、四种形状族、广义 Helix 当前实现、指标与公平比较、研究五问和答辩。第一、二章保持你已使用的页面;第三至第七章支持本地草稿保存与统一导出。

页面阅读、展开答案与界面测试不代表学习者通过。研究比较、应用作品、报告和视频是否完成,需看各自产物。本次完成的是教学材料。

打开核心源码对照 · 查看示例与验证说明

遇到术语时查这里


24 个术语

FK / 正向运动学

输入局部关节旋转,通过父子递推得到世界关节位置与朝向。

IK / 逆运动学

给末端目标等约束,求关节参数。常有多个合法解。

局部 / 世界坐标

局部坐标相对某关节或物体参考系;世界坐标相对共同场景参考系。先明确向量和矩阵所属坐标系。

静止偏移 rest_offset

子关节在父坐标系中的静止位移。其长度定义固定骨长,不是求解后的世界位置。

骨长 lᵢ / 总长 L

lᵢ 是一根直骨的长度,L=Σlᵢ。求解不能为了到目标而静默伸缩它。

弦长 d / 曲线弧长 S

d 是两个端点的直线距离;S 是沿曲线走过的长度。弯曲时通常 S>d。

单位向量 / 归一化

v/‖v‖ 仅对非零向量有定义。零方向需要确定性回退并说明。

点积 / 叉积

点积量化夹角投影;叉积给垂直方向和旋转方向。注意使用右手约定。

pole / 弯曲提示

本项目主要作为世界方向使用;对弦或骨轴投影得到有效垂直分量。不是自动给出完整关节姿态。

可达范围

r最大=Σlᵢ;r最小=max(0,2max(lᵢ)−Σlᵢ)。几何可达与迭代收敛是两回事。

球面投影

已知中心 q 与半径 l,将 p 变成 q+l·normalize(p−q),用于固定骨长。

硬约束 / 软约束

骨长等硬约束需要满足并检查;形状吸引等偏好可被放松,须报告偏离。

扭转 twist

绕自身骨轴的自转。保持骨向,但改变关节参考轴朝向;位置无法唯一确定它。

最短弧旋转

在把一条非零方向转到另一方向的所有旋转中,选旋转角最小的一个,作为确定性恢复规则。

导数 C′ / 速度

参数改变时位置的局部变化率。曲线速率为 ‖C′‖,参数未必代表时间。

积分 / 累计弧长

把极小段长度累加,得到 s(u)=∫₀ᵘ‖C′(v)‖dv。用于决定按骨长走到哪个参数。

二分求根

已知单调函数且区间夹住目标时,反复比较中点并缩小区间。使用前要检查可行性。

Gauss–Legendre 求积

用特定节点与权重近似积分。当前广义 Helix 用四段、每段32点;须独立检查精度。

Helix / 螺距 p

螺旋绕轴推进,p 是每圈轴向推进量,N 是圈数。标准版半径与螺距恒定。

taper_radius / taper_pitch

分别为终点减起点的半径、螺距变化量,记 Δr、Δp,单位与骨长相同。

r̄ / p̄

起终参数的平均值。当前广义 Helix 先显式解 p̄,再由总弧长二分解 r̄。

标架 / 平行输运

标架给曲线切线和横向参考轴;平行输运以尽量小的旋转搬运标架。提供函数不等于最终求解器采用。

SUCCESS / MAX_ITERATIONS

前者表示当前状态条件成功;后者表示数值过程耗尽轮数仍未达到阈值,不能当作几何不可达。

DEGENERATE / UNREACHABLE

不同求解器映射可能有差异,应结合 message 与回退信息读;本项目内不可达常用退化回退。