正向动力学与反向动力学

角色动画中的骨骼运动遵循动力学原理,定位和动画骨骼包括两种类型的动力学:正向动力学(FK)和反向动力学(IK)

 

要理解反向动力学(Inverse kinematics)系统,应该首先明白正向动力学(forward kinematics)系统。FK是一种让动画制作者可以将层级的节点摆出一个类似一副骨架的形状的方法。

 

节点的概念。它是一个用于电脑动画产业的通用术语。就角色动画骨骼来说。一个节点代表层级内外的任何物体,例如一个大腿骨骼,或者一个辅助点,或者一个球体

 

在一套FK系统中,一般的规则是:层级里的一个父节点驱动任意子节点的运动例如,如果你移动前臂(父),手腕(子)就会随之运动。但是,如果你移动腕节点,前臂还将停留在原处。

使用FK方法制作动画的过程非常像摆放动作造型:当你摆放肢体(子)造型的时候,可以移动人物的躯干(父)以及所有保持与父节点的相对位置的肢体。

 

这是制作动画物体(例如一个行走的角色)的手臂的一种简单、直观的方法,因为动画制作者只需要考虑手臂相对应父节点的运动,而不是相对于整个空间的运动。同时应该注意的是,在使用FK制作动画时要给每一个为特定姿势而旋转的关节设置旋转关键帧。不过,当角色手臂需要抓住场景里的某些物体时,如楼梯的扶手,FK就不是最好的使用方法了。

 

那么与之相比。IK就是一种子节点驱动父节点运动的动画制作方法。

 

依然使用手臂做为例子,如果使用IK移动手腕,计算机将计算如何移动和旋转手臂的其他父节点,以使其完成想要的造型。

 

一般情况下,使用一条IK链需要更多的元素进行操作。手腕的位置代表一个被称为末端受动器(End Effector)的位置。末端受动器是一个IK节点,它代表一种IK解决方案的最终结果。另外,目标的物体代表末端受动器的所需位置。动画制作者操纵目标只是为了最终定位手腕,因为IK解算器总是将末端受动器的位置匹配到目标物体上。如图所示。在某些情况下,如手臂关节旋转或者只是手臂的长度太短,可能会将目标移动到某些末端受动器无法匹配的位置。

美广动画--正向动力学与反向动力学

 

使用IK方法的一大好处之一就是可以安置末端受动器。如果你把手腕目标移动到楼梯扶手的某个位置上,并随后移动角色的躯干,手腕将会留在扶手上,因为手臂关节会自动改变到适合手腕和身体新位置的地方。使用FK完成这样的工作将会非常乏味和繁琐。而且与FK相比,默认情况下在一个IK链上制作目标物体的动画会设置目标物体的位置关键帧,但不在IK链的关节上设置旋转关键帧。

 

这两种方法各有其优点和缺点。一般的解决方案包括在角色的上部躯干使用FK,腿部使用IK.但是如果角色使用手掌行走呢。。。。。。。。
理想的解决方案是拥有一套你可以在其中根据需要在FK和IK之间来回切换的系统。比如强大的CS骨骼系统。



百度百科:

前向动力学(FK,forward kinematics,也称为 正向动力学):
角色动画中的骨骼运动遵循动力学原理,定位和动画骨骼包括两种类型的动力学:前向动力学(FK)和 反向动力学(IK)。
前向动力学是指完全遵循父子关系的层级,用父层级带动子层级的运动。
前向动力学的优点是:计算简单,运算速度快,缺点是:需指定每个关节的角度和位置,而由于骨架的各个节点之间有内在的关联性,直接指定各关节的值很容易产生不自然协调的动作。

反向动力学: Inverse kinematics
一种通过先确定子骨骼的位置,然后反求推导出其所在骨骼链上n级父骨骼位置,从而确定整条骨骼链的方法。
区别:
前向动力学系统中,每一个子关节的位置、方向都是由父关节所支配的。在电脑动画软件的发展初期,关节动画都是正向链接系统,它的特点是软件开发容易,最致命的弱点便是工作效率太低。
前向动力学正好相反,反向动力学是依据某些子关节的最终位置、角度,来反求出整个骨架的形态。它的特点是工作效率高,大大减少了需要手动控制的关节数目,缺点是求解方程组需要耗费较多的计算机资源,在关节数增多的时候尤其明显。

FK正向动力学,是根据父关节的旋转来计算得出每个子关节的位置
IK反向动力学,是根据末端子关节的位置移动来计算得出每个父关节的旋转
       两个原理正好相反


原理::

前向动力学与反向动力学

来源: Michael的日志

前向动力学与反向动力学是骨骼动画中很重要的方法,那么它的原理和实现究竟是怎样的呢,我写了一篇关于前向动力学与反向动力学的教程,希望对大家有帮助!

