[发明专利]一种任意人头与任意人体的3D结合方法在审
申请号: | 201410007532.8 | 申请日: | 2014-01-08 |
公开(公告)号: | CN103700129A | 公开(公告)日: | 2014-04-02 |
发明(设计)人: | 徐小明;徐宇;夏敏 | 申请(专利权)人: | 上海明穆电子科技有限公司 |
主分类号: | G06T13/40 | 分类号: | G06T13/40 |
代理公司: | 上海三方专利事务所 31127 | 代理人: | 吴干权;李美立 |
地址: | 200940 上海市宝山区淞兴西*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 任意 人头 人体 结合 方法 | ||
1.一种任意人头与任意人体的3D结合方法,其特征在于:所述方法由解析标准三维人头和人体模型文件和人头人体进行结合来实现,包含以下步骤,
(1)步骤1:在三维建模软件中导出任意三维人头模型文件和任意三维人体模型文件,所述三维人头模型文件和三维人体模型文件采用OBJ文件格式,通过解析模块对OBJ文件格式进行解析,获取任意三维人头/人体模型的参数;
(2)步骤2:在三维建模软件中手动选取三维人头模型和是三维人体模型结合处的顶点参数逐一进行命名,建立选取点的索引,所述索引与结合处顶点参数的x、y、z轴坐标一一对应;
(3)步骤3:根据步骤2中得到的索引,定位至待结合的顶点参数的对应坐标,并将三维人头模型和三维人体模型结合处对应的顶点一一进行重合,即完成任意三维人头与任意三维人体模型的3D结合。
2.如权利要求1所述的一种任意人头与任意人体的3D结合方法,其特征在于:导出前手动调整三维人头模型与三维人体模型的中心点归0,即x:0,y:不变,z:0。
3.如权利要求1所述的一种任意人头与任意人体的3D结合方法,其特征在于:所述OBJ文件格式以纯文本形式存储人头/人体参数,包括三维人头/人体模型的顶点、法线和纹理坐标和材质使用信息,解析步骤如下:所述解析模块将OBJ文件格式用写字板打开,所述人头/人体参数以若干行显示,用正则表达式进行批量读取,逐行提取OBJ文件格式中的人头/人体参数,所述人头/人体参数包括顶点参数v,面参数f,uv参数vt,法线参数vn,再根据JS代码得到顶点信息。
4.如权利要求3所述的一种任意人头与任意人体的3D结合方法,其特征在于:OBJ文件格式:
V表示指定的一个顶点,此前缀后跟着3个单精度浮点数,分别表示该点的x、y、z轴坐标;
Vt表示指定的一个纹理坐标,此前缀后跟着2个单精度浮点数,分别表示此纹理坐标的U、V值;
vn表示指定的一个法线向量,此前缀后跟着3个单精度浮点数,分别表示此法线向量的x、y、z轴坐标;
f表示指定的一个表面,即一个三角形图元。
5.如权利要求3所述的一种任意人头与任意人体的3D结合方法,其特征在于:所述JS代码为result1=vertex_pattern.exec(line);其中result1为顶点;vertex_pattern为顶点正则表达式;line为要解析的行。
6.如权利要求3所述的一种任意人头与任意人体的3D结合方法,其特征在于:所述正则表达式用于批量读取顶点参数,所述正则表达式表达式如下:
Var vertex_pattern*/v(+[/d|/_|/+|/-|e]+)(+[/d|/_|/+|/-|e]+)(+[/d|/_|/+|/-|e]+)/;//vn float float float
Var normal_pattern*/vn(+[/d|/_|/+|/-|e]+)(+[/d|/_|/+|/-|e]+)(+[/d|/_|/+|/-|e]+)/;//vt float float float
Var uv_pattern*/vt(+[/d|/_|/+|/-|e]+)(+[/d|/_|/+|/-|e]+)/;//f vertex vertex vertex
Var face_pattern1*/f(+/d+)(+/d+)(+/d+)(+/d+)(+/d+)?/。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海明穆电子科技有限公司,未经上海明穆电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410007532.8/1.html,转载请声明来源钻瓜专利网。