一种3d模型取点测周长的方法
【技术领域】
[0001]本发明涉及3D扫描领域,特别指一种3D模型取点测周长的方法。
【背景技术】
[0002]人体三维扫描仪用来侦测和分析人类个体的几何构造与外观数据,人人体三维扫 描仪的转盘上,通过控制系统控制人体旋转速度和扫描摄像头运动速度,可以在电脑上精 确的建立出人体的三维数据模型。可用于服装设计、虚拟试衣、个性化量身定做;人体三维 数据收集、人像打印;美体塑身行业体型分析、评价;影视行业真人三维建模;医学工程、生 理解剖;工业模型扫描与设计;文物研究与修复,具有广阔的应用前景。同时,人体三维扫描 仪不仅仅只用于扫描人体,还可扫描各种实物,通过三维扫描仪扫描得到的3D数据一般通 过〇bj格式文件储存在计算机服务器内,并可通过网页访问下载后显示,通过三维扫描仪得 到真人人体3D数据后,再通过计算机测量人体3D数据的三围,完成人体尺寸测量是未来服 装定制领域的发展方向;服装行业生产服装时一般为:1、采用通用的尺寸型号,同一款衣服 包括多个码数,不同尺寸的群体对应不同码数的衣服,该种方式不能根据个人尺寸有针对 性的设计服装,实际穿戴时尺寸存在一定偏差;2、人工利用测量工具对个人进行现场测量, 因此需要待测量者和测量者集合在一起,具有很强的地域局限性,跟不上现代网络的发展 速度,另外,测量时,对每个需要测量的部位均需单独测量,测量的精度及效率低,造成定制 服装价格偏高,市场竞争力弱,也是制约该行业发展的一个重要因素。
【发明内容】
[0003] 本发明要解决的技术问题是针对上述现有技术的不足,提供一种用于在计算机上 实现人体尺寸的测量,实现了 3D模型尺寸智能化测量,大大提高了测量精度,提升了测量效 率的3D模型取点测周长的方法。
[0004] 本发明采取的技术方案如下:一种3D模型取点测周长的方法,包括以下步骤: 51、 手动选择网页上的3D模型,并点击3D模型,确定3D模型上的测量点,网页生成测量 请求信息发送至服务器; 52、 服务器接收页面请求; 53、 服务器判断3D模型是否存在,如果3D模型不存在则返回文件无法找到的信息至页 面,如果存在则进入下一步; 54、 服务器找到并加载人体3D模型文件读取模型的点面数据; 55、 确定测量部位; 56、 获取测量部位的点面数据; 57、 通过平面切割法切割3D模型的测量部位,获取交点,计算交点之间的距离,各交点 距离求和,计算出测量部位的周长; 58、 将步骤S7中得到的测量周长结果返回页面显示。
[0005] 优选地,所述的步骤S1中网页生成的测量请求信息包括测量点的坐标以及模型编 号,用户选择预测量的3D模型,并通过鼠标点击3D模型上预测量的部位后,计算机捕捉该部 位的点,并将该测量点坐标及3D模型编号发送至服务器端。
[0006] 优选地,所述的步骤S4中3D模型以obj格式文件储存在服务器内,obj格式文件中 以字母v开头的表示3D模型中的点,字母V后的三个数据分别表示该点在三维坐标系中的X、 Y、Z坐标值;obj格式文件中以字母f开头的表示3D模型中的三角形面,字母f后列有三组数 据分别表示构成该三角形面的三个顶点的索引和材质索引,每组数据的顶点索引和材质索 引之间通过反斜杠符号分隔,其中反斜杠符号之前的为该三角形面的顶点索引。
[0007] 优选地,所述的步骤S4及步骤S5中,服务器根据页面传来的点的Z坐标值确定测量 点的高度,并根据该高度在3D模型整体身高比确定测量点在3D模型中的高度位置,根据页 面取得点到该高度位置的两个X轴极值点的距离确定所取点在3D模型上的对应位置。
[0008] 优选地,所述的步骤S7中的平面切割法包括水平平面切割法及斜平面切割法,其 中水平平面切割法切割用于切割3D模型的躯干部位,斜平面切割法用于切割3D模型的四肢 部位。
[0009] 优选地,所述的水平平面切割法包括以下步骤: A、 确定水平切割平面,得到测量点处切割平面的平面表达式; B、 通过切割平面切割3D模型,得到切割平面与3D模型中三角形面的交点,计算交点之 间的距离,循环后得到3D模型中所有与切割平面切割的三角形交点之间距离,将各距离求 和得出切割平面处3D模型的周长。
[0010] 优选地,所述的步骤A包括以下步骤:A1、确定切割平面位置的高度为上述测量点Z 轴值h; A2、确定切割平面的表达式,切割平面平行于水平面Χ0Υ,故其平面表达式为Z=h;所 述的步骤B包括以下步骤:B1、求切割平面与组成3D模型的三角面的交点;B2、判断求得的交 点是否在3D模型的三角面内;B3、利用勾股定理计算属于三角面内的交点之间的距离,并循 环上述步骤B1至B3得到切割平面与3D模型的所有交点距离,将各距离求和得到切割平面切 割的3D模型数据的周长。
[0011] 优选地,所述的斜平面切割法包括以下步骤: C、 确定斜切割平面,得到测量点处切割平面的平面表达式; D、 通过斜切割平面切割3D模型,得到切割平面与3D模型中三角形面的交点,计算交点 之间的距离,循环后得到3D模型中所有与切割平面切割的三角形交点之间距离,将各距离 求和得出切割平面处3D模型的周长。
[0012] 优选地,所述的步骤C包括以下步骤:C1、获取页面取得的点;C2、通过步骤C1中的 点得到切割平面的法向量,再根据点的坐标与切割平面的法向量得到切割平面的平面表达 式;所述的步骤D包括以下步骤:D1、求切割平面与组成3D模型的三角面的交点;D2、判断求 得的交点是否在3D模型的三角面内;D3、利用勾股定理计算属于三角面内的交点之间的距 离,并循环上述步骤D1至D3得到切割平面与3D模型的所有交点距离,将各距离求和得到切 割平面切割的3D模型数据的周长。
[0013]本发明的有益效果在于: 本发明针对现有技术存在的缺陷和不足进行改进创新,利用人体三维扫描仪扫描得到 的obj格式3D模型数据文件为基础,结合服务器与网页端提出了一种在计算机上实现对真 人尺寸周长进行定点定位测量的方法,使用时,首先通过三维扫描仪扫描得到待扫描者的 3D模型,并以ob j格式的数据文件储存在服务器内,通过网页端发送请求并下载3D模型数 据,显示在网页端计算机上;其次,测量者通过网页端计算机选择需要测量的3D模型以及测 量的方法(水平面切割或斜平面切割),并点击3D模型的任一部位,网页端计算机将所选的 3D模型ip编号及所点击的测量点信息发送至服务器端,服务器判断该3D模型是否存在,如 果不存在则返回无法找到模型的信息,如果存在则按照所选的方法利用水平面切割或斜平 面切割对测量点所在部分进行周长测量,采用平面切割的原理即利用3D模型数据是以多个 三角形面对接拼合形成其3D外表面的特点,在三维坐标系内通过一个平面整体切割该3D模 型,该切割平面会与3D模型表面的三角形面相交,将各交点之间的距离求和得到的长度无 限接近于3D模型实际周长的,因此将该长度作为3D模型测量点处的周长,在实际测量领域 求和长度与实际周长之间的误差可以忽略不计,其测量精度相对于手工测量大大提高;本 发明实现了人体尺寸测量的智能化、远程化、精准、高效化操作,适用于现代网络技术发展, 解决了服装定制行业的技术瓶颈。
【附图说明】
[0014]图1为本发明的流程示意图。
[0015]图2为本发明水平面切割方框原理图。
[0016]图3为本发明斜平面切割方框原理图。
[0017]图4为本发明切割平面与3D模型的三角形面侧边有2个交点的示意图。
[0018]图5为本发明切割平面与3D模型的三角形面侧边有1个交点的示意图。
[0019]图6为本发明切割平面与3D模型的三角形面侧边没有交掉的示意图。
[0020]图7为本发明平面电机中心的确定示意图。
[0021 ]图8为本发明两平面电机法向量的确定示意图。
【具体实施方式】
[0022] 下面将结合附图对本发明作进一步描述: 如图1至图6,本发明采取的技术方案如下:一种3D模型取点测周长的方法,包括以下步 骤:S1、手动选择网页上的3D模型,并点击3D模型,确定3D模型上的测量点,网页生成测量请 求信息发送至服务器;S2、服务器接收页面请求;S3、服务器判断3D模型是否存在,如果3D模 型不存在则返回文件无法找到的信息至页面,如果存在则进入下一步;S4、服务器找到并加 载人体3D模型文件读取模型的点面数据;S5、确定测量部位;S6、获取测量部位的点面数 据;S7、通过平面切割法切割3D模型的测量部位,获取交点,计算交点之