zoukankan      html  css  js  c++  java
  • Flipping with Physis: Motion Editing for Acrobatics

    [source] siggraph

    [year] 2007

    for acrobatics

    单圈翻腾比较容易,但多圈不是一般谁谁谁都能做的,或者根本无人可完成,此时可用这个技术来完成。

    调整轨迹,但在调整之后,仍保证物理上合理,且无优化的步骤。有效性的证明,通过a study of sensitivity to errors in angular momentum and take-off angle.证明,这些参数上小的改变不影响感知。

    1.Introduction.

        1.旋转和重复一些片段

        2.保持物理真实性   角动量  速度  加速度 

        重用动作数据

       Contribution:   1.  编辑  2.质量分布估计的算法

    2. 相关工作

        1.物理真实性      Control Mechanisms

        2.带物理约束的优化技术

        3.Perception study

        4.质量估计 [Bhat 对视频图像中自由飞行的刚体估计]

    3. Overview

        两步:   pre-processing stage                    run-time jump generation stage

        图1说明性强

        Pre-processing stage: 找到腾空阶段,据运量守恒,估计质量分布及inertia tensor,计算(角/线)运量

        run-time : search algo. 来找到可旋转的段并拼接产生新动作, retime,重置重心位置

    4. Pre-processing Stage

    4.1 Ballistic Phase Detection

        [LP02]的基于约束的方法 : 在起飞和降落时脚仍在地面上一段时间,虽然不知道具体位置,但可假设至少一个效应器的位置变化不大的帧可以作为腾空的边界帧

       再一个约束:线动量的建立和释放,比如起飞时,线动量先稍下降,再猛升。

    4.2 Estimation Mass Distribution

        min_{m1,m2,…; a_x,b_x,a_z,b_z,a_y,b_y,c_y}\Left \| ( \sum_{i=1}^{n}(m_i/M pos_i(t)) –COM(t) )\|^2 for t=0,1,..T   

        COM(t) = [….]

    即,自由下落时轨迹最重合的分布,此时有个假设各部分重心位置是已知的,  【私以为,这个假设其实是非常强的,直接导致质量可估计了】

    但未知量数多于约束数,解不唯一。—> 迭代方法,且选择与初始值近的

    4.3 Momentum Computation

       

    5 Run-Time Jump Generation Stage

        找到片段,粘在一起,成多个圈,调整重心

    5.1 Editing Operations and Their Impact on Momentum

        Repositioning of the CoM:不会影响角动量

        Rotation around the angular momentum vector:  L_{new} = R(\phi)*L = L

        Motion retiming: v_i^{new} = n v_i

    5.2 Search and Sequencing

        找到F_B = f_m,f_{m+1},….,f_n 和\phi 使  R(f_m, L, \phi) \approx f_n

        这样原动作成为 F = [F_S F_B, F_E]

            --> 新动作 F^{new} = [F_S F_B R_B{\phi} R_B(2\phi),…,R_B{r\phi}]

                  r = \up{(2pi*num_flips - \phi_s-\phi_e)/\phi}

        为了消除不连续,做个插值Slerp

    5.3 Retiming

        对low-effort jumps,momentum build-up时的变化与起飞时的姿态相关,比如屈膝;

        “Surprisingly”,high-effort ballistic motions时,不是这样,速度重要而姿态不重要

        因此,把各阶段都以k来scale,实际让角速度大了k倍。而又证明了,有一个k*可保证线动量曲线的连续。k*可计算,k\approx 0.7k*

    5.4 Repostioning

        使与调整后的COM轨迹

    5.5 User Modification

        不要引入大的角动量变化

  • 相关阅读:
    取出session中的所有属性与值的方法
    jqGrid几个需要注意的默认设置
    java语言中除数为零问题
    java语言中Object转为String的几种形式
    highCharts提示框不显示的问题
    jqGrid使用setColProp方法动态改变列属性
    jgGrid中的editrules使用函数来进行验证
    大坝安全监测系统预警值上下限设定
    谓词 (NSPredicate)使用详情
    kvc(键-值编码)
  • 原文地址:https://www.cnblogs.com/justin_s/p/2079316.html
Copyright © 2011-2022 走看看