一种基于三维网格细分和编码的三维模型压缩方法_2

文档序号:9418280阅读:来源:国知局
据X轴差值和单个网格长度值确定排序顶点相对应三维细分网格的X轴位置,以此类推,确定排序顶点相对应三维细分网格的I轴和ζ轴位置,结合X,y,ζ轴位置确定排序顶点对应哪个三维细分网格的唯一索引编码,记录排序顶点对应三维细分网格的对应关系,即排序顶点对应三维细分网格的索引编码数据。
[0024]步骤4、根据步骤2计算的三维细分网格的唯一索引编码,获取轴向包围盒的最小位置坐标、轴向包围盒在X,y,ζ轴上的长度及轴向包围盒在X,y, ζ轴的等分因子,计算出每个细分网格原点的X,y, ζ坐标,进行中间存储用于下一步计算;通过轴向包围盒在x,y,z轴的长度及等分因子计算出单个网格在X,1,ζ轴上的单个网格长度值,根据最小位置坐标和唯一索引编码、单个网格长度值推算出每个细分网格原点的X,1,ζ坐标。
[0025]步骤5、根据三维细分网格的原点坐标、顶点相对应三维细分网格的索引编码数据和获取的三维模型顶点坐标,计算三维模型顶点坐标相对于三维细分网格原点的偏移量,获取三维模型顶点的浮点数精度,并将偏移量除以浮点数精度进行整数化,获取整数偏移量,根据顶点对应三维细分网格的索引编码数据,将三维模型顶点坐标与对应的三维细分网格原点坐标相减,得到顶点坐标相对于三维细分网格原点坐标的偏移量;获取三维模型顶点的浮点数精度,偏移量除以浮点数精度得到整数偏移量,采用整数偏移量相比浮点数偏移量占用空间小,对整数偏移量进行储存,用于下一步使用。
[0026]步骤6、对轴向包围盒的边界参数、轴向包围盒的X,y,ζ轴的等分因子、三维细分网格的唯一索引编码、三维模型顶点对应三维细分网格的索引编码数据、三维模型顶点的浮点数精度和三维模型顶点相对于三维细分网格原点的整数偏移量进行数据熵编码,熵编码即编码过程中按熵原理不丢失任何信息的编码。
[0027]对步骤6熵编码后的数据采用开源的LZMA压缩算法进行数据压缩。
[0028]对步骤5的三维模型顶点坐标相对于三维细分网格原点的整数偏移量进行交叉系列化:把原来按X1, Υι, Ζ^..χη, yn, Zn (η为整数)排序的顶点坐标数据系列化为按χ^..χη(η为整数),y^..yn (η为整数),ΖΓ..ζη (η为整数)进行存储;在同等数据下,拥有相同数值多的数据具有较高的压缩比率,原来坐标为Xl,Y1, ζΓ..χη,yn, ζη(η为整数),采用交叉系列化后坐标变成 χΓ..χη(η 为整数)、yr"yn(n 为整数)、ζ^..ζη(η 为整数),χΓ..χη, yr"yn, ζ^..ζη相比Xl,Y1, ζΓ..χη,yn, ζη (η为整数)拥有更多连续重复的数值,具有较高的压缩比率,采用此压缩方法的软件更适合在移动设备上运行。
[0029]对交叉系列化的整数偏移量数据进行熵编码,采用开源的LZMA压缩算法进行数据压缩。
[0030]总之,以上所述仅为发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。
【主权项】
1.一种基于三维网格细分和编码的三维模型压缩方法,其特征在于,包括以下步骤: 步骤1、读取三维模型的顶点坐标数据,对顶点的X,y, Z坐标逐个进行比较,计算出三维模型的最大和最小顶点坐标;通过最大和最小顶点坐标确定轴向包围盒的边界参数,边界参数包括轴向包围盒在三维坐标系中的最大和最小位置坐标; 步骤2、根据轴向包围盒的边界参数计算出轴向包围盒在X,y, z轴上的长度,获取三维模型的顶点数量,根据三维模型的顶点数量及轴向包围盒在X,1,z轴上的长度,计算出轴向包围盒的在X,I, Z轴上的等分因子,根据轴向包围盒的等分因子对轴向包围盒进行三维网格细分,根据轴向包围盒的长度、等分因子依次对三维细分网格建立唯一索引编码; 步骤3、对三维模型的顶点坐标数据按Z轴优先进行排序,获取经过排序的顶点坐标,根据顶点坐标、轴向包围盒的最小位置坐标、轴向包围盒在X,1,Z轴的长度在及轴向包围盒在X,y,z轴的等分因子计算出顶点相对应三维细分网格的索引编码数据; 步骤4、根据步骤2计算的三维细分网格的唯一索引编码,获取轴向包围盒的最小位置坐标、轴向包围盒在x,y,z轴上的长度及轴向包围盒在X,y, z轴的等分因子,计算出每个细分网格原点的X,y, z坐标,进行中间存储用于下一步计算; 步骤5、根据三维细分网格的原点坐标、顶点相对应三维细分网格的索引编码数据和获取的三维模型顶点坐标,计算三维模型顶点坐标相对于三维细分网格原点的偏移量,获取三维模型顶点的浮点数精度,并将偏移量除以浮点数精度进行整数化,获取整数偏移量;步骤6、对轴向包围盒的边界参数、轴向包围盒的X,y, z轴的等分因子、三维细分网格的唯一索引编码、三维模型顶点对应三维细分网格的索引编码数据、三维模型顶点的浮点数精度和三维模型顶点相对于三维细分网格原点的整数偏移量进行数据熵编码。2.根据权利要求1所述的一种基于三维网格细分和编码的三维模型压缩方法,其特征在于:对步骤6熵编码后的数据采用开源的LZMA压缩算法进行数据压缩。3.根据权利要求1所述的一种基于三维网格细分和编码的三维模型压缩方法,其特征在于:对步骤5的三维模型顶点坐标相对于三维细分网格原点的整数偏移量进行交叉系列化:把原来按X1, Υι, Ζ^..χη, yn, Zn (η为整数)排序的顶点坐标数据系列化为按χ^..χη(η为整数),yr"yn(n为整数),ζ^..ζη(η为整数)进行存储。4.根据权利要求3所述的一种基于三维网格细分和编码的三维模型压缩方法,其特征在于:对交叉系列化的整数偏移量数据进行熵编码,采用开源的LZMA压缩算法进行数据压缩。
【专利摘要】本发明涉及计算机图形处理领域,尤其涉及了一种基于三维网格细分和编码的三维模型压缩方法,包括:确定轴向包围盒的边界参数;计算轴向包围盒的等分因子,根据等分因子对轴向包围盒进行三维网格细分,并建立细分网格的唯一索引编码;计算顶点相对应三维细分网格的索引编码数据;计算出每个细分网格原点的坐标;计算三维模型顶点坐标相对于三维细分网格原点的偏移量,获取顶点坐标的浮点数精度,并对偏移量整数化;对以上数据进行数据熵编码,采用开源的LZMA压缩算法进行参数数据压缩。本发明对三维模型顶点按相关参数进行三维细分网格的索引编码并计算相对应的偏移量,偏移量占用空间相对于原顶点坐标数据大大减少,提高了压缩比率。
【IPC分类】G06T17/00, G06T9/00
【公开号】CN105139449
【申请号】CN201510524490
【发明人】林秀全
【申请人】上海卫高网络科技有限公司
【公开日】2015年12月9日
【申请日】2015年8月24日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1