博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
11月27日
阅读量:6284 次
发布时间:2019-06-22

本文共 965 字,大约阅读时间需要 3 分钟。

11月27日

任务:

研究reducedDynamicSolver-rt,了解降维后的积分方法

代码结构:

函数initScene()准备必要的资源,按顺序为:

  1. 调用了ReadMatrixFromDisk_()从磁盘读取低维基向量,放入ModalMatrix 对象renderingModalMatrix之中,这个类可以由高维力算出低维力。同时分配低维坐标q 低维力 fq fqBase。其中fqBase表示在参考动作(参考动作不一定是未变形动作)的情形下的低维力,模拟实际的力是在这个力的基础上加上用户施加的力fq。

  2. 用模态矩阵和网格初始化SceneObjectReducedCPU对象deformableObjectRenderingMeshCPU,并赋给基类指针deformableObjectRenderingMeshReduced。SceneObjectReducedCPU可以即时指定的新的低维坐标,并换算成高维坐标(顶点的位移)。

  3.  用多项式系数初始化 StVKReducedInternalForces(cubicPolynomialFilename)对象stVKReducedInternalForces,此类既可以用已经计算好的stvk多项式系数初始化,也可以即时计算系数

    这个类可以用给定的低维坐标,计算出低维力

  4. 用 StVKReducedInternalForces 初始化 StVKReducedStiffnessMatrix,这个矩阵可以通过给定的低维坐标,构造出对应位置的tangent stiffness matrix

  5.  用前述计算低维力和低维切向刚度矩阵的两个类构造ReducedStVKForceModel对象

  6. 用以上数据初始化ImplicitNewmarkDense积分器

函数idleFunction()迭代求解

  1. 给积分器设置当前的外力fq,fq= 参考动作鼠标拖动的外力 + 当前鼠标拖动的外力

  2. 调用积分器的DoTimeStep函数进行数值积分

  3. 获得积分器计算出的低维坐标q,赋值给SceneObjectReducedCPU,并调用其Compute_uUq函数计算出高维坐标(顶点偏移)

  4. 更新显示

转载于:https://www.cnblogs.com/dydx/p/4235921.html

你可能感兴趣的文章
c++ time_t
查看>>
Winform 下使用WebBrowser的HTML编辑控件—WinHtmlControl 在win7 IE9下的问题
查看>>
主页被改为毒霸/搜狗的解决办法
查看>>
2015第2周一数据传输安全
查看>>
分享一个批量导出当前实例下的所有linkedserver脚本
查看>>
Delphi发送邮件...
查看>>
博客园使用攻略之如何添加自己的js文件
查看>>
Android 图片的缩略图
查看>>
一个iOS 框架介绍:MKNetworkKit
查看>>
【leetcode】Word Ladder II(hard)★ 图 回头看
查看>>
Eclipse断点调试
查看>>
WP8.1学习系列(第四章)——交互UX之导航模式
查看>>
Android tabhost下的activity怎样获取传来的值
查看>>
JVM内存配置详解(转)
查看>>
Eclipse代码格式化
查看>>
嵌套结构使用:struc1-struc2-XXX
查看>>
XMPP协议的原理介绍
查看>>
2015第7周日
查看>>
Shell解释器(学习笔记四)
查看>>
html在线美化网站
查看>>