The invention discloses a trimming method of spatial three-dimensional geometric virtual model based on point, line and surface. Firstly, the attributes of the three-dimensional geometric virtual model are separated from the whole structure, and the structures of vertices, lines and surfaces with shared properties are searched. From position sharing to texture sharing, they are marked in data processing. When all vertices complete mapping of the associated triangles, the adjacent triangles of a model are obtained through the adjacent triangles. Triangular mesh information; with the help of the global mesh information of the model, the weight index is calculated, and the importance of points, lines and planes in the global mesh model is obtained. Delete or simplify areas of low importance and retain areas of high importance. This method can limit the number of layers and complexity of cropping, that is, it does not affect the visual observation effect, while ensuring the normal functionality of the system for model building, taking into account the validity and stability of the model rendering process.
【技术实现步骤摘要】
基于点线面的三维空间几何虚拟模型细节层次裁剪方法
本专利技术属于三维空间建模
,更具体地,涉及一种基于点线面的三维空间几何虚拟模型细节层次裁剪方法。
技术介绍
三维空间模型渲染,并不是按照实体本身从内到外在机器上进行一模一样的设计,一般来说我们都是设计出物体的同形线框,在其表面进行纹理、材质和贴图的附着,不管是颜色、光照还是花纹图案都是通过这种方式在模型上展现。纹理、材质和贴图其实本质上与图片并无本质区别,但是它们是专门针对三维模型而设计的,其中像素可以投影到屏幕空间中的像素,使得就像把图像贴上去一样具有真实感。从三维建模技术诞生的那一刻开始,如何更快绘制和渲染的问题便随之而来。从底层硬件的中央处理器(CentralProcessingUnit,CPU)与图形处理器(GraphicsProcessingUnit,GPU)的高效计算,到中层图形程序的图形绘制算法,再到顶层应用软件的多样渲染技术,都有极大的性能优化空间,能够适应于不同计算机配置,适应于不同的绘制算法,以及适应于不同的场景渲染。除了上述计算机图形层面的纵向优化因素外,项目研发时间轴的横向优化也是重要的因素之一。性能优化不能在三维空间几何虚拟模型建模及动画效果完成之后再进行,因为这样会导致大量的工作积压在优化程序上,另一方面就是无法精确定位导致模型资源运行效率低下的位置,这样排查起来就会消耗太多的时间。必须提出跟进项目每一步的小型优化方案,以及能够进行最后场景综合处理的大型优化方案。目前,常用的三维空间几何虚拟模型裁剪算法有边收缩细节层次算法,二次误差度量算法,CPU+GPU协作裁剪算法等。 ...
【技术保护点】
1.一种基于点线面的三维空间几何虚拟模型细节层次裁剪方法,其特征在于,包括:第一步:将几何模型的原始网格顶点属性、顶点中法线属性、格面贴图属性、格面颜色属性与原始三角形集合分离出来,对提取出来的顶点集合建立一个排序数组,同时建立有序索引列表;第二步:通过所述分离出来的三角形集合,查找模型原始网格中的具有纹理共享属性顶点,并进行标记;并通过所述有序索引列表,查找模型原始网格中的具有位置共享属性顶点,并进行标记;第三步:通过所述含有标记的三角形集合,根据原始顶点坐标,建立模型网格关联三角形数组;通过所述关联三角形数组,根据共享顶点或边,建立模型网格相邻三角形数组;第四步:通过所述相邻三角形数组,计算每个顶点的角度和并且计算权重;第五步:通过第三步中相邻三角形数组,计算每个三角形的中心距并且计算权重;第六步:通过判断折叠前后的贴图及三角形面积变化,计算相关边权重;第七步:将以上所有权重以向量形式进行相加,通过权值高低进行区域重要性比较,对重要性高的区域进行保留,非重要或者不重要的区域进行裁剪,完成对整个模型的简化操作。
【技术特征摘要】
1.一种基于点线面的三维空间几何虚拟模型细节层次裁剪方法,其特征在于,包括:第一步:将几何模型的原始网格顶点属性、顶点中法线属性、格面贴图属性、格面颜色属性与原始三角形集合分离出来,对提取出来的顶点集合建立一个排序数组,同时建立有序索引列表;第二步:通过所述分离出来的三角形集合,查找模型原始网格中的具有纹理共享属性顶点,并进行标记;并通过所述有序索引列表,查找模型原始网格中的具有位置共享属性顶点,并进行标记;第三步:通过所述含有标记的三角形集合,根据原始顶点坐标,建立模型网格关联三角形数组;通过所述关联三角形数组,根据共享顶点或边,建立模型网格相邻三角形数组;第四步:通过所述相邻三角形数组,计算每个顶点的角度和并且计算权重;第五步:通过第三步中相邻三角形数组,计算每个三角形的中心距并且计算权重;第六步:通过判断折叠前后的贴图及三角形面积变化,计算相关边权重;第七步:将以上所有权重以向量形式进行相加,通过权值高低进行区域重要性比较,对重要性高的区域进行保留,非重要或者不重要的区域进行裁剪,完成对整个模型的简化操作。2.如权利要求1所述的基于点线面的三维空间几何虚拟模型细节层次裁剪方法,其特征在于,所述第四步中计算每个顶点的角度和并且计算权重具体为:利用所述相邻三角形,把所有角度求和即可得总度数,并通过以下公式来计算权重:Vertex_Weight=Sub_Vertex_Weight+1Side_Weight+=Vertex_Weight*AreaSide_Weight+=Angle*Side_LengthSide_Weight+=Total_Angle*AreaSide_Weight+=(New–Old)*Total_Angle*Area其中Vertex_Weight表示该坐标值权重,Sub_Vertex_Weight表示子顶点权重,Side_Weight表示边权重,Area表示该边对应三角形面积,Angle表示该边上顶点的角度,Side_Length表示该边长度,Total_Angle表示该边对应三角形角度和,New和Old表示边折叠前后的三角形变化。3.如权利要求2所述的基于点线面的三维空间几何虚拟模型细节层次裁剪方法,其特征在于,所述第五步中计算每个三角形的中心距并且计算权重具体为:以计算顶点相关三角形的平均中心距来代替顶点本身的中心距值,并通过以下公式来计算权重:Weight1=(New–Old)*NormalWeight2=(New–Old)*Total_Center_DistanceSide_Weight+=Weight1*Weight2其中Weight1表示法线权重,Normal表示三角形法线值,Weight2表示中心距权重,Total_Center_Distance表示中心距值。4.如权利要求3所述的基于点线面的三维空间几何虚拟模型细节层次裁剪方法,其特征在于,所述第六步中计算相关边权重具体为:获取三角形的三个顶点,读取贴图数组获取三个顶点的贴图坐标,求三角形面积以及贴图面积,循环检测三个顶点两两合并时,三角形面积的变化和贴图面积的变化,记录下前后的各个面积值,并通过以下公式来计算权重:Side_Weight+=Weight+(New–Old)*AreaSide_Weight+=Weight+(New–Old)*UV_Area其中Weight表示折叠边原有权重,UV_Area表示贴图面积。5.如权利...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。