The invention discloses a scene accurate expression method, reads the triangle face sequence and point information of the 3D scene, generates the octree parent node, subdivides the octree tree with the father node of the octree, forms the octree sub node, divides the triangle face which needs the segmentation processing, and derives the new triangle slice; If an octree node can be converted into a height field, if it can be converted into a height field, the four forked tree is subdivided. If it can not be converted into a height field, the octree will continue to be subdivided by an octree; determine whether the current subdivision depth reaches the maximum depth value, if the current finer depth has reached the maximum depth value, will be the maximum depth value. The non empty four fork node is used as a leaf node to keep the information of the leaf node and the corresponding new triangular facets and the triangular facets that do not need to be segmented. If the current subdivision depth does not reach the maximum depth, the four forked tree subdivision will be continued; finally, the triangulated slices and the new triangular facets after the segmentation are not required. Information is transformed into height field and rendered. Compared with the existing voxel octree method, this method greatly reduces the amount of memory consumed.
【技术实现步骤摘要】
一种场景精确表达方法
本专利技术属于信息处理
,涉及一种场景的精确识别和表达的方法。
技术介绍
场景的表达是计算机图形学中主要的研究热点,场景即数据,场景表达即将数据转化到屏幕上呈现给用户的过程,场景的表达方式主要有高度场表达、三角网格表达以及体素的表达。高度场表达方法,编码了物体表面到平面的垂直距离,是关于z=f(x,y)的函数,具有存储量较小,易于调度更新的优点,高度场表达的局限性在于智能建模垂直方向上的模型表面,对于物体内部的体特征建模无能为力。体素表达方法,可以理解为体积像素表达,体素化即将三维模型用“体积像素”的小立方体统一表示,这一表达方法表达出的场景最接近实际场景,它不仅包含表面信息,而且能描述场景内部属性,但是体素表达方式过程非常复杂,包含了大量的细节,因此对存储量有很高的要求。近年来,得益于图形显卡处理能力的大大增强,有学者提出了优化体素数据存储的算法,Laine与Karras提出了有效的稀疏体素八叉树(SVO:SparseVoxelOctree),将体素与一对平行平面的相交来获得三维模型的近似轮廓,用近似轮廓在高分辨率下取代体素,从而实现有效的压缩。尽管SVO表达方法,减少了一部分的存储量,但是三角形网格体素化,在高分辨率下仍会消耗大量内存,SVO体素生成效率低。因此如何实现仅用较小的存储量尽可能的表达三维场景是业界主要研究的方向。
技术实现思路
本专利技术主要解决的技术问题是提供一种能够利用较小的内存精确渲染三维场景。为解决上述技术问题,本专利技术的场景精确表达方法采用的技术方案是:包括以下步骤:步骤一,读取三维场景的三角面片序列与 ...
【技术保护点】
一种场景精确表达方法,其特征在于,包括:步骤一,读取三维场景的三角面片序列与点信息,求出三维场景在标准坐标轴X方向上的最大值xmax、最小值xmin,在标准坐标轴Y方向上的最大值ymax、最小值ymin,和在标准坐标轴Z方向上的最大值zmax、最小值zmin,并以点(xmin,ymin,zmin)和点(xmax,ymax,zmax)为对角顶点构成一个包围盒,并生成八叉树的父节点;步骤二:将所述八叉树的父节点进行八叉树细分,形成八叉树子节点;步骤三:对所述八叉树子节点分别计算关联的边界盒;步骤四:根据所述三角面片序列中每个三角面片所处边界盒的区域,将三角面片分成需要分割处理的三角面片和不需分割处理的三角面片,对所述需要分割处理的三角面片进行分割处理,衍生出新三角面片;步骤五:对每个所述八叉树子节点进行判断,当八叉树子节点为空节点时,不做处理;当八叉树子节点为非空节点时,如果该八叉树子节点可以转换为单一高度场,则将该八叉树子节点作为四叉树根节点,执行步骤六;如果该八叉树子节点不能转换成单一高度场,则将该八叉树子节点作为新的八叉树的父节点,返回步骤二;步骤六:对四叉树根节点进行四叉树细分,得 ...
【技术特征摘要】
1.一种场景精确表达方法,其特征在于,包括:步骤一,读取三维场景的三角面片序列与点信息,求出三维场景在标准坐标轴X方向上的最大值xmax、最小值xmin,在标准坐标轴Y方向上的最大值ymax、最小值ymin,和在标准坐标轴Z方向上的最大值zmax、最小值zmin,并以点(xmin,ymin,zmin)和点(xmax,ymax,zmax)为对角顶点构成一个包围盒,并生成八叉树的父节点;步骤二:将所述八叉树的父节点进行八叉树细分,形成八叉树子节点;步骤三:对所述八叉树子节点分别计算关联的边界盒;步骤四:根据所述三角面片序列中每个三角面片所处边界盒的区域,将三角面片分成需要分割处理的三角面片和不需分割处理的三角面片,对所述需要分割处理的三角面片进行分割处理,衍生出新三角面片;步骤五:对每个所述八叉树子节点进行判断,当八叉树子节点为空节点时,不做处理;当八叉树子节点为非空节点时,如果该八叉树子节点可以转换为单一高度场,则将该八叉树子节点作为四叉树根节点,执行步骤六;如果该八叉树子节点不能转换成单一高度场,则将该八叉树子节点作为新的八叉树的父节点,返回步骤二;步骤六:对四叉树根节点进行四叉树细分,得到四叉树子节点;步骤七:判断当前细分深度是否达到最大深度值Lmax,如果当前细分深度已经达到最大深度值,将非空的四叉树子节点作为叶节点,执行步骤九;如果当前细分深度未达到最大深度值,执行步骤八;步骤八:对每个所述四叉树子节点进行判断,当四叉树子节点为空节点时,不做处理;当四叉树子节点为非空节点时,将该四叉树子节点作为新的四叉树根节点,执行步骤六;步骤九:保存所述叶节点信息和对应的新三角面片和不需分割处理的三角面片的信息;步骤十:将不需分割处理的三角面片及分割处理后的新三角面片的信息变换为高度场;步骤十一:对高度场进行渲染呈现三维场景。2.根据权利要求1所述场景精确表达方法,其特征在于,在步骤四中,对三角面片进行分割处理的方法包括:将相邻的边界盒的相交面定义为ax+by+cz+d...
【专利技术属性】
技术研发人员:罗健欣,高艺,裘杭萍,权冀川,唐斌,吴波,刘勇,段伟伟,张琦,张雁飞,
申请(专利权)人:中国人民解放军陆军工程大学,南京小吉狗网络科技有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。