一种利用人体形态参数调整三维人体的变形方法

文档序号:6535219阅读:379来源:国知局
一种利用人体形态参数调整三维人体的变形方法
【专利摘要】本发明涉及一种利用人体形态参数调整三维人体的变形方法,包含以下步骤:1:用户输入人体形态参数;2:通过解析模块对OBJ文件格式进行解析,获得三维人体模型各部位的顶点参数;3:建立选取点的索引,并分类归入对应的索引数组;4:将待调整部位的顶点参数调整到最大值,获得最大体型,解析得到最大化调整后的顶点参数;5:将待调整部位的顶点参数调整到最小值,获得最小体型,解析得到最小化调整后的顶点参数;6:进行插值运算,获得变形函数;7:根据输入最终生成用户需要的体型。本发明通过利用OBJ文件格式的文本优势,提取人体模型的顶点参数速度快;利用插值计算法获得了变形函数公式,在通过输入人体参数实现高还原度的自由变换效果。
【专利说明】一种利用人体形态参数调整三维人体的变形方法
[【技术领域】]
[0001]本发明涉及三维建模【技术领域】,具体的说是一种利用人体形态参数调整三维人体的变形方法。
[【背景技术】]
[0002]随着虚拟现实技术的发展,虚拟人在工程领域的应用越来越广泛,但是虚拟人模型的实时性和逼真性之间的矛盾一直是虚拟人应用中亟待解决的问题。
[0003]总结现有三维人体变形技术,主要方法如下:
[0004](I)几何体基本变形
[0005](2)自由变形(NFFD)
[0006]几何变形模型是使用广泛的一种人体建模技术,其自由形态变形算法(FFD)的基本思想是通过操纵包含物体的一个空间平行点阵来完成变形。被操纵的空间点阵决定了该物体的变形函数,该函数指定了物体每个点的新位置。但是该算法的难以准确按照设计者的意图来完成变形,比如,利用FFD难以实现某个具体点从原来位置至它的设计位置的准确移动。且计算过程比较复杂,需要的数据较多,不能满足实时运动仿真的需求。
[0007]方法(I)实现效果不理想,方法(2)虽变形各方面都很好但要求模型高面数对用户硬件设备要求高。
[
【发明内容】
]
[0008]本发明的目的在现有技术的基础上进行改进,提供一种根据输入人体形态参数调整人体体型的变形方法。
[0009]本发明通过以下技术方案实现,利用人体形态参数调整三维人体的变形方法由输入人体参数,获取人体顶点参数,人体顶点位置调整组成,包含以下步骤:
[0010]步骤1:用户输入人体形态参数,所述人体形态参数包括肩宽、胸围、腰围、臀围数据;
[0011]步骤2:用三维建模软件打开标准三维人体模型文件,所述标准三维人体模型文件采用OBJ文件格式,通过解析模块对OBJ文件格式进行解析,获得三维人体模型各部位的顶点参数;
[0012]步骤3:在三维建模软件中手动选取身体各部位的顶点参数进行命名,建立选取点的索引,并分类归入对应的索引数组,所述索引数组按照身体各部位进行分类,从而区分出包括胸部、腰部、胳膊、手臂、手部、大腿身体部位的顶点索引;
[0013]步骤4:利用步骤3获得的索引数组索引至待调整部位的顶点,利用三维建模软件将待调整部位的顶点参数调整到最大值,从而获得最大体型,解析模块解析当前体型的OBJ文件格式,得到身体各部位的最大化调整后的顶点参数,并获取局部点的坐标;所述局部点坐标即人体各部位的顶点坐标如胸部、腰部、胳膊、手臂、手部、大腿身体部位的顶点坐标。
[0014]OBJ文件有的有上万行信息,所述OBJ文件格式以纯文本形式存储标准三维人体模型的顶点、法线和纹理坐标和材质使用信息,解析步骤如下:所述解析模块将OBJ文件格式用写字板打开,所述人体参数以若干行显示,用正则表达式进行批量读取,逐行提取OBJ文件格式中的人体参数,所述人体参数包括顶点参数V,面参数f,uv参数Vt,法线参数vn。
[0015]步骤5:利用步骤3获得的索引数组索引至待调整部位的顶点,利用三维建模软件将待调整部位的顶点参数调整到最小值,从而获得最小体型,解析模块解析当前体型的OBJ文件格式,得到身体各部位的最小化调整后的顶点参数,并获取局部点的坐标;
[0016]步骤6:利用索引数组索引至待调整部位的顶点,运算模块对最小体型各部位顶点参数至最大体型各部位顶点参数之间进行插值运算,计算身体各部位的变形函数;所述插值运算采用线性插值或非线性插值计算。
[0017]获得的变形函数公式:ax2 + by2 + cz2。
[0018]步骤7:根据用户输入的人体形态参数以及变形函数依次运算调整人体局部体型,最终生成用户需要的体型。
[0019]本发明提供的方法,通过利用OBJ文件格式的文本优势,提取人体模型的顶点参数速度快;利用插值计算法获得了变形函数公式,在通过输入人体参数实现高还原度的自由变换效果。
[【专利附图】

【附图说明】]
[0020]图1为本发明涉及的标准人体模型参考图;
[0021]图2为本发明模块流程图。
[【具体实施方式】]
[0022]现结合附图及实施例对本发明的技术方案作进一步阐述,相信本领域技术人员来说是清楚的。
[0023]利用人体形态参数调整三维人体的变形方法由输入人体参数,获取人体顶点参数,人体顶点位置调整组成,如图2所示,包含以下步骤:
[0024]步骤1:用户输入人体形态参数,所述人体形态参数包括肩宽、胸围、腰围、臀围数据;
[0025]步骤2:用三维建模软件打开标准三维人体模型文件,所述标准三维人体模型文件采用OBJ文件格式,通过解析模块对OBJ文件格式进行解析,获得三维人体模型各部位的顶点参数;
[0026]所述OBJ文件格式以纯文本形式存储标准三维人体模型的顶点、法线和纹理坐标和材质使用信息,解析步骤如下:所述解析模块将OBJ文件格式用写字板打开所述人体参数以若干行显示,用正则表达式进行批量读取,逐行提取OBJ文件格式中的人体参数,所述人体参数包括顶点参数V,面参数f,UV参数Vt,法线参数vn。
[0027]所述正则表达式为:
[0028]Var
[0029]vertex_pattern*/v(+[\d| \_| \ +| \ -| e] +) (+ [\d \_| \+| \- e] +)(+[\dI\_I\+I\_Ie]+)/;//vn float float float
[0030]Var
【权利要求】
1.一种利用人体形态参数调整三维人体的变形方法,其特征在于所述方法由输入人体参数,获取人体顶点参数,人体顶点位置调整组成,包含以下步骤: (1)步骤1:用户输入人体形态参数,所述人体形态参数包括肩宽、胸围、腰围、臀围数据; (2)步骤2:用三维建模软件打开标准三维人体模型文件,所述标准三维人体模型文件采用OBJ文件格式,通过解析模块对OBJ文件格式进行解析,获得三维人体模型各部位的顶点参数; (3)步骤3:在三维建模软件中手动选取身体各部位的顶点参数进行命名,建立选取点的索引,并分类归入对应的索引数组,所述索引数组按照身体各部位进行分类,从而区分出包括胸部、腰部、胳膊、手臂、手部、大腿身体部位的顶点索引; (4)步骤4:利用步骤3获得的索引数组索引至待调整部位的顶点,利用三维建模软件将待调整部位的顶点参数调整到最大值,从而获得最大体型,解析模块解析当前体型的OBJ文件格式,得到身体各部位的最大化调整后的顶点参数,并获取局部点的坐标,所述局部点坐标即人体各部位的顶点坐标如胸部、腰部、胳膊、手臂、手部、大腿身体部位的顶点坐标。 (5)步骤5:利用步骤3获得的索引数组索引至待调整部位的顶点,利用三维建模软件将待调整部位的顶点参数调整到最小值,从而获得最小体型,解析模块解析当前体型的OBJ文件格式,得到身体各部位的最小化调整后的顶点参数,并获取局部点的坐标; (6)步骤6:利用索引数组索引至待调整部位的顶点,运算模块对最小体型各部位顶点参数至最大体型各部位顶 点参数之间进行插值运算,计算身体各部位的变形函数; (7)步骤7:根据用户输入的人体形态参数以及变形函数依次运算调整人体局部体型,最终生成用户需要的体型。
2.如权利要求1所述的一种利用人体形态参数调整三维人体的变形方法,其特征在于所述OBJ文件格式以纯文本形式存储标准三维人体模型的顶点、法线和纹理坐标和材质使用信息,解析步骤如下:所述解析模块将OBJ文件格式用写字板打开,所述人体参数以若干行显示,用正则表达式进行批量读取,逐行提取OBJ文件格式中的人体参数,所述人体参数包括顶点参数V,面参数f,UV参数Vt,法线参数vn。
3.如权利要求2所述的一种利用人体形态参数调整三维人体的变形方法,其特征在于所述正则表达式为:
4.如权利要求1所述的一种利用人体形态参数调整三维人体的变形方法,其特征在于以最小体型胸部顶点参数至最大体型胸部顶点参数之间进行插值运算。
5.如权利要求1或4所述的一种利用人体形态参数调整三维人体的变形方法,其特征在于所述插值运算采用线性插值或非线性插值计算。
6.如权利要求1所述的一种利用人体形态参数调整三维人体的变形方法,其特征在于

变形函数公式:
【文档编号】G06F17/50GK103714221SQ201410007731
【公开日】2014年4月9日 申请日期:2014年1月8日 优先权日:2014年1月8日
【发明者】徐小明, 徐宇, 夏敏 申请人:上海明穆电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1