• 11月27日


    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. 更新显示







  • 相关阅读:
    JAVA,模拟HTTP登录(略有修改) ----转载自http://zhoujingxian.iteye.com/blog/439738
    java的mysql初探
    java的IO流初探
    java自己写的简单聊天工具SimpleQQ感悟
    java多线程初探
    java事件监听机制2
    JAVA事件监听机制的实现
    iOS (两行代码实现)浮点数保留两位小数且末尾0不展示
    iOS 13.4 & Xcode 11.4 采坑小记(重写系统get)
    Masonry 使用小记(动态宽度依赖)
  • 原文地址:https://www.cnblogs.com/dydx/p/4235921.html
Copyright © 2020-2023  润新知