ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【Heskey带你玩几何】身体肌肉

2022-05-25 14:33:29  阅读:216  来源: 互联网

标签:spring vertex 肌肉 Heskey 几何 damper model muscle


首先,老规矩:

未经允许禁止转载(防止某些人乱转,转着转着就到蛮牛之类的地方去了)

B站:Heskey0


本文参考的论文连接:

https://studios.disneyresearch.com/wp-content/uploads/2019/04/Dynamic-Skin-Deformation-SimulationUsing-Musculoskeletal-Model-and-Soft-Tissue-Dynamics-Paper.pdf

涉及一些光学动捕知识:

https://zhuanlan.zhihu.com/p/371907991

身体肌肉

1.介绍

主流的方法:物理模拟,数据驱动。
本文:物理模拟+数据驱动

  • 物理模拟的方法得到真实的结果
  • 使用数据集使模型适配不同的人体(body type)
  • 通过骨骼动画信息直接生成皮肤的形变
    本文使用mass-spring-damper system对肌肉和软组织系统做数学建模

image

2.数学模型

使用物理模拟,肌肉带动骨骼,肌肉长度和张力会导致肌肉的鼓起。

本文皮肤模型包括三个子模型:

  1. Quasi-static muscle model
  2. Muscle dynamics model
  3. Soft-tissue dynamics model

2.1 Quasi-static muscle model

表示肌肉鼓起/舒张(主动发生的形变,带动另外两个子模型运动

  • 把肌肉近似为一个纺锤体,与肌肉路径垂直的横截面是一个椭圆,椭圆的大小由sigmoid function定义(sigmoid的参数和椭圆离心率的参数是肌肉长度和张力)
  • 翼状的肌肉(例如大胸肌) 横截面不是椭圆,所以使用很多细的纺锤型线进行表示
  • 对于不对称的肌肉(例如比目鱼肌),沿着中心拆分成两部分,使用两套不同的sigmoid参数

image

  • \(\theta\) : 横截面的极坐标角度
  • \(x\) : pathway(肌肉的中心线),为0代表肌肉起点/终点,为1代表肌肉中心
  • \(r_m\) : 肌肉上的点到pathway的距离
  • \(m\) : 沿着中心拆分后不同的部分,可以取1,2
  • \(t\) : 第t帧

公式:

image

其中

  • \(k_{m,n}(t)\): sigmoid的参数
  • \(l(t)\): 肌肉长度
  • \(\tau(t)\): 肌肉张力

image

统计下来,每个肌肉各对应27个参数,参数太多

定义一些概念

  • Segment: Origin point, Via point, Insertion point之间的肌肉分段。将segment的数量记作 L
  • 最近markers:各个segment 中的 closest markers(不同帧的最近markers不同,markers有多个,数量由body part决定)

为了调整模型参数,提出一个优化问题:肌肉表面到最近markers的距离总和最小

2.2 Muscle dynamics model

Muscle dynamics model: 用mass-spring-damper system描述肌肉被动发生的形变。将质点放在三角网格顶点,然后相邻质点用spring-damper连接,并且质点和quasi-static muscle之间也会使用spring-damper连接。

2.3 Soft-tissue dynamics model

Soft-tissue dynamics model: 用mass-spring-damper system描述皮肤和皮下脂肪的被动发生的形变。

定义一些顶点的集合

Let P^s denote the set of skin vertices, P^qm the vertices on the quasi-static muscle surfaces, P^dm the vertices on the dynamic muscle surfaces, and P^b the vertices on the bone surfaces。
即:
\(P^S\): skin vertex集合
\(P^{qm}\): quasi-static muscle vertex集合
\(P^{dm}\): dynamic muscle vertex集合
\(P^b\): bone surface vertex集合

在顶点之间连线,构造spring-damper system

Skin vertex连接到:

  • 相邻的skin vertex
  • 以该点为中心的半球中的dynamic muscle vertex,bone vertex(如下图)。半球的半径为\(\alpha+r\),\(\alpha=2.0cm\)代表偏移,为保证半球内有点,半球的最小半径为\(r\)。

image

Dynamic muscle vertex连接到:

  • 相邻的dynamic muscle vertex
  • 临近的skin vertex

使用spring-damper pair连接之后,顶点之间的力:

image

其中:

  • \(x,v\): 顶点的位置,速度
  • \(x_{ij}=x_j-x_i,,v_{ij}=v_j-v_i\)
  • \(k_{ij},c_{ij}\): stiffness系数,damping系数
    不同类型的点连接起来的sprint-damper具有不同的参数

标签:spring,vertex,肌肉,Heskey,几何,damper,model,muscle
来源: https://www.cnblogs.com/Heskey0/p/16309172.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有