发明名称 数字人体的精确控制方法
摘要 本发明公开了一种数字人体的精确控制方法,其特征在于,包括:预先建立人体模板模型及测量函数模型;获取用户身材参数;根据所述用户身材参数及所述测量函数模型,建立约束方程组;根据所述约束方程组及所述人体模板模型,建立一个与用户身材参数一致的数字人体。本发明的优势是可以一次性精确控制数字人体各个部位的参数,如身高、胸围、腰围、臀围等,提高了使用的便捷性和数字人体的精确性。
申请公布号 CN103942833B 申请公布日期 2017.03.15
申请号 CN201410146915.3 申请日期 2014.04.14
申请人 成都数象科技有限公司 发明人 郑超
分类号 G06T17/00(2006.01)I 主分类号 G06T17/00(2006.01)I
代理机构 北京同辉知识产权代理事务所(普通合伙) 11357 代理人 徐丽维
主权项 一种数字人体的精确控制方法,包括如下步骤:(1)预先用计算机建立人体模板模型及测量函数模型;(2)获取用户身材参数;(3)根据所述用户身材参数及所述测量函数模型,建立约束方程组;(4)根据所述约束方程组及所述人体模板模型,建立一个与用户身材参数一致的数字人体;所述步骤(1)中建立人体模板模型的方法包括:建立一组由三维网格描述的人体模型;建立所述三维网格的任意一个网格点i的坐标x<sub>i</sub>关于模板参数s<sub>1</sub>,s<sub>2</sub>,…s<sub>n</sub>的函数x<sub>i</sub>(s<sub>1</sub>,s<sub>2</sub>,...s<sub>n</sub>);所述网格点i的坐标x<sub>i</sub>关于模板参数s<sub>1</sub>,s<sub>2</sub>,...s<sub>n</sub>的函数x<sub>i</sub>(s<sub>1</sub>,s<sub>2</sub>,...s<sub>n</sub>),具体为:<maths num="0001"><math><![CDATA[<mrow><msub><mi>x</mi><mi>i</mi></msub><mo>=</mo><mover><msub><mi>x</mi><mi>i</mi></msub><mo>&OverBar;</mo></mover><mo>+</mo><munder><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn><mo>,</mo><mi>n</mi></mrow></munder><msub><mi>s</mi><mi>k</mi></msub><msub><mi>d</mi><mrow><mi>k</mi><mi>i</mi></mrow></msub></mrow>]]></math><img file="FDA0001140442210000011.GIF" wi="370" he="126" /></maths>其中<img file="FDA0001140442210000012.GIF" wi="50" he="70" />为预先设定的参考坐标,即节点i在s<sub>1</sub>=s<sub>2</sub>=…s<sub>n</sub>=0时的坐标,d<sub>ki</sub>为预先设定的变形向量,即节点i在s<sub>k</sub>增大一个单位时的位移量;所述建立测量函数模型具体方法为:建立一组测量函数f<sub>1</sub>(s<sub>1</sub>,s<sub>2</sub>,...s<sub>n</sub>),f<sub>2</sub>(s<sub>1</sub>,s<sub>2</sub>,...s<sub>n</sub>),…,f<sub>n</sub>(s<sub>1</sub>,s<sub>2</sub>,...s<sub>n</sub>),每个测量函数f<sub>k</sub>(s<sub>1</sub>,s<sub>2</sub>,...s<sub>n</sub>)的函数值为所述人体模板模型中的人体模型的某项测量结果,所述建立一个测量函数f<sub>k</sub>(s<sub>1</sub>,s<sub>2</sub>,...s<sub>n</sub>),具体为:设置s<sub>1</sub>=s<sub>2</sub>=…s<sub>n</sub>=0,根据所述人体模板模型,得到s<sub>1</sub>=s<sub>2</sub>=…s<sub>n</sub>=0时的人体模型;在所述s<sub>1</sub>=s<sub>2</sub>=…s<sub>n</sub>=0时的人体模型上绘制一组线段作为测量线;对于任一个所述测量线段端点,将其投影至所述s<sub>1</sub>=s<sub>2</sub>=…s<sub>n</sub>=0时的人体模型上,得到一个投影点,进而得到所述投影点至所述端点的向量u,以及所述投影点将其所在的三角形切分为三个三角形的面积:A<sub>1</sub>,A<sub>2</sub>,A<sub>3</sub>;根据所述u,A<sub>1</sub>,A<sub>2</sub>,A<sub>3</sub>,得到所述线段端点的坐标v关于模板参数(s<sub>1</sub>,s<sub>2</sub>,...s<sub>n</sub>)的函数:<img file="FDA0001140442210000013.GIF" wi="1006" he="110" />其中A=A<sub>1</sub>+A<sub>2</sub>+A<sub>3</sub>,x<sub>1</sub>(s<sub>1</sub>,s<sub>2</sub>,...s<sub>n</sub>)、x<sub>2</sub>(s<sub>1</sub>,s<sub>2</sub>,...s<sub>n</sub>)、x<sub>3</sub>(s<sub>1</sub>,s<sub>2</sub>,...s<sub>n</sub>)是所述投影点所在三角形的顶点坐标;根据所述测量线段端点的坐标v(s<sub>1</sub>,s<sub>2</sub>,...s<sub>n</sub>),得到所述测量线段的长度L(s<sub>1</sub>,s<sub>2</sub>,...s<sub>n</sub>);通过将所有测量线段的长度L(s<sub>1</sub>,s<sub>2</sub>,...s<sub>n</sub>)相加,得到测量函数f<sub>k</sub>(s<sub>1</sub>,s<sub>2</sub>,...s<sub>n</sub>)。
地址 610000 四川省成都市高新区大源东街49号1层