完整课程 · 7 章 47 节 · 基础到研究方法
从坐标与旋转开始,
读懂你的骨骼 IK 项目。
沿着“几何约束 → 数学推导 → 数值求解 → 骨架重建 → 实验验证”学习。每章都有推导、算例、交互图与理解检查;后续五章已全部提供。
按因果顺序学,术语先定义 / 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
基础:坐标、向量、旋转与 FKFoundations: coordinates, vectors, rotations and FK
推导坐标转换、骨架递推与矩阵顺序;用双关节模型手算与操作。
TwoBone:两段骨骼解析 IKTwoBone: constraints, elbow circle and bend choice
可达范围、余弦定理、三维 pole 选解、局部旋转恢复与退化。
FABRIK:用位置迭代解多段骨链FABRIK: ordered position projections
从球面投影推导两次扫描,再解释初始化、收敛和扭转。
Shape IK:从曲线偏好到合法骨架Shape IK: curve preference and fixed lengths
推导三种曲线、弧长反解和离散骨长修正,明确软约束与硬约束。
标准 Helix:用螺旋控制空间形状Standard helix: equations, placement and sampling
从微积分的速度概念出发,推导弧长、参数闭式与三维装配。
广义 Helix:变半径、变螺距与数值求解Generalized helix: varying radius and pitch
推导解耦、可行性和单调二分,再理解数值积分与弧长反解。
项目串讲:验证、比较与答辩Project validation and research comparison
把前六章连成一个系统,练习读实现、预测变化和说明结论的范围。
每一节怎么学
- 先读问题与条件,知道要解什么。
- 跟着推导,自己复算一个例子。
- 先预测变化,再操作图确认。
- 写出理解检查回答,最后展开参考答案。
- 把不确定的步骤带回对话,逐项检查。
课程完成的范围
七章内容覆盖基础、三类求解器、四种形状族、广义 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 与回退信息读;本项目内不可达常用退化回退。