CN115049766B - 构建肌肉纤维模型方法、装置、计算机设备和存储介质 - Google Patents

构建肌肉纤维模型方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN115049766B
CN115049766B CN202210984048.5A CN202210984048A CN115049766B CN 115049766 B CN115049766 B CN 115049766B CN 202210984048 A CN202210984048 A CN 202210984048A CN 115049766 B CN115049766 B CN 115049766B
Authority
CN
China
Prior art keywords
muscle
mesh
vertex
finite element
muscle fiber
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210984048.5A
Other languages
English (en)
Other versions
CN115049766A (zh
Inventor
陆树梁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Zesen Software Technology Co ltd
Original Assignee
Shenzhen Zesen Software Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Zesen Software Technology Co ltd filed Critical Shenzhen Zesen Software Technology Co ltd
Priority to CN202210984048.5A priority Critical patent/CN115049766B/zh
Publication of CN115049766A publication Critical patent/CN115049766A/zh
Application granted granted Critical
Publication of CN115049766B publication Critical patent/CN115049766B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请涉及一种构建肌肉纤维模型方法、装置、计算机设备和存储介质。所述方法包括:获取有限元网格、皮肤网格、肌肉纤维生成方向;根据皮肤网格的形状特征在有限元网格中确定肌肉区域;对肌肉区域进行离散生成肌肉网格;根据肌肉纤维生成方向与肌肉网格确定肌肉纤维边界点;根据肌肉网格的顶点的位置信息得到调整因子;根据调整因子与肌肉纤维边界点构造肌肉纤维方程;根据肌肉纤维方程与肌肉网格的顶点的位置信息得到肌肉网格的顶点的目标矢量;根据顶点的目标矢量得到肌肉网格的肌肉纤维方向,根据肌肉纤维方向得到肌肉纤维模型。采用本方法能够提高构建肌肉纤维模型的效率。

Description

构建肌肉纤维模型方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种构建肌肉纤维模型方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,生物仿真技术得到广泛的应用。其中,关于肌肉纤维模型的研究是生物仿真领域中的重要组成部分,关于构建肌肉纤维方法的研究受到广泛关注。
现有技术中,当需要构建肌肉纤维模型时,需要有经验的工作人员逐条对肌肉纤维进行建模,由于需要人工操作逐条建模,需要花费较长的时间,构建肌肉纤维模型的效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种构建肌肉纤维模型方法、装置、计算机设备和存储介质,能够提高构建肌肉纤维模型的效率。
一种构建肌肉纤维模型方法,包括:
获取有限元网格、皮肤网格、肌肉纤维生成方向;
根据皮肤网格的形状特征在有限元网格中确定肌肉区域;
对肌肉区域进行离散生成肌肉网格;
根据肌肉纤维生成方向与肌肉网格确定肌肉纤维边界点,肌肉纤维边界点为肌肉纤维的起始边界区域与结束边界区域;
根据肌肉网格的顶点的位置信息得到调整因子;
根据调整因子与肌肉纤维边界点构造肌肉纤维方程,肌肉纤维方程用于表征肌肉网格上肌肉纤维的散度大小;
根据肌肉纤维方程与肌肉网格的顶点的位置信息得到肌肉网格的顶点的目标矢量;
根据顶点的目标矢量得到肌肉网格的肌肉纤维方向,根据肌肉纤维方向得到肌肉纤维模型。
在一个实施例中,根据肌肉网格的顶点的位置信息得到调整因子,包括:
根据肌肉网格的顶点的位置信息得到肌肉网格中有限元单元的目标边的位置信息以及有限元单元的目标边的长度;
获取包含有限元单元的目标边的相邻有限元单元的位置信息;
根据有限元单元的目标边的位置信息与相邻有限元单元的位置信息得到有限元单元的目标边在相邻有限元单元中所对应的二面角;
基于二面角、有限元单元的目标边的长度生成拉普拉斯算子,根据拉普拉斯算子得到调整因子。
在一个实施例中,根据肌肉网格的顶点的位置信息得到肌肉网格中有限元单元的边的位置信息以及有限元单元的边的长度,包括:
当肌肉网格的顶点为两个相邻顶点时,根据两个相邻顶点确定肌肉网格中有限元单元的目标边的位置信息以及有限元单元的目标边的长度,两个相邻顶点被包含在同一个有限元单元中;
当肌肉网格的顶点为单个顶点时,获取与单个顶点的相邻网格顶点的位置信息,根据单个顶点与相邻网格顶点的位置信息确定有限元单元的目标边的位置信息以及有限元单元的目标边的长度,相邻网格顶点为肌肉网格上与单个顶点属于同一个有限元单元上且直接相连的顶点。
在一个实施例中,根据肌肉网格的顶点的位置信息得到调整因子,包括:
当肌肉网格为离散的三角形网格时,获取三角形网格中三角形单元的半周长与三角形单元的面积;
根据肌肉网格的顶点的位置信息得到肌肉网格中有限元单元的目标边的位置信息以及有限元单元的目标边的长度;
基于有限元单元的目标边的长度、三角形单元的半周长与三角形单元的面积融合生成拉普拉斯算子,根据拉普拉斯算子得到调整因子。
在一个实施例中,根据肌肉纤维方程与肌肉网格的顶点的位置信息得到肌肉网格的顶点的目标矢量,包括:
根据肌肉纤维方程得到肌肉网格的顶点的离散值;
根据肌肉网格的顶点的离散值生成离散值向量;
根据肌肉网格的顶点的位置信息得到顶点位置向量;
基于离散值向量与顶点位置向量融合生成肌肉网格中有限元单元的目标矢量;
根据肌肉网格中有限元单元的目标矢量得到肌肉网格的顶点的目标矢量。
在一个实施例中,根据肌肉网格中有限元单元的目标矢量得到肌肉网格的顶点的目标矢量,包括:
获取肌肉网格的顶点在肌肉网格中有限元单元中对应的立体角;
基于立体角与有限元单元的目标矢量融合得到肌肉网格的顶点的目标矢量。
在一个实施例中,根据顶点的目标矢量得到肌肉网格的肌肉纤维方向,根据肌肉纤维方向得到肌肉纤维模型,包括:
根据顶点的目标矢量得到顶点的目标矢量对应的单位向量;
由单位向量得到肌肉网格的肌肉纤维方向。
一种构建肌肉纤维模型装置,包括:
数据信息获取模块,用于获取有限元网格、皮肤网格、肌肉纤维生成方向;
肌肉区域确定模块,用于根据皮肤网格的形状特征在有限元网格中确定肌肉区域;
肌肉网格生成模块,用于对肌肉区域进行离散生成肌肉网格;
肌肉纤维边界点确定模块,用于根据肌肉纤维生成方向与肌肉网格确定肌肉纤维边界点,肌肉纤维边界点为肌肉纤维的起始边界区域与结束边界区域;
调整因子生成模块,用于根据肌肉网格的顶点的位置信息得到调整因子;
肌肉纤维方程构造模块,用于根据调整因子与肌肉纤维边界点构造肌肉纤维方程,肌肉纤维方程用于表征肌肉网格上肌肉纤维的散度大小;
顶点目标矢量生成模块,用于根据肌肉纤维方程与肌肉网格的顶点的位置信息得到肌肉网格的顶点的目标矢量;
肌肉纤维生成模块,用于根据顶点的目标矢量得到肌肉网格的肌肉纤维方向,根据肌肉纤维方向得到肌肉纤维模型。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
获取有限元网格、皮肤网格、肌肉纤维生成方向;
根据皮肤网格的形状特征在有限元网格中确定肌肉区域;
对肌肉区域进行离散生成肌肉网格;
根据肌肉纤维生成方向与肌肉网格确定肌肉纤维边界点,肌肉纤维边界点为肌肉纤维的起始边界区域与结束边界区域;
根据肌肉网格的顶点的位置信息得到调整因子;
根据调整因子与肌肉纤维边界点构造肌肉纤维方程,肌肉纤维方程用于表征肌肉网格上肌肉纤维的散度大小;
根据肌肉纤维方程与肌肉网格的顶点的位置信息得到肌肉网格的顶点的目标矢量;
根据顶点的目标矢量得到肌肉网格的肌肉纤维方向,根据肌肉纤维方向得到肌肉纤维模型。
一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取有限元网格、皮肤网格、肌肉纤维生成方向;
根据皮肤网格的形状特征在有限元网格中确定肌肉区域;
对肌肉区域进行离散生成肌肉网格;
根据肌肉纤维生成方向与肌肉网格确定肌肉纤维边界点,肌肉纤维边界点为肌肉纤维的起始边界区域与结束边界区域;
根据肌肉网格的顶点的位置信息得到调整因子;
根据调整因子与肌肉纤维边界点构造肌肉纤维方程,肌肉纤维方程用于表征肌肉网格上肌肉纤维的散度大小;
根据肌肉纤维方程与肌肉网格的顶点的位置信息得到肌肉网格的顶点的目标矢量;
根据顶点的目标矢量得到肌肉网格的肌肉纤维方向,根据肌肉纤维方向得到肌肉纤维模型。
上述构建肌肉纤维模型方法、装置、计算机设备和存储介质,通过获取有限元网格、皮肤网格、肌肉纤维生成方向;根据皮肤网格的形状特征在有限元网格中确定肌肉区域;对肌肉区域进行离散生成肌肉网格;根据肌肉纤维生成方向与肌肉网格确定肌肉纤维边界点,肌肉纤维边界点为肌肉纤维的起始边界区域与结束边界区域;根据肌肉网格的顶点的位置信息得到调整因子;根据调整因子与肌肉纤维边界点构造肌肉纤维方程,肌肉纤维方程用于表征肌肉网格上肌肉纤维的散度大小;根据肌肉纤维方程与肌肉网格的顶点的位置信息得到肌肉网格的顶点的目标矢量;根据顶点的目标矢量得到肌肉网格的肌肉纤维方向,根据肌肉纤维方向得到肌肉纤维模型。这样,通过指定一个大致的肌肉纤维生成的方向,求解肌肉区域内的肌肉纤维方程,实现自动化地生成整个肌肉纤维方向,进而得到肌肉纤维模型,能够提高构建肌肉纤维模型的效率。
附图说明
图1为一个实施例中构建肌肉纤维模型方法的应用环境图;
图2为一个实施例中构建肌肉纤维模型方法的流程示意图;
图3为一个实施例中生成调整因子的流程示意图;
图4为一个实施例中确定有限元单元目标边的流程示意图;
图5为一个实施例中生成三角形网格对应的调整因子的流程示意图;
图6为一个实施例中得到肌肉网格的顶点的目标矢量的流程示意图;
图7为一个实施例中得到肌肉网格的顶点的目标矢量的流程示意图;
图8为一个实施例中生成肌肉纤维方向的流程示意图;
图9为一个实施例中动画对象有限元网格的示意图;
图10为一个实施例中皮肤模型的示意图;
图11为一个实施例中肌肉纤维束的示意图;
图12为一个实施例中生成的整个肌肉纤维模型的示意图;
图13为一个实施例中构建肌肉纤维模型装置结构框图;
图14为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的构建肌肉纤维模型方法,可以应用于如图1所示的应用环境中。如图1所示,计算机设备102获取有限元网格、皮肤网格、肌肉纤维生成方向,计算机设备102根据皮肤模型的形状特征在有限元网格中划定肌肉区域,将其离散为肌肉网格后,通过指定肌肉纤维生成的大致方向,自动化生成肌肉区域的肌肉纤维方向,进而得到肌肉纤维模型。其中,计算机设备102具体可以包括但不限于各种服务器、个人计算机、笔记本电脑、服务器、智能手机、平板电脑、智能摄像机和便携式可穿戴设备等。
在一个实施例中,如图2所示,提供了一种构建肌肉纤维模型方法,以该方法应用于图1中的计算机设备102为例进行说明,包括以下步骤:
步骤S202,获取有限元网格、皮肤网格、肌肉纤维生成方向。
其中,有限元网格为三维动画对象有限元网格,用于接受各种外力以及骨骼驱动力作用而能产生形变的三维动画角色模型,如图9所示,皮肤网格是用于内嵌在动画对象有限元网格上的三维皮肤模型,皮肤模型是用于展示或表现动画对象的外表面具体细节、形状的三维动画模型,如图10所示;有限元网格与皮肤网格可以采用四面体网格或六面体网格或三角形网格等方法来进行有限元的划分,使得动画对象的有限元网格、皮肤网格以及骨骼网格都是由一个个有限元单元组成的模型,这里不作限制,皮肤网格是通过有限元法离散后的角色皮肤图案模型,肌肉纤维生成方向是在构建肌肉纤维模型时,指定的肌肉纤维生成的大致方向,可以按经验由人工指定,也可以是对真实生物肌肉模板进行自动化图像识别得到,肌肉纤维是肌肉区域中无交叉的矢量场,肌肉纤维模型就是有限元网格中具有空间无交叉矢量方向的有限元单元及各顶点所组成的肌肉区域,体现在肌肉区域中每个顶点处的目标单位向量的总和,肌肉区域中每个顶点处的肌肉纤维方向就是该点处的对应的空间无交叉的单位向量所指的方向。
步骤S204,根据皮肤网格的形状特征在有限元网格中确定肌肉区域。
具体地,计算机设备根据人体或其他生物真实肌肉分布特点与动画角色的皮肤网格的形状特征,在皮肤网格的内部结合肌肉发力的特性来划定肌肉区域所在的空间位置,肌肉区域是在有限元网格中生成肌肉纤维之前而划定的一块肌肉待建模区域,划定了后续所生成的肌肉纤维的三维空间的边界。
步骤S206,对肌肉区域进行离散生成肌肉网格。
具体地,计算机设备采用四面体网格或六面体网格或三角形网格等有限元算法来对肌肉区域进行有限元的离散化,生成肌肉网格,离散化后的肌肉网格由一个个有限元单元组成,每个有限元单元都具有顶点,也就是离散化后肌肉网格的顶点。
步骤S208,根据肌肉纤维生成方向与肌肉网格确定肌肉纤维边界点,肌肉纤维边界点为肌肉纤维的起始边界区域与结束边界区域。
其中,肌肉纤维边界点可以通过人工指定的方式来确定,也可以根据肌肉网格在肌肉纤维生成方向上的最远两端的边界区域来确定,将两端边界区域作为肌肉纤维边界点,肌肉纤维边界点为肌肉纤维的起始边界区域与结束边界区域,肌肉纤维在起始边界区域处向外发散,肌肉纤维收敛于结束边界区域,即汇聚于结束边界区域,并且随机指定边界点的离散值,其中边界点的离散值可以为不同的任意值。
步骤S210,根据肌肉网格的顶点的位置信息得到调整因子。
其中,肌肉网格的顶点是肌肉网格中有限元单元的顶点,调整因子用于构造后续肌肉纤维方程,是肌肉纤维方程中的一项,调整因子反映了肌肉网格中各个顶点以及各个有限元单元的边的位置信息。
具体地,计算机设备根据肌肉网格的顶点的位置信息得到肌肉网格中相邻顶点所连成的目标边的位置信息以及目标边的几何长度,再由目标边的位置信息得到与该目标边所在的相邻有限元单元的位置信息,进而计算得到目标边分别在各个相邻有限元单元中对应的二面角大小,计算机设备将目标边的几何长度与各个二面角进行融合得到调整因子。
步骤S212,根据调整因子与肌肉纤维边界点构造肌肉纤维方程,肌肉纤维方程用于表征肌肉网格上肌肉纤维的散度大小。
其中,肌肉纤维方程用于表征肌肉网格上肌肉纤维的散度大小,肌肉纤维方程可以根据肌肉网格的顶点的位置信息计算出各个顶点的离散值大小,而各个点的离散值可以反映出各个顶点所确定的肌肉纤维之间的散度大小。
具体地,计算机设备随机指定肌肉纤维边界点的离散值,通过调整因子与肌肉纤维边界点的离散值逐渐迭代计算出肌肉网格中其他顶点的离散值,进而得到肌肉网格中所有顶点的离散值组成的矩阵,将这个顶点离散值组成的矩阵作为肌肉纤维方程。
举例说明,肌肉纤维分布的一个显著的特点是肌肉纤维没有空间上的交叉,因此可以类比无源温度场中的温度梯度场来近似表达,连续空间的无源温度场可以用泊松方程来表达:
Figure 916246DEST_PATH_IMAGE002
,公式1
其中,
Figure 268730DEST_PATH_IMAGE004
为拉普拉斯算子,
Figure 742437DEST_PATH_IMAGE006
为温度场,通过指定边界点的温度,可以求解在该边界条件下空间的温度场
Figure 836163DEST_PATH_IMAGE006
,进而可以计算温度梯度场:
Figure DEST_PATH_IMAGE008_11A
,公式2
在工程应用中,将肌肉区域做网格上的离散,利用有限元或边界元的方式对空间中的温度场进行求解,进而得到肌肉网格中各个顶点的温度值,进而得到离散空间的泊松方程:
Figure 991201DEST_PATH_IMAGE010
,其中
Figure 198192DEST_PATH_IMAGE012
为肌肉网格的顶点的温度值,
Figure 468898DEST_PATH_IMAGE014
为肌肉网格中顶点的数量值。
步骤S214,根据肌肉纤维方程与肌肉网格的顶点的位置信息得到肌肉网格的顶点的目标矢量。
其中,肌肉网格的顶点的目标矢量表征了各点处的肌肉纤维方向。
具体地,计算机设备根据肌肉纤维方程得到目标有限元单元各顶点的离散值,再根据有限元单元各顶点的离散值与有限元单元各顶点的位置信息计算得到有限元单元的目标矢量,在本方案中,假定各有限元单元内部的目标矢量恒定不变;计算机设备根据肌肉网格中有限元单元顶点的位置信息计算得到有限元单元顶点在对应的有限元单元中的立体角,计算机设备根据立体角与有限元单元的目标矢量,将有限元单元的梯度插值到顶点上,得到顶点的目标矢量。
步骤S216,根据顶点的目标矢量得到肌肉网格的肌肉纤维方向,根据肌肉纤维方向得到肌肉纤维模型。
具体地,计算机设备获取到肌肉网格中各顶点的目标矢量,计算顶点的目标矢量对应的模,将顶点的目标矢量除以对应的模,得到顶点的目标矢量对应的单位向量,将对应的单位向量作为肌肉纤维方向,最后将肌肉网格顶点的纤维方向通过采样插值的方式放到有限元网格上,得到肌肉纤维模型,如图11与图12所示。
本实施例中,通过获取有限元网格、皮肤网格、肌肉纤维生成方向;根据皮肤网格的形状特征在有限元网格中确定肌肉区域;对肌肉区域进行离散生成肌肉网格;根据肌肉纤维生成方向与肌肉网格确定肌肉纤维边界点,肌肉纤维边界点为肌肉纤维的起始边界区域与结束边界区域;根据肌肉网格的顶点的位置信息得到调整因子;根据调整因子与肌肉纤维边界点构造肌肉纤维方程,肌肉纤维方程用于表征肌肉网格上肌肉纤维的散度大小;根据肌肉纤维方程与肌肉网格的顶点的位置信息得到肌肉网格的顶点的目标矢量;根据顶点的目标矢量得到肌肉网格的肌肉纤维方向,根据肌肉纤维方向得到肌肉纤维模型。这样,通过指定一个大致的肌肉纤维生成的方向,求解肌肉区域内的肌肉纤维方程,实现自动化地生成整个肌肉纤维方向,进而得到肌肉纤维模型,能够提高构建肌肉纤维模型的效率。
在一个实施例中,如图3所示,根据肌肉网格的顶点的位置信息得到调整因子,包括:
步骤S302,根据肌肉网格的顶点的位置信息得到肌肉网格中有限元单元的目标边的位置信息以及有限元单元的目标边的长度;
步骤S304,获取包含有限元单元的目标边的相邻有限元单元的位置信息;
步骤S306,根据有限元单元的目标边的位置信息与相邻有限元单元的位置信息得到有限元单元的目标边在相邻有限元单元中所对应的二面角;
步骤S308,基于二面角、有限元单元的目标边的长度生成拉普拉斯算子,根据拉普拉斯算子得到调整因子。
举例说明,设调整因子为拉普拉斯算子矩阵L,矩阵L中的第i行第j列的元素为
Figure 925287DEST_PATH_IMAGE016
,则如公式3所示,确定
Figure 149595DEST_PATH_IMAGE017
的值:
Figure DEST_PATH_IMAGE019AAAA
,公式3
其中,
Figure 70147DEST_PATH_IMAGE021
当且仅当肌肉网格中的点
Figure 620077DEST_PATH_IMAGE023
和点
Figure 439128DEST_PATH_IMAGE025
是相连的时不为0,
Figure 998286DEST_PATH_IMAGE027
是肌肉网格中点
Figure 334196DEST_PATH_IMAGE029
和点
Figure 320606DEST_PATH_IMAGE031
相连的边,点
Figure 892533DEST_PATH_IMAGE033
和点
Figure 114436DEST_PATH_IMAGE031
被包含在同一个有限元单元中,
Figure 416104DEST_PATH_IMAGE035
为边
Figure 573416DEST_PATH_IMAGE037
的几何长度,
Figure 101480DEST_PATH_IMAGE039
是第k个有限元单元,
Figure 2440DEST_PATH_IMAGE041
表示包含边
Figure 315872DEST_PATH_IMAGE043
的有限元单元的集合,
Figure 644085DEST_PATH_IMAGE045
为边
Figure 659446DEST_PATH_IMAGE047
在有限元单元
Figure 98517DEST_PATH_IMAGE049
中对应的二面角大小。
本实施例中,通过肌肉网格中顶点的位置信息确定有限元单元的边的位置信息,再通过计算有限元单元的边在包含该边的有限元单元中的二面角大小来确定边与的位置信息,基于二面角与边的几何长度所构建的拉普拉斯算子作为调整因子,能够更加全面反映肌肉网格中各个顶点的位置信息以及顶点之间的相对位置信息,使得基于此调整因子所构建的肌肉纤维方程充分包含顶点的位置信息,提高所生成的肌肉网格的顶点的离散值的准确性。
在一个实施例中,如图4所示,根据肌肉网格的顶点的位置信息得到肌肉网格中有限元单元的边的位置信息以及有限元单元的边的长度,包括:
步骤S402,当肌肉网格的顶点为两个相邻顶点时,根据两个相邻顶点确定肌肉网格中有限元单元的目标边的位置信息以及有限元单元的目标边的长度,两个相邻顶点被包含在同一个有限元单元中。
举例说明,肌肉网格中的顶点
Figure 764991DEST_PATH_IMAGE051
和顶点
Figure 264105DEST_PATH_IMAGE053
,当
Figure 766762DEST_PATH_IMAGE055
时,即计算矩阵L中的第i行第j列的非对角线元素
Figure 9525DEST_PATH_IMAGE057
,由顶点
Figure 23180DEST_PATH_IMAGE059
和顶点
Figure 693196DEST_PATH_IMAGE053
能确定唯一的一条边
Figure 683149DEST_PATH_IMAGE061
,同时边
Figure 729602DEST_PATH_IMAGE063
可以同时作为多个有限元单元的共同边,因此,由边
Figure 105089DEST_PATH_IMAGE065
可以确定边
Figure 946006DEST_PATH_IMAGE063
的位置信息以及边
Figure 423255DEST_PATH_IMAGE063
的几何长度
Figure 476661DEST_PATH_IMAGE066
步骤S404,当肌肉网格的顶点为单个顶点时,获取与单个顶点的相邻网格顶点的位置信息,根据单个顶点与相邻网格顶点的位置信息确定有限元单元的目标边的位置信息以及有限元单元的目标边的长度,相邻网格顶点为肌肉网格上与单个顶点属于同一个有限元单元上且直接相连的顶点。
举例说明,肌肉网格中的顶点
Figure 847600DEST_PATH_IMAGE051
和顶点
Figure 485517DEST_PATH_IMAGE053
,当
Figure 43537DEST_PATH_IMAGE055
时,即计算矩阵L中的对角线元素
Figure 166214DEST_PATH_IMAGE068
,由单个顶点
Figure 267025DEST_PATH_IMAGE051
在肌肉网格中的位置信息得到与单个顶点
Figure 715324DEST_PATH_IMAGE051
相邻的所有边的位置信息以及有限元单元的目标边的长度,设与顶点
Figure 495061DEST_PATH_IMAGE051
相邻的边有j条,则按照公式3计算每条边对应的元素
Figure 546063DEST_PATH_IMAGE069
的值,再将每条边对应的元素
Figure 891593DEST_PATH_IMAGE069
进行求和计算得到
Figure 714056DEST_PATH_IMAGE068
,如下公式4所示:
Figure DEST_PATH_IMAGE071_10A
,公式4
其中,
Figure 73100DEST_PATH_IMAGE073
为边
Figure 803158DEST_PATH_IMAGE075
在有限元单元
Figure 472037DEST_PATH_IMAGE077
中对应的二面角大小,
Figure 871925DEST_PATH_IMAGE066
为有限元单元的目标边的长度。
本实施例中,计算调整因子(即矩阵L)时,考虑到矩阵L的对角线元素与非对角线元素所对应的边的确定方式不同,分别提出不同构造方法进行求解,求解非对角线元素对应的肌肉网格的目标边时,由两个不同的相邻顶点确定唯一的一条目标边,当求解对角线元素对应的肌肉网格的目标边时,由单个顶点作为中心点向外发散,获取所有与其不同相邻网格顶点,其中相邻网格顶点为肌肉网格上与单个顶点属于同一个有限元单元上且直接相连的顶点,再由这些不同相邻网格顶点与中心点确定多个边,将这多个边组成的集合作为对角线元素对应的肌肉网格的目标边,充分结合肌肉网格中有限元单元的边在位置信息上的差异以此来分别构建不同的目标边,提高根据肌肉网格的顶点来确定目标边的可靠性。
在一个实施例中,如图5所示,根据肌肉网格的顶点的位置信息得到调整因子,包括:
步骤S502,当肌肉网格为离散的三角形网格时,获取三角形网格中三角形单元的半周长与三角形单元的面积。
步骤S504,根据肌肉网格的顶点的位置信息得到肌肉网格中有限元单元的目标边的位置信息以及有限元单元的目标边的长度。
步骤S506,基于有限元单元的目标边的长度、三角形单元的半周长与三角形单元的面积融合生成拉普拉斯算子,根据拉普拉斯算子得到调整因子。
本实施例中,计算机设备获取三角形网格中三角形
Figure 157413DEST_PATH_IMAGE079
的半周长
Figure DEST_PATH_IMAGE081_8A
、面积
Figure 487900DEST_PATH_IMAGE083
,根 据三角形
Figure 542444DEST_PATH_IMAGE079
的半周长
Figure DEST_PATH_IMAGE084_8A
、面积
Figure 660704DEST_PATH_IMAGE083
、由顶点
Figure 308854DEST_PATH_IMAGE086
和顶点
Figure 115136DEST_PATH_IMAGE088
所确定的边
Figure 758607DEST_PATH_IMAGE090
的位置信息以及 边
Figure 280724DEST_PATH_IMAGE092
的几何长度
Figure 416170DEST_PATH_IMAGE094
融合得到拉普拉斯算子,设三角形网格中有k个三角形有限元单元:
Figure DEST_PATH_IMAGE096_8A
时,即计算矩阵L中的第i行第j列的非对角线元素
Figure DEST_PATH_IMAGE098_9A
,由顶点
Figure DEST_PATH_IMAGE100_15A
和顶点
Figure DEST_PATH_IMAGE102_11A
能确定唯一的一条边
Figure DEST_PATH_IMAGE104_9A
,同时边
Figure DEST_PATH_IMAGE105_14A
可以同时作为多个有限元单元的共同边,因此, 由边
Figure DEST_PATH_IMAGE106AAAA
可以确定边
Figure DEST_PATH_IMAGE107_15A
的位置信息以及边
Figure DEST_PATH_IMAGE107_16A
的几何长度
Figure DEST_PATH_IMAGE109_16A
,如公式5所示:
Figure DEST_PATH_IMAGE111_13A
,公式5
Figure DEST_PATH_IMAGE112AAA
时,即计算矩阵L中的对角线元素
Figure DEST_PATH_IMAGE114_8A
,由单个顶点
Figure DEST_PATH_IMAGE100_16A
在肌肉网格中的位 置信息得到与单个顶点
Figure DEST_PATH_IMAGE115_10A
相邻的所有边的位置信息以及有限元单元的目标边的长度,设 与顶点
Figure DEST_PATH_IMAGE100_17A
相邻的边有j条,则按照公式5计算每条边对应的元素
Figure DEST_PATH_IMAGE116_9A
的值,再将每条边对应 的元素
Figure DEST_PATH_IMAGE117_12A
进行求和计算得到
Figure DEST_PATH_IMAGE114_9A
,如公式6所示:
Figure 325612DEST_PATH_IMAGE119
,公式6
计算机设备再将
Figure DEST_PATH_IMAGE120AAA
组成的拉普拉斯算子矩阵L作为调整因子,实现根据三角形 网格算法对肌肉区域进行离散后,求解得到三角形网格对应的调整因子,有效提高了调整 因子在肌肉网格边界区域的适应性。
在一个实施例中,如图6所示,根据肌肉纤维方程与肌肉网格的顶点的位置信息得到肌肉网格的顶点的目标矢量,包括:
步骤S602,根据肌肉纤维方程得到肌肉网格的顶点的离散值。
具体地,计算机设备根据前述步骤中构建好的离散空间中的肌肉纤维方程,计算得到肌肉网格中所有顶点的离散值,每个顶点的离散值大小表征着各个顶点间的散度大小,也就是相互离散、相互远离的程度。
步骤S604,根据肌肉网格的顶点的离散值生成离散值向量。
其中,离散值向量由有限元单元上各顶点的离散值经过作差计算后组成的向量。
举例说明,假设肌肉网格为四面体网格,计算机设备获取肌肉网格中的有限元单元
Figure 292431DEST_PATH_IMAGE122
的四个顶点的位置信息
Figure 221335DEST_PATH_IMAGE124
,各个顶点对应的离散值为
Figure 703132DEST_PATH_IMAGE126
,则根据各个顶点对应的离散值生成离散值向量
Figure 992162DEST_PATH_IMAGE128
步骤S606,根据肌肉网格的顶点的位置信息得到顶点位置向量。
其中,顶点位置向量是由有限元单元上各顶点的位置信息经过作差计算后组成的向量。
举例说明,假设肌肉网格为四面体网格,计算机设备获取肌肉网格中的有限元单 元
Figure DEST_PATH_IMAGE130AAAA
的四个顶点的位置信息
Figure 62755DEST_PATH_IMAGE132
,各个顶点对应的离散值为
Figure DEST_PATH_IMAGE134AAAA
, 则根据四个顶点的位置信息生成顶点位置向量
Figure DEST_PATH_IMAGE136AAAA
步骤S608,基于离散值向量与顶点位置向量融合生成肌肉网格中有限元单元的目标矢量。
举例说明,假设肌肉网格为四面体网格,计算机设备获取肌肉网格中的有限元单元
Figure 34997DEST_PATH_IMAGE138
各顶点的离散值向量
Figure 4090DEST_PATH_IMAGE140
与各顶点的顶点位置向量
Figure 80499DEST_PATH_IMAGE142
,设有限元单元的梯度为
Figure 84228DEST_PATH_IMAGE144
,则构建方程:
Figure 197677DEST_PATH_IMAGE146
,公式7
由公式7得到有限元单元
Figure 529432DEST_PATH_IMAGE138
的梯度
Figure 284899DEST_PATH_IMAGE148
,进而得到有限元单元的目标矢量。
步骤S610,根据肌肉网格中有限元单元的目标矢量得到肌肉网格的顶点的目标矢量。
其中,肌肉网格的顶点的目标矢量反映了顶点处的肌肉纤维方向,有限元单元的目标矢量反映了该有限元单元内所有点的肌肉纤维方向。
具体地,计算机设备根据肌肉网格的顶点的位置信息,得到肌肉网格中包含该顶点的相邻有限元单元的位置信息,按照步骤S608的方法得到相邻有限元单元的目标矢量,再根据所有相邻有限元单元的目标矢量得到该顶点的目标矢量,可以采用相邻有限元单元目标矢量的矢量和作为该顶点的目标矢量,也可以采用加权求矢量和来作为该顶点的目标矢量。
本实施例中,根据肌肉纤维方程得到肌肉网格中顶点的离散值,再根据顶点的离散值与顶点的位置信息计算得到肌肉网格中目标有限元单元的目标矢量,再基于有限元单元的目标矢量计算得到顶点的目标矢量,提高了各顶点离散值大小与各顶点目标矢量之间的关联性,使得生成的各顶点目标矢量能够准确反映各顶点在位置信息上的差异,从而使得顶点的目标矢量方向更加符合真实的肌肉纤维的方向。
在一个实施例中,如图7所示,根据肌肉网格中有限元单元的目标矢量得到肌肉网格的顶点的目标矢量,包括:
步骤S702,获取肌肉网格的顶点在肌肉网格中有限元单元中对应的立体角。
其中,立体角表征了肌肉网格的顶点在肌肉网格中有限元单元中的相对位置关系。
步骤S704,基于立体角与有限元单元的目标矢量融合得到肌肉网格的顶点的目标矢量。
具体地,计算机设备根据肌肉网格的顶点的位置信息确定与包含当前顶点的所有相邻有限元单元的位置信息,根据相邻有限元单元的位置信息按照前述步骤公式7计算出相邻有限元单元的目标矢量,根据当前顶点的位置信息与对应的相邻有限元单元的位置信息计算得到当前顶点在对应相邻有限元单元中的立体角大小,再以当前顶点在对应相邻有限元单元中的立体角为权重将各相邻有限元单元的目标矢量插值到当前顶点上,生成肌肉网格的顶点的目标矢量。
如公式8所示,生成肌肉网格的顶点
Figure DEST_PATH_IMAGE150AAAA
的目标矢量
Figure 34811DEST_PATH_IMAGE152
Figure DEST_PATH_IMAGE154AAAA
,公式8
其中,
Figure 912637DEST_PATH_IMAGE156
为顶点
Figure 856323DEST_PATH_IMAGE158
相邻的有限元单元集合,
Figure DEST_PATH_IMAGE160AAAA
为顶点
Figure DEST_PATH_IMAGE161_10A
在有限元单元
Figure 919874DEST_PATH_IMAGE163
中的立体角大小。
本实施例中,根据肌肉网格的顶点位置信息与包含当前顶点的对应有限元单元的位置信息得到当前顶点在对应有限元单元中的立体角大小,该立体角大小表征当前顶点相对于各个邻接有限元单元的相对位置情况,在以各立体角大小为权重根据各邻接有限元单元的目标矢量计算出当前顶点的目标矢量,增强了当前顶点的目标矢量相较于在肌肉网格中邻接区域的平滑性。
在一个实施例中,如图8所示,根据顶点的目标矢量得到肌肉网格的肌肉纤维方向,根据肌肉纤维方向得到肌肉纤维模型,包括:
步骤S802,根据顶点的目标矢量得到顶点的目标矢量对应的单位向量。
具体地,计算机设备计算顶点的目标矢量的模,再将顶点的目标矢量除以该目标矢量的模得到顶点的目标矢量对应的单位向量,单位向量的计算如公式9所示:
Figure 101457DEST_PATH_IMAGE165
,公式9
其中,
Figure 822288DEST_PATH_IMAGE167
为肌肉网格的顶点i的单位向量,
Figure 377904DEST_PATH_IMAGE168
为顶点i的目标矢量,
Figure 944014DEST_PATH_IMAGE170
为目标矢量的模。
步骤S804,由单位向量得到肌肉网格的肌肉纤维方向。
具体地,由上述步骤S802的方法求解出肌肉网格中所有顶点的目标矢量对应的单位向量,由肌肉网格中所有顶点对应的单位向量得到肌肉网格的肌肉纤维方向。
本实施例中,将前述步骤得到的肌肉网格的顶点的目标矢量进行单位化,得到各个顶点的单位向量的长度统一为1,当肌肉网格发生形变时,使肌肉网格通过设定在肌肉纤维方向上的形变程度来发生相应的形变,而不会因为每个顶点对应的目标矢量的长度不统一而产生不自然的形变,提高了肌肉网格产生自然形变的准确性。
本申请还提供一种应用场景,该应用场景应用上述的构建肌肉纤维模型方法,该方法应用于创建三维动画角色的肌肉纤维模型的场景,具体地,该构建肌肉纤维模型方法在该应用场景的应用如下:
计算机设备获取三维动画角色有限元网格、皮肤网格以及肌肉纤维生成方向;根据动画角色的皮肤网格的形状特征以及发力特征在有限元网格中大致确定出各个肌肉区域,各个肌肉区域是依据生物肌肉构造的特点来进行肌肉建模的,在构建人形三维动画角色的肌肉纤维模型时,根据人体肌肉相对于皮肤、骨骼的相对位置,来构建人形角色的肌肉纤维的相对位置,如在三维动画角色的相对位置构建肱二头肌、斜方肌等;使用四面体网格算法对肌肉区域进行离散生成四面体单元更小的肌肉网格;根据人体真实肌肉分布特点与动画角色的皮肤网格的形状特征来确定出有限元网格中各部分肌肉纤维的空间位置以及肌肉纤维生成方向,根据肌肉网格在肌肉纤维生成方向上的两端端点作为肌肉纤维边界点,设定边界点的离散值为1、2、3和98、99、100,根据肌肉网格的顶点的位置信息得到调整因子,具体过程如下:
设肌肉网格中的顶点
Figure DEST_PATH_IMAGE171_6A
,顶点数为
Figure 714524DEST_PATH_IMAGE173
,设肌肉网格的四面体单元为
Figure 232355DEST_PATH_IMAGE175
,四面体 单元数为
Figure 150633DEST_PATH_IMAGE177
,则构建如公式10所示的肌肉网格对应的泊松方程:
Figure 520434DEST_PATH_IMAGE179
,公式10
其中,L为离散四面体网格(即肌肉网格)的拉普拉斯算子,
Figure 817554DEST_PATH_IMAGE181
Figure 145768DEST_PATH_IMAGE183
为肌肉网格中顶点i的离散值,
Figure DEST_PATH_IMAGE184_14A
为L中第i行第j列的元素,
Figure DEST_PATH_IMAGE184_15A
当且 仅当肌肉网格中的顶点
Figure DEST_PATH_IMAGE186_6A
和顶点
Figure DEST_PATH_IMAGE188_7A
是相连时不为0,构造拉普拉斯算子L,按如下公式11 与公式12计算得到L中的元素
Figure DEST_PATH_IMAGE184_16A
Figure DEST_PATH_IMAGE189_7A
Figure DEST_PATH_IMAGE190_9A
时:
Figure 784297DEST_PATH_IMAGE192
,公式11
Figure DEST_PATH_IMAGE190_10A
时:
Figure 426631DEST_PATH_IMAGE194
,公式12
其中,
Figure 93105DEST_PATH_IMAGE196
为顶点
Figure 61061DEST_PATH_IMAGE198
和顶点
Figure DEST_PATH_IMAGE199AAAA
所确定的目标边,
Figure 626034DEST_PATH_IMAGE201
为与边
Figure 486106DEST_PATH_IMAGE196
所在的四面体 单元集合,
Figure 351294DEST_PATH_IMAGE203
为该边在四面体单元
Figure 21310DEST_PATH_IMAGE205
中所对应的二面角大小,
Figure 11262DEST_PATH_IMAGE207
为边
Figure 792137DEST_PATH_IMAGE196
的几何长度。
由此得到拉普拉斯算子L,再根据公式10与预设的肌肉网格边界点的离散值得到肌肉网格中所有顶点的离散值,再根据各顶点的离散值与顶点的位置信息按照公式13计算得到四面体单元的梯度,设四面体单元内部的梯度恒为
Figure 777410DEST_PATH_IMAGE209
,四面体单元的顶点为
Figure 742961DEST_PATH_IMAGE211
,四个顶点的离散值为
Figure 344844DEST_PATH_IMAGE213
,则:
Figure 804775DEST_PATH_IMAGE215
,公式13
其中,
Figure 644555DEST_PATH_IMAGE217
Figure 656373DEST_PATH_IMAGE219
,再根据公式14计算得到顶点的梯度值
Figure 106072DEST_PATH_IMAGE221
Figure 963169DEST_PATH_IMAGE223
,公式14
其中
Figure 188614DEST_PATH_IMAGE225
为顶点
Figure DEST_PATH_IMAGE226AAA
相邻的四面体单元集合,
Figure 433651DEST_PATH_IMAGE228
为顶点
Figure 10125DEST_PATH_IMAGE230
在四面体单元
Figure 405335DEST_PATH_IMAGE232
中 的立体角大小,进而计算得到肌肉网格中所有顶点的梯度,再将所有顶点的梯度单位化转 换为对应的单位向量,得到整条肌肉纤维方向,进而完成动画角色的肌肉纤维模型的构建, 得到整个动画角色的肌肉模型,如图12所示。
上述构建肌肉纤维模型方法中,在创建三维动画角色的肌肉纤维模型时,参照真实人体肌肉分布结构与角色皮肤网格的三维形状特征来确定动画角色的肌肉纤维分布,确定出动画角色的肌肉区域,进而确定出肌肉纤维边界点,根据四面体算法将肌肉区域离散化,生成肌肉网格,进而得到肌肉网格中各顶点以及各四面体单元的边的位置信息,构造离散空间中的拉普拉斯算子表达式,再通过拉普拉斯算子与肌肉纤维边界点的离散值求解离散空间中的泊松方程来确定出肌肉网格中各顶点的离散值,进而确定各顶点的梯度,由顶点梯度得到各个顶点处的肌肉纤维方向,进而确定整个肌肉区域上的肌肉纤维方向得到肌肉纤维模型,实现自动化地生成整个肌肉纤维方向得到肌肉纤维模型,而不需要人工花费较长的时间来对肌肉纤维逐条建模,提高构建肌肉纤维模型的效率。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图13所示,提供了一种构建肌肉纤维模型装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:数据信息获取模块1302、肌肉区域确定模块1304、肌肉网格生成模块1306、肌肉纤维边界点确定模块1308、调整因子生成模块1310、肌肉纤维方程构造模块1312、顶点目标矢量生成模块1314、肌肉纤维生成模块1316,其中:
数据信息获取模块1302,用于获取有限元网格、皮肤网格、肌肉纤维生成方向;
肌肉区域确定模块1304,用于根据皮肤网格的形状特征在有限元网格中确定肌肉区域;
肌肉网格生成模块1306,用于对肌肉区域进行离散生成肌肉网格;
肌肉纤维边界点确定模块1308,用于根据肌肉纤维生成方向与肌肉网格确定肌肉纤维边界点,肌肉纤维边界点为肌肉纤维的起始边界区域与结束边界区域;
调整因子生成模块1310,用于根据肌肉网格的顶点的位置信息得到调整因子;
肌肉纤维方程构造模块1312,用于根据调整因子与肌肉纤维边界点构造肌肉纤维方程,肌肉纤维方程用于表征肌肉网格上肌肉纤维的散度大小;
顶点目标矢量生成模块1314,用于根据肌肉纤维方程与肌肉网格的顶点的位置信息得到肌肉网格的顶点的目标矢量;
肌肉纤维生成模块1316,用于根据顶点的目标矢量得到肌肉网格的肌肉纤维方向,根据肌肉纤维方向得到肌肉纤维模型。
上述构建肌肉纤维模型装置,通过获取有限元网格、皮肤网格、肌肉纤维生成方向;根据皮肤网格的形状特征在有限元网格中确定肌肉区域;对肌肉区域进行离散生成肌肉网格;根据肌肉纤维生成方向与肌肉网格确定肌肉纤维边界点,肌肉纤维边界点为肌肉纤维的起始边界区域与结束边界区域;根据肌肉网格的顶点的位置信息得到调整因子;根据调整因子与肌肉纤维边界点构造肌肉纤维方程,肌肉纤维方程用于表征肌肉网格上肌肉纤维的散度大小;根据肌肉纤维方程与肌肉网格的顶点的位置信息得到肌肉网格的顶点的目标矢量;根据顶点的目标矢量得到肌肉网格的肌肉纤维方向,根据肌肉纤维方向得到肌肉纤维模型。这样,通过指定一个大致的肌肉纤维生成的方向,求解肌肉区域内的肌肉纤维方程,实现自动化地生成整个肌肉纤维方向,进而得到肌肉纤维模型,能够提高构建肌肉纤维模型的效率。
在一个实施例中,调整因子生成模块1310还用于根据肌肉网格的顶点的位置信息得到肌肉网格中有限元单元的目标边的位置信息以及有限元单元的目标边的长度;获取包含有限元单元的目标边的相邻有限元单元的位置信息;根据有限元单元的目标边的位置信息与相邻有限元单元的位置信息得到有限元单元的目标边在相邻有限元单元中所对应的二面角;基于二面角、有限元单元的目标边的长度生成拉普拉斯算子,根据拉普拉斯算子得到调整因子。
在一个实施例中,调整因子生成模块1310还用于当肌肉网格的顶点为两个相邻顶点时,根据两个相邻顶点确定肌肉网格中有限元单元的目标边的位置信息以及有限元单元的目标边的长度,两个相邻顶点被包含在同一个有限元单元中;当肌肉网格的顶点为单个顶点时,获取与单个顶点的相邻网格顶点的位置信息,根据单个顶点与相邻网格顶点的位置信息确定有限元单元的目标边的位置信息以及有限元单元的目标边的长度,相邻网格顶点为肌肉网格上与单个顶点属于同一个有限元单元上且直接相连的顶点。
在一个实施例中,调整因子生成模块1310还用于当肌肉网格为离散的三角形网格时,获取三角形网格中三角形单元的半周长与三角形单元的面积;根据肌肉网格的顶点的位置信息得到肌肉网格中有限元单元的目标边的位置信息以及有限元单元的目标边的长度;基于有限元单元的目标边的长度、三角形单元的半周长与三角形单元的面积融合生成拉普拉斯算子,根据拉普拉斯算子得到调整因子。
在一个实施例中,顶点目标矢量生成模块1314还用于根据肌肉纤维方程得到肌肉网格的顶点的离散值;根据肌肉网格的顶点的离散值生成离散值向量;根据肌肉网格的顶点的位置信息得到顶点位置向量;基于离散值向量与顶点位置向量融合生成肌肉网格中有限元单元的目标矢量;根据肌肉网格中有限元单元的目标矢量得到肌肉网格的顶点的目标矢量。
在一个实施例中,顶点目标矢量生成模块1314还用于获取肌肉网格的顶点在肌肉网格中有限元单元中对应的立体角;基于立体角与有限元单元的目标矢量融合得到肌肉网格的顶点的目标矢量。
在一个实施例中,肌肉纤维生成模块1316还用于根据顶点的目标矢量得到顶点的目标矢量对应的单位向量;由单位向量得到肌肉网格的肌肉纤维方向。
关于构建肌肉纤维模型装置的具体限定可以参见上文中对于构建肌肉纤维模型方法的限定,在此不再赘述。上述构建肌肉纤维模型装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种构建肌肉纤维模型方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种构建肌肉纤维模型方法,其特征在于,所述方法包括:
获取有限元网格、皮肤网格、肌肉纤维生成方向;
根据所述皮肤网格的形状特征在所述有限元网格中确定肌肉区域;
对所述肌肉区域进行离散生成肌肉网格;
根据所述肌肉纤维生成方向与所述肌肉网格确定肌肉纤维边界点,所述肌肉纤维边界点为所述肌肉纤维的起始边界区域与结束边界区域;
根据所述肌肉网格的顶点的位置信息得到调整因子;
根据所述调整因子与所述肌肉纤维边界点构造肌肉纤维方程,所述肌肉纤维方程用于表征所述肌肉网格上肌肉纤维的散度大小;
根据所述肌肉纤维方程与所述肌肉网格的顶点的位置信息得到所述肌肉网格的顶点的目标矢量;
根据所述顶点的目标矢量得到所述肌肉网格的肌肉纤维方向,根据所述肌肉纤维方向得到所述肌肉纤维模型。
2.根据权利要求1所述的方法,其特征在于,所述根据所述肌肉网格的顶点的位置信息得到调整因子,包括:
根据所述肌肉网格的顶点的位置信息得到所述肌肉网格中有限元单元的目标边的位置信息以及有限元单元的目标边的长度;
获取包含所述有限元单元的目标边的相邻有限元单元的位置信息;
根据所述有限元单元的目标边的位置信息与所述相邻有限元单元的位置信息得到所述有限元单元的目标边在所述相邻有限元单元中所对应的二面角;
基于所述二面角、所述有限元单元的目标边的长度生成拉普拉斯算子,根据所述拉普拉斯算子得到所述调整因子。
3.根据权利要求2所述的方法,其特征在于,所述根据所述肌肉网格的顶点的位置信息得到所述肌肉网格中有限元单元的边的位置信息以及有限元单元的边的长度,包括:
当所述肌肉网格的顶点为两个相邻顶点时,根据所述两个相邻顶点确定所述肌肉网格中有限元单元的目标边的位置信息以及有限元单元的目标边的长度,所述两个相邻顶点被包含在同一个有限元单元中;
当所述肌肉网格的顶点为单个顶点时,获取与所述单个顶点的相邻网格顶点的位置信息,根据所述单个顶点与所述相邻网格顶点的位置信息确定有限元单元的目标边的位置信息以及有限元单元的目标边的长度,所述相邻网格顶点为所述肌肉网格上与所述单个顶点属于同一个有限元单元上且直接相连的顶点。
4.根据权利要求1所述的方法,其特征在于,所述根据所述肌肉网格的顶点的位置信息得到调整因子,包括:
当所述肌肉网格为离散的三角形网格时,获取所述三角形网格中三角形单元的半周长与三角形单元的面积;
根据所述肌肉网格的顶点的位置信息得到所述肌肉网格中有限元单元的目标边的位置信息以及有限元单元的目标边的长度;
基于所述有限元单元的目标边的长度、所述三角形单元的半周长与所述三角形单元的面积融合生成拉普拉斯算子,根据所述拉普拉斯算子得到所述调整因子。
5.根据权利要求1所述的方法,其特征在于,所述根据所述肌肉纤维方程与所述肌肉网格的顶点的位置信息得到所述肌肉网格的顶点的目标矢量,包括:
根据所述肌肉纤维方程得到所述肌肉网格的顶点的离散值;
根据所述肌肉网格的顶点的离散值生成离散值向量;
根据所述肌肉网格的顶点的位置信息得到顶点位置向量;
基于所述离散值向量与所述顶点位置向量融合生成所述肌肉网格中有限元单元的目标矢量;
根据所述肌肉网格中有限元单元的目标矢量得到所述肌肉网格的顶点的目标矢量。
6.根据权利要求5所述的方法,其特征在于,所述根据所述肌肉网格中有限元单元的目标矢量得到所述肌肉网格的顶点的目标矢量,包括:
获取所述肌肉网格的顶点在所述肌肉网格中有限元单元中对应的立体角;
基于所述立体角与有限元单元的目标矢量融合得到所述肌肉网格的顶点的目标矢量。
7.根据权利要求1所述的方法,其特征在于,所述根据所述顶点的目标矢量得到所述肌肉网格的肌肉纤维方向,根据所述肌肉纤维方向得到所述肌肉纤维模型,包括:
根据所述顶点的目标矢量得到所述顶点的目标矢量对应的单位向量;
由所述单位向量得到所述肌肉网格的肌肉纤维方向。
8.一种构建肌肉纤维模型装置,其特征在于,所述装置包括:
数据信息获取模块,用于获取有限元网格、皮肤网格、肌肉纤维生成方向;
肌肉区域确定模块,用于根据所述皮肤网格的形状特征在所述有限元网格中确定肌肉区域;
肌肉网格生成模块,用于对所述肌肉区域进行离散生成肌肉网格;
肌肉纤维边界点确定模块,用于根据所述肌肉纤维生成方向与所述肌肉网格确定肌肉纤维边界点,所述肌肉纤维边界点为所述肌肉纤维的起始边界区域与结束边界区域;
调整因子生成模块,用于根据所述肌肉网格的顶点的位置信息得到调整因子;
肌肉纤维方程构造模块,用于根据所述调整因子与所述肌肉纤维边界点构造肌肉纤维方程,所述肌肉纤维方程用于表征所述肌肉网格上肌肉纤维的散度大小;
顶点目标矢量生成模块,用于根据所述肌肉纤维方程与所述肌肉网格的顶点的位置信息得到所述肌肉网格的顶点的目标矢量;
肌肉纤维生成模块,用于根据所述顶点的目标矢量得到所述肌肉网格的肌肉纤维方向,根据所述肌肉纤维方向得到所述肌肉纤维模型。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202210984048.5A 2022-08-17 2022-08-17 构建肌肉纤维模型方法、装置、计算机设备和存储介质 Active CN115049766B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210984048.5A CN115049766B (zh) 2022-08-17 2022-08-17 构建肌肉纤维模型方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210984048.5A CN115049766B (zh) 2022-08-17 2022-08-17 构建肌肉纤维模型方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN115049766A CN115049766A (zh) 2022-09-13
CN115049766B true CN115049766B (zh) 2022-10-28

Family

ID=83168358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210984048.5A Active CN115049766B (zh) 2022-08-17 2022-08-17 构建肌肉纤维模型方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN115049766B (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7239321B2 (en) * 2003-08-26 2007-07-03 Speech Graphics, Inc. Static and dynamic 3-D human face reconstruction
JP4826459B2 (ja) * 2006-01-12 2011-11-30 株式会社豊田中央研究所 筋骨格モデル作成方法、人体応力/ひずみ推定方法、プログラムおよび記録媒体
US8610710B2 (en) * 2009-12-18 2013-12-17 Electronics And Telecommunications Research Institute Method for automatic rigging and shape surface transfer of 3D standard mesh model based on muscle and nurbs by using parametric control
US10402517B2 (en) * 2013-06-26 2019-09-03 Dassault Systémes Simulia Corp. Musculo-skeletal modeling using finite element analysis, process integration, and design optimization
JP6681221B2 (ja) * 2016-03-03 2020-04-15 株式会社Ihi 構造解析装置、構造解析方法及び三次元織繊維素材製造方法
US20220076409A1 (en) * 2020-09-10 2022-03-10 Weta Digital Limited Systems and Methods for Building a Skin-to-Muscle Transformation in Computer Animation

Also Published As

Publication number Publication date
CN115049766A (zh) 2022-09-13

Similar Documents

Publication Publication Date Title
Marco et al. Exact 3D boundary representation in finite element analysis based on Cartesian grids independent of the geometry
Guirguis et al. Evolutionary black-box topology optimization: Challenges and promises
Zhou et al. An active learning radial basis function modeling method based on self-organization maps for simulation-based design problems
de Jesus et al. A 3D front-tracking approach for simulation of a two-phase fluid with insoluble surfactant
CN115049769B (zh) 角色动画生成方法、装置、计算机设备和存储介质
US20230061175A1 (en) Real-Time Simulation of Elastic Body
Muguercia et al. Fracture modeling in computer graphics
CN115689018A (zh) 物资需求预测方法、装置、设备、存储介质和程序产品
Fratarcangeli Position‐based facial animation synthesis
Zhang et al. Ellipsoid bounding region-based ChainMail algorithm for soft tissue deformation in surgical simulation
CN114998374A (zh) 基于位置先验的图像分割方法、装置、设备和存储介质
CN115049766B (zh) 构建肌肉纤维模型方法、装置、计算机设备和存储介质
CN113378435A (zh) 粒子生成方法、装置、设备及存储介质
CN115049768B (zh) 创建角色动画模型方法、装置、计算机设备和存储介质
Viens et al. A three-dimensional finite element model for the mechanics of cell-cell interactions
CN112528428A (zh) 对工程结构的物理参数展示的方法、装置和计算机设备
CN114329868A (zh) 变电设备安全距离校验方法、装置和计算机设备
CN115049767B (zh) 动画编辑方法、装置、计算机设备和存储介质
Wei et al. Hexahedral mesh smoothing via local element regularization and global mesh optimization
Li et al. Novel adaptive SPH with geometric subdivision for brittle fracture animation of anisotropic materials
CN115239911A (zh) 三维模型的剖切方法、装置和存储介质
Federl Modeling fracture formation on growing surfaces
CN116977592B (zh) 基于卷绕数的三维结构化重建方法、装置和计算机介质
CN115630559B (zh) 一种基于粒子网格适配算法的流固耦合方法以及装置
CN117436364A (zh) 外流高速脉动压力仿真方法、装置、设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: C2C, Building C2, TCL science park, No. 1001, Zhongshan Garden Road, Shuguang Community, Xili Street, Nanshan District, Shenzhen, Guangdong 518051

Patentee after: Shenzhen Zesen Software Technology Co.,Ltd.

Address before: 518051 Room 506, Building 10, Shenzhen Bay Science and Technology Ecological Park, No. 10, Gaoxin South 9th Road, Gaoxin District Community, Yuehai Street, Nanshan District, Shenzhen, Guangdong Province

Patentee before: Shenzhen Zesen Software Technology Co.,Ltd.