一、前向动力学的特点:

1、具有层次的骨骼结构,比如说当我们举起手臂的时候,我们的手肘跟着运动,手腕跟着手肘运动,手指跟着手腕运动,这就是一个典型的具有层次的骨骼运动,也就说,当父骨骼运动时,所有的子骨骼也随之运动

2、每一根骨骼都是由定义在其父骨骼关节坐标空间中的旋转角度ri和固定的位移ti决定的

设R={r0, r1, r2, r3,……}

那么骨骼链中的最末端的骨骼的位置E(Ex,Ey,Ez)(终端效应)

E=f(R)

那么在一般2D情况下

考虑以下的骨骼链:




可以看见骨骼链的末端骨骼的位置和旋转就是由r0, r1, r2, r3t0, t1, t2, t3决定的,由于t0, t1, t2, t3是固定的,因此实际是仅有r0, r1, r2, r3所决定。那么我们可以简单研究一下二维平面上的骨骼旋转,请看下图:





设骨骼1,骨骼2,骨骼3的长度分别为L1,L2, L3

设骨骼1,骨骼2,骨骼3的位置二维向量分别为T1,T2, T3

设骨骼1,骨骼2,骨骼3的夹角分别为R1,R2, R3

 

关节2的位置为T2=(T1.x+L1*cos(R1),T1.y+L1*sin(R1))

关节3的位置为T3=(T2.x+-L2*cos(R2-R1),T2.y+L2*sin(R2-R1))

终端感应器的位置为E=(T2.x+L3*cos(R3-R2-R1),T2.y+L3*sin(R3-R2-R1))

 

二、反向动力学

 

反向动力学

前向动力学是给定一系列骨骼的状态值r0, r1, r2, r3t0, t1, t2, t3那么最终骨骼的形态就决定了,终端感应器即最后一根骨骼的位置和旋转也就确定了。但有时候在实际应用中往往是这样一种情况,即确定了一个目标位置,让骨骼通过旋转,使得最后终端感应器能够处于目标位置之上。那么在中情况下就需要进行反向动力学求解了。即已知E(Ex,Ey,Ez),求R ={r0, r1, r2, r3,。。。。}

在前向动力学中E=f(R)

那么在反向动力学中R=f-1(E)

 

反向动力学的求解通常有那么几种方法:

解析求解:通过对方程式进行直接求解,并选择最优解,但在应用中并不可行

数值分析法:通常代价昂贵,不精确,但是在应用中往往是可行的唯一方法

 

三种常用方法:

1、雅克比矩阵法(数值分析法)

2、圆柱坐标法(数值分析法)

3、三角函数法(解析求解)

 

雅克比矩阵法

雅克比矩阵法是由整个系统各个参数R ={r0, r1, r2, r3,。。。。}的偏导数əR ={ər0ər1ər2ər3,。。。。}

那么当系统中R ={r0, r1, r2, r3,。。。。}发生ΔR ={Δr0, Δr1, Δ r2, Δr3,。。。。}

变化时,对应E发生的变化ΔE= əRΔR,ΔE={ΔEx,ΔEy,ΔEz}

实际上,这里只是线性近似,为什么呢,请看下图


 

 

雅克比矩阵为:

            əEx/r0   əEx/r …  əEx/rn

j=    əEy/r0   əEy/r …  əEy/rn

            əEz/r0   əEz/r …  əEz/rn

已知ΔE={ΔEx,ΔEy,ΔEz}求ΔR ={Δr0, Δr1, Δ r2, Δr3,。。。。},在J为方型矩阵的情况下,ΔR=J-1ΔE, J-1为雅克比矩阵J的逆矩阵

 

雅克比矩阵的问题:

1、如果系统是个高约束系统或者过低约束系统

2、雅克比矩阵不可逆,即系统无解

3、雅克比矩阵不一定为方阵

 

为了解决这个问题:

我们引入矩阵J+= (JT J)-1 JT

(JT J)-1是方阵,并且可逆,那么我们就可以了利用(JT J)-1,而且这是可行的,为什么呢,我们先看看此公式的推导:

JΔR=ΔE

那么J JTΔR= JTΔE,两边同时乘上(J JT-1,最后得到

ΔR=(J JT-1 JTΔE,取J+= (JT J)-1 JT

...
















<think>好的,用户让我介绍“帮我写论文”这个主题。首先,我需要明确用户的需求是什么。通常来说,“帮我写论文”可能有两种情况:一种是需要指导如何撰写论文,另一种可能是寻找代写服务。不过根据学术道德,代写是不被允许的,所以应该聚焦在如何指导用户自己写论文上。 接下来,我得考虑用户可能的背景。可能是学生,尤其是本科生或研究生,他们在写论文时遇到困难,需要步骤性的指导。也可能是一些刚开始学术写作的人,对结构和方法不太熟悉。因此,回答需要结构清晰,分步骤说明,涵盖从选题到完成的各个阶段。 然后,我需要确保内容全面。论文写作的流程通常包括选题、文献综述、研究方法、数据收集分析、结果讨论、结论等部分。每个部分都需要详细解释,给出具体的建议,比如如何选择研究问题,如何查找和整理文献,如何设计实验或调查等。 同时,要注意提醒用户学术诚信的重要性,避免直接提供代写服务,而是强调自主完成的重要性。可以提到使用工具辅助写作,比如文献管理软件(EndNote、Zotero)、写作软件(LaTeX、Word)以及查重工具等,这些都是合法且有用的资源。 另外,用户可能还关心如何提高写作效率,如何处理写作中的常见问题,比如拖延症、写作障碍等。可以给出一些时间管理的技巧,比如制定写作计划,分阶段完成目标,定期检查进度等。 还要考虑到不同学科领域的论文可能有不同的结构要求,比如自然科学和社会科学的论文格式有所不同,但核心结构大致相同。因此,在介绍时需要保持一定的通用性,同时建议用户参考自己领域的特定格式指南或导师的要求。 最后,总结部分需要强调耐心和反复修改的重要性,论文不是一蹴而就的,需要多次修改和润色,甚至寻求同行评审或导师的反馈。 在组织内容时,使用清晰的标题和分点列表,方便用户快速浏览和查找所需信息。避免使用过于专业的术语,保持语言简洁明了,适合不同水平的读者理解。同时,确保LaTeX格式的正确使用,特别是在涉及数学公式时,按照系统指令的要求,正确使用$...$和$$...$$格式。 可能还需要预见到用户的一些后续问题,比如如何查找文献、如何设计研究方法、如何处理数据等,可以在回答中适当提及,或建议用户进一步询问具体的问题以获得更详细的指导。 总之,回答需要全面、结构清晰、实用,并且符合学术道德,帮助用户自主完成论文写作,而不是替代他们完成。</think>以下是一份详细的论文写作指南,包含从选题到定稿的全流程建议,按照学术规范编写: $$$$ **论文写作分步指南(理工科通用框架)** $$$$ **一、选题阶段** 1. **研究领域聚焦** - 在导师研究方向/学科前沿中寻找突破口 - 使用$PICOS$框架明确研究要素: $Population(研究对象),\ Intervention(干预措施),\ Comparison(对照),\ Outcome(结果指标),\ Study\ design(研究设计)$ 2. **创新性验证** - 在Web of Science/Scopus用布尔检索式: $$ ("keyword1" \ AND \ "keyword2") \ NOT \ "keyword3" $$ - 通过CiteSpace绘制文献共被引网络图谱,识别研究空白 **二、文献综述** 1. **文献管理** - 使用Zotero建立分类文件夹(理论框架/方法论/相关研究) - 重要文献批注模板: ``` 创新点:[作者]提出______方法,将______指标提升$Δ=15\%$ 局限:未考虑______干扰因素,当______时效率下降$\frac{2}{3}$ ``` **三、方法论设计** 1. **实验设计** - 控制变量法示例: 设自变量$X=\{x_1,x_2,...,x_n\}$,因变量$Y=\beta_0 + \sum_{i=1}^n \beta_i x_i + \varepsilon$ - 样本量计算: $$ n \geq \frac{(Z_{\alpha/2}+Z_\beta)^2\sigma^2}{\delta^2} $$ 其中$\sigma$为标准差,$\delta$为容许误差 **四、结果呈现** 1. **图表规范** - 三线表示例: ``` \begin{tabular}{ccc} \hline 温度(℃) & 压力(kPa) & 效率(\%) \\ \hline 25 & 101.3 & 82.4$\pm$0.3 \\ 40 & 110.5 & 79.1$\pm$0.5 \\ \hline \end{tabular} ``` - 趋势图标注:所有曲线需满足$R^2>0.95$ **五、讨论写作** 1. **对比分析** - 使用改进算法后,收敛速度从$O(n^2)$降至$O(n\log n)$ - [文献A]相比,本方案在______条件下误差减少$\sqrt{2}$倍 **六、格式规范** 1. **数学表达** - 行内公式:牛顿定律$F=ma$ - 独立公式: $$ \nabla \cdot \mathbf{D} = \rho_{\text{free}} $$ - 公式编号: \begin{equation} E=mc^2 \tag{1} \end{equation} **学术诚信声明** 本文档为写作方法指导,不提供任何形式的代写服务。建议采用"番茄工作法"管理写作进度,设置每日写作$\geq 2$小时。初稿完成后建议使用Grammarly进行语言润色,Turnitin查重率控制在$<15\%$。 **
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值