zoukankan      html  css  js  c++  java
  • 把状态保存

    今天实现了把模拟状态保存为文件的功能。
    当前的模拟对话框为:

    模拟过后只需点 Save Simulation Result,即可保存结果。
    结果包括初始位置initPos、内部点索引intPntIdx、表面点索引surfPntIdx、每一帧偏移量q、速度v、加速度a、参数值param

    下一步实现模型的静态解算,就是给出一组表面点的运动序列,算出平衡位置下内部点的运动序列。
    做一个切换开关,就是把参数连接到初始值。

    模型的静态解算
    模型的静态解算方法比较简单,利用  K = dF / dx 
    其中K为tangent stiffness matrix, F为内力,dx为偏移量
    用牛顿法解 F + K * dx = 0,得到dx

    注意一点就是由于是求内部点的静态位置,K应该只取内部点对应的行和列,dx、dF则是取内部点对应的元素,否则即使每次把表面点步长设成0,迭代也不收敛


    当前的界面如图所示:

    加上了Static Simulate按钮
    静态解算时,参数直接从RigInitParameter读取,而不是通过模拟得到

    ,状态与动态模拟一样也是保存在节点的RigStatus内部







  • 相关阅读:
    Java实战项目收集
    Drebin数据集
    网络“法官”
    沉醉
    孔方兄
    《Qt 5.9 C++开发指南》例程源码
    《论语》中那些耳熟能详的词汇
    破祟
    Qt使用UI编辑器添加的控件Icon运行时不显示
    Ubuntu格式化SD卡
  • 原文地址:https://www.cnblogs.com/dydx/p/4249207.html
Copyright © 2011-2022 走看看