首先对单位球面进行均匀分割,构造出规则球面网格,然后依次对球面网格点进行编号,用半径和球面网格点编号近似表示每个顶点的三维坐标.对这些编号排序后,用相邻编号的差值来表示球面网格点编号,实现了只用一个浮点数和一个网格点编号差值来表示一个顶点的3个坐标值.浮点数表示的半径可以量化为整数,进一步压缩存储空间.该算法的最大优点是与模型的拓扑性质无关,只需要利用模型的顶点坐标.实验结果显示,文中算法有较好的压缩效果,虽然该算法是针对三角面片网格来说明的,但是其基本思想也可以应用到其他形式的网格模型中.
A regular grid is constructed over a unit sphere. The grid point is labeled by serial numbers in order. The 3D position of a model is expressed by the radius and the serial number of the grid approximately. After sorting the serial numbers, a vertex is expressed by the radius and the difference between the neighbouring numbers. Thus the three coordinates are compressed into a float and a small integer. Then the float is quantified to an integer for the further reduction of the storage. The advantage of the algorithm is that the compressing process does not depend on the topological structure of the model. The results show that the new algorithms can reach a perfect compress effect. Although the algorithm is explained in the triangular mesh, it can also be applied in other kind of meshes.