CN109410332B - Three-dimensional space geometric virtual model detail level cutting method based on point, line and surface - Google Patents

Three-dimensional space geometric virtual model detail level cutting method based on point, line and surface Download PDF

Info

Publication number
CN109410332B
CN109410332B CN201811083741.5A CN201811083741A CN109410332B CN 109410332 B CN109410332 B CN 109410332B CN 201811083741 A CN201811083741 A CN 201811083741A CN 109410332 B CN109410332 B CN 109410332B
Authority
CN
China
Prior art keywords
vertex
triangle
weight
array
new
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811083741.5A
Other languages
Chinese (zh)
Other versions
CN109410332A (en
Inventor
黄怀霖
陈宁江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangxi University
Original Assignee
Guangxi University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangxi University filed Critical Guangxi University
Priority to CN201811083741.5A priority Critical patent/CN109410332B/en
Publication of CN109410332A publication Critical patent/CN109410332A/en
Application granted granted Critical
Publication of CN109410332B publication Critical patent/CN109410332B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Abstract

The invention discloses a method for cutting a three-dimensional space geometric virtual model based on a point line surface. Firstly, separating the attribute of a three-dimensional space geometric virtual model from an integral structure, searching the structures of vertexes, lines and surfaces with shared properties in the model, sharing positions to texture, marking the vertexes in data processing, and acquiring adjacent triangular mesh information of the model through surrounding triangles neighboring the vertexes after the vertexes finish mapping processing of the associated triangles; and calculating each weight index by means of model global grid information to obtain the importance of the point-line surface of the region in the global grid model. The less important regions are deleted or simplified and the more important regions are retained. The method can limit the layer times and complexity of cutting, namely, the visual observation effect is not influenced, meanwhile, the system can be ensured to normally carry out the model construction function, and the effectiveness and the stability of the model rendering process are considered.

Description

基于点线面的三维空间几何虚拟模型细节层次裁剪方法Level-of-detail clipping method of three-dimensional geometric virtual model based on point, line and surface

技术领域technical field

本发明属于三维空间建模技术领域,更具体地,涉及一种基于点线面的三维空间几何虚拟模型细节层次裁剪方法。The invention belongs to the technical field of three-dimensional space modeling, and more specifically relates to a level-of-detail cutting method of a three-dimensional space geometric virtual model based on points, lines and planes.

背景技术Background technique

三维空间模型渲染,并不是按照实体本身从内到外在机器上进行一模一样的设计,一般来说我们都是设计出物体的同形线框,在其表面进行纹理、材质和贴图的附着,不管是颜色、光照还是花纹图案都是通过这种方式在模型上展现。纹理、材质和贴图其实本质上与图片并无本质区别,但是它们是专门针对三维模型而设计的,其中像素可以投影到屏幕空间中的像素,使得就像把图像贴上去一样具有真实感。3D space model rendering is not to design exactly the same on the machine from the inside to the outside according to the entity itself. Generally speaking, we design the same-shaped wireframe of the object, and attach texture, material and texture on its surface, whether it is Color, lighting or pattern are all expressed on the model in this way. Textures, materials, and maps are essentially the same as pictures, but they are designed specifically for 3D models, where pixels can be projected onto pixels in screen space, making it as realistic as pasting an image onto it.

从三维建模技术诞生的那一刻开始,如何更快绘制和渲染的问题便随之而来。从底层硬件的中央处理器(Central Processing Unit,CPU)与图形处理器(GraphicsProcessing Unit,GPU)的高效计算,到中层图形程序的图形绘制算法,再到顶层应用软件的多样渲染技术,都有极大的性能优化空间,能够适应于不同计算机配置,适应于不同的绘制算法,以及适应于不同的场景渲染。From the moment the 3D modeling technology was born, the problem of how to draw and render faster has followed. From the efficient calculation of the central processing unit (Central Processing Unit, CPU) and graphics processing unit (Graphics Processing Unit, GPU) of the underlying hardware, to the graphics rendering algorithm of the middle-level graphics program, to the various rendering technologies of the top-level application software, there are extremely Large space for performance optimization can be adapted to different computer configurations, different rendering algorithms, and different scene rendering.

除了上述计算机图形层面的纵向优化因素外,项目研发时间轴的横向优化也是重要的因素之一。性能优化不能在三维空间几何虚拟模型建模及动画效果完成之后再进行,因为这样会导致大量的工作积压在优化程序上,另一方面就是无法精确定位导致模型资源运行效率低下的位置,这样排查起来就会消耗太多的时间。必须提出跟进项目每一步的小型优化方案,以及能够进行最后场景综合处理的大型优化方案。In addition to the above-mentioned vertical optimization factors at the computer graphics level, the horizontal optimization of the project development timeline is also one of the important factors. Performance optimization cannot be performed after the 3D spatial geometric virtual model modeling and animation effects are completed, because this will cause a large amount of work to be backlogged in the optimization program. It takes too much time to get up. Small optimizations that follow each step of the project, as well as large optimizations that enable final scene synthesis must be proposed.

目前,常用的三维空间几何虚拟模型裁剪算法有边收缩细节层次算法,二次误差度量算法,CPU+GPU协作裁剪算法等。At present, commonly used 3D space geometry virtual model clipping algorithms include edge shrinkage level-of-detail algorithm, quadratic error measurement algorithm, CPU+GPU cooperative clipping algorithm, etc.

边收缩细节层次算法使用顶点权重来表示顶点的重要程度,顶点权重按照对模型外观影响由大到小的程度进行排序,将裁剪控制在一个影响较小的范围内;顶点的权重存储在一个有序数组中,数组顺序既是裁剪顶点顺序,优点在于算法易于实现,执行速度快。边收缩细节层次算法的局限性在于,只考虑了顶点这一个因素,模型整体是由点线面构成,只考虑顶点来进行裁剪只能较好的保留模型的边缘特征,对于模型整体的可观性受到较大影响。The edge shrinkage level of detail algorithm uses vertex weights to represent the importance of vertices. The vertex weights are sorted according to the degree of influence on the appearance of the model from large to small, and the clipping is controlled within a range with less influence; the weights of vertices are stored in a In the ordinal array, the array order is not only the order of clipping vertices, the advantage is that the algorithm is easy to implement and the execution speed is fast. The limitation of the edge shrinkage level of detail algorithm is that only the vertices are considered, and the whole model is composed of points, lines and surfaces. Only considering the vertices to crop can only better preserve the edge features of the model, which is very important for the overall observability of the model. be greatly affected.

二次误差度量算法是基于边收缩细节层次算法的改进,在顶点合并的过程中考虑了误差评价,该评价主要基于边界约束和面法向量的机制,利用误差矩阵来存储误差值,优点在于考虑的模型属性诸多方面,能达到较好的运行效果。二次误差度量算法的局限性在于,计算误差矩阵消耗的时间非常大,要进行多次高维的矩阵相乘,矩阵取反等高时间复杂度的操作,对于模型渲染的时间较长。The quadratic error measurement algorithm is based on the improvement of the edge shrinkage level of detail algorithm. The error evaluation is considered in the process of vertex merging. This evaluation is mainly based on the mechanism of boundary constraints and surface normal vectors. The error matrix is used to store the error value. The advantage is that it considers In many aspects of the model attributes, it can achieve better operation results. The limitation of the quadratic error measurement algorithm is that it takes a very long time to calculate the error matrix, and it needs to perform multiple high-dimensional matrix multiplication and matrix inversion operations with high time complexity, which takes a long time for model rendering.

CPU+GPU协作裁剪算法是CPU与GPU共同协作完成的,调整CPU与GPU的数据处理量来达到负载平衡,可以使得两者效用发挥到最大。实现CPU+GPU的异构并行,需要协调两者时钟周期,计算能力,存储能力,线程管理等。优点是拥有集群级并行支持以及统一计算设备架构(CUDA,Compute Unified Device Architecture)提供节点级的并行支持,系统整体计算性能得到极大的提高,同时又能保证运行的效果良好。CPU+GPU协作裁剪算法的局限性在于,需要对CPU和GPU架构进行编写,算法逻辑非常复杂,不易于实现;同时由于该算法涉及底层硬件计算,往往收到平台硬件类型的影响,不具有广泛支持性。The CPU+GPU cooperative cutting algorithm is completed by the cooperation of the CPU and the GPU. Adjusting the data processing volume of the CPU and the GPU to achieve load balance can maximize the effectiveness of the two. To realize the heterogeneous parallelism of CPU+GPU, it is necessary to coordinate the clock cycle, computing power, storage capacity, thread management, etc. of the two. The advantage is that it has cluster-level parallel support and the unified computing device architecture (CUDA, Compute Unified Device Architecture) provides node-level parallel support. The overall computing performance of the system is greatly improved, and at the same time, it can ensure good running results. The limitation of the CPU+GPU collaborative clipping algorithm is that it needs to be written on the CPU and GPU architecture, and the algorithm logic is very complex and difficult to implement. At the same time, because the algorithm involves underlying hardware calculations, it is often affected by the type of platform hardware and does not have a wide range of applications. supportive.

发明内容Contents of the invention

上述方法都没能很好的协调三维空间模型渲染中速度、效果、跨平台和易实现的问题。为了克服上述现有技术的不足,本发明提供了基于点线面的三维空间几何虚拟模型细节层次裁剪方法,该方法基于三维空间中几何模型的固有点线面性质来进行裁剪,不需要进行中间的转换,结合改进之后的细节层次裁剪方法,成功应用于三维空间几何虚拟模型的细节层次裁剪问题。None of the above methods can well coordinate the problems of speed, effect, cross-platform and easy implementation in 3D space model rendering. In order to overcome the deficiencies of the above-mentioned prior art, the present invention provides a three-dimensional geometric virtual model level-of-detail clipping method based on points, lines and planes. The transformation, combined with the improved LOD clipping method, was successfully applied to the LOD clipping problem of three-dimensional geometric virtual models.

细节层次算法描述了在物体远离摄像机的时候,可以使用分辨率较低的模型,即复杂度比原型要低,但是由于距离较远,差别就显得细微而不可见了。如何在不影响视觉效果情况下降低三维模型复杂度一直是细节层次算法的重点。由于模型得到了简化,在一定程度上会提高模型的渲染速度,降低渲染的顶点数和三角形数。The level of detail algorithm describes that when the object is far away from the camera, a lower-resolution model can be used, that is, the complexity is lower than that of the prototype, but due to the longer distance, the difference is subtle and invisible. How to reduce the complexity of the 3D model without affecting the visual effect has always been the focus of the level of detail algorithm. Since the model is simplified, the rendering speed of the model will be improved to a certain extent, and the number of vertices and triangles rendered will be reduced.

本发明基于点线面的三维空间几何虚拟模型细节层次裁剪方法,具体方法如下:The present invention is based on the three-dimensional space geometric virtual model level of detail cutting method based on point, line and plane, and the specific method is as follows:

(1)网格属性拆分并建立有序索引列表(1) Split grid attributes and create an ordered index list

通过分离原始网格顶点属性、顶点中法线属性、格面贴图属性、格面颜色属性以及三角形,获取不同材质所对应的三角形数组,将各个三角形数组合并成不同的子网格数组。为了在后面的双顶点查找能够快速有效的进行,需要建立一个有序的索引列表,有序顶点索引列表最终以xyz由小到大顺序进行排列。有序顶点索引列表最终以顶点的三维坐标值,按照x,y,z坐标的优先级顺序,从小到大进行排列;例如a(2,5,7)和b(2,8,4)则a的坐标值小于b,因为a.y<b.y。By separating the original mesh vertex attributes, vertex normal attributes, grid texture attributes, grid color attributes, and triangles, the triangle arrays corresponding to different materials are obtained, and each triangle array is merged into different sub-grid arrays. In order to quickly and efficiently perform the subsequent double-vertex search, an ordered index list needs to be established, and the ordered vertex index list is finally arranged in order of xyz from small to large. The ordered vertex index list is finally arranged with the three-dimensional coordinate values of the vertices, according to the priority order of x, y, and z coordinates, from small to large; for example, a(2,5,7) and b(2,8,4) are The coordinate value of a is less than b, because a.y<b.y.

(2)查找位置共享属性顶点以及纹理共享属性顶点(2) Find the position sharing attribute vertex and the texture sharing attribute vertex

该系统简化顶点主要依据就是:去除相似顶点,保留独立顶点或者重要顶点,如果能存在多个子网格中的共同顶点,说明该顶点具有多种材质共享,属于重要顶点,要把它们找出来,通过遍历三角形数组每个顶点,找出子网格共存顶点;通过将需要查找的顶点坐标传入有序索引列表进行遍历,找出相同的顶点索引。这里的子网格共存顶点和有序列表中的共同索引就是位置共享属性顶点和纹理共享属性顶点。The main basis for this system to simplify vertices is to remove similar vertices and retain independent vertices or important vertices. If there are common vertices in multiple sub-grids, it means that the vertices are shared by multiple materials and belong to important vertices. To find them, By traversing each vertex of the triangle array, find the coexisting vertices of the sub-grid; by passing the vertex coordinates to be searched into the ordered index list for traversal, find the same vertex index. Here, the sub-grid coexisting vertex and the common index in the ordered list are the position sharing attribute vertex and the texture sharing attribute vertex.

(3)建立关联三角形数组和相邻三角形数组(3) Establish associative triangle array and adjacent triangle array

每个顶点都有许多三角形共享,获取这些三角形对后面的算法起到关键作用,三角形数组值就是顶点的索引,把相同的索引合并即可。Each vertex is shared by many triangles. Obtaining these triangles plays a key role in the subsequent algorithm. The triangle array value is the index of the vertex, and the same index can be merged.

由于每一个三角形的三个角都有许多个相邻三角形,上一方法只是将每个顶点与有关三角形下标对应起来,但并没有根据顶点提取具体的三角形数组,本方法是对上一方法的补充,针对每一顶点,通过比较x,y,z坐标值,当两个三角形的某一顶点坐标值相等时说明两者为相邻三角形;所以可以通过获取该顶点具有所有相同值的三角形数组来得到所有的相邻三角形,在后面计算顶点角度和以及贴图的拉伸时候就需要用到相邻三角形。Since the three corners of each triangle have many adjacent triangles, the above method only associates each vertex with the subscript of the relevant triangle, but does not extract the specific triangle array according to the vertices. This method is an improvement on the previous method As a supplement, for each vertex, by comparing the x, y, z coordinate values, when the coordinate values of a certain vertex of two triangles are equal, it means that the two are adjacent triangles; so you can get the triangle with all the same values by the vertex Array to get all the adjacent triangles, which will be used later when calculating the vertex angle sum and stretching the texture.

拆分当前三角形的三个顶点,获取第一顶点所关联的三角形组,将该组添加进空的相邻三角形数组,然后将该组添加进已遍历三角形组,对该组相邻三角形组设置唯一组号,获取第二和第三顶点所关联的三角形组,如果该三角形数组已经遍历,则丢弃当前获取的三角形,如果没有,则添加进相邻三角形数组,将该组添加进已遍历三角形组,对该组相邻三角形组设置唯一组号。Split the three vertices of the current triangle, get the triangle group associated with the first vertex, add the group to the empty adjacent triangle array, then add the group to the traversed triangle group, and set Unique group number, get the triangle group associated with the second and third vertices, if the triangle array has been traversed, discard the currently obtained triangle, if not, add it to the adjacent triangle array, add this group to the traversed triangle Group, set a unique group number for this group of adjacent triangle groups.

(4)计算顶点角度和权重(4) Calculate vertex angles and weights

网格中每个顶点其实都被许多相邻三角形共享着,这些共享顶点角度的和决定了该顶点位于网格中独特的位置。如果和为0度,则属于简化顶点;如果和为180度,该顶点处于网格边上;如果和为360度,则该顶点处于网格内部。邻边的创建使用两个顶点的向量差。利用前面相邻三角形,把所有角度求和即可得总度数,可以通过以下公式来计算权重:Each vertex in the mesh is actually shared by many adjacent triangles, and the sum of the angles of these shared vertices determines the unique position of the vertex in the mesh. If the sum is 0 degrees, it belongs to the simplified vertex; if the sum is 180 degrees, the vertex is on the edge of the mesh; if the sum is 360 degrees, the vertex is inside the mesh. Adjacent edges are created using the vector difference of two vertices. Using the previous adjacent triangles, sum all the angles to get the total degree, and the weight can be calculated by the following formula:

Vertex_Weight=Sub_Vertex_Weight+1Vertex_Weight = Sub_Vertex_Weight + 1

Side_Weight+=Vertex_Weight*AreaSide_Weight+=Vertex_Weight*Area

Side_Weight+=Angle*Side_LengthSide_Weight+=Angle*Side_Length

Side_Weight+=Total_Angle*AreaSide_Weight+=Total_Angle*Area

Side_Weight+=(New–Old)*Total_Angle*AreaSide_Weight+=(New–Old)*Total_Angle*Area

其中Vertex_Weight表示该坐标值权重,Sub_Vertex_Weight表示子顶点权重,Side_Weight表示边权重,Area表示该边对应三角形面积,Angle表示该边上顶点的角度,Side_Length表示该边长度,Total_Angle表示该边对应三角形角度和,New和Old表示边折叠前后的三角形变化(指三角形三个点坐标值的变化,引起三角形角度和和面积以及其他如贴图的变化)。Among them, Vertex_Weight represents the weight of the coordinate value, Sub_Vertex_Weight represents the weight of the sub-vertex, Side_Weight represents the weight of the side, Area represents the area of the triangle corresponding to the side, Angle represents the angle of the vertex on the side, Side_Length represents the length of the side, and Total_Angle represents the angle and sum of the triangle corresponding to the side , New and Old indicate the change of the triangle before and after edge folding (referring to the change of the coordinate values of the three points of the triangle, causing changes in the angle and area of the triangle and other changes such as textures).

(5)计算三角形中心距权重(5) Calculate the weight of the triangle center distance

顶点中心距是指该顶点与网格边界框的中心的距离,通常我们用它来判定网格表面是否产生了偏移,三角形中心距等于三个顶点到中心的距离,为了方便比较边折叠前后的中心距差值,不会由于某一被折叠顶点导致的比较为空的现象,本系统采取以计算顶点相关三角形的平均中心距来代替顶点本身的中心距值,可以通过以下公式来计算权重:Vertex center distance refers to the distance between the vertex and the center of the grid bounding box. Usually, we use it to determine whether the mesh surface is offset. The triangle center distance is equal to the distance from the three vertices to the center. In order to facilitate comparison before and after edge folding The center distance difference of the vertex will not be empty due to a folded vertex. This system uses the average center distance of the triangles related to the vertex to replace the center distance value of the vertex itself. The weight can be calculated by the following formula :

Weight1=(New–Old)*NormalWeight1=(New–Old)*Normal

Weight2=(New–Old)*Total_Center_DistanceWeight2=(New–Old)*Total_Center_Distance

Side_Weight+=Weight1*Weight2Side_Weight+=Weight1*Weight2

其中Weight1表示法线权重,Normal表示三角形法线值,Weight2表示中心距权重,Total_Center_Distance表示中心距值,其他同名参数含义与之前所述相同。Among them, Weight1 represents the normal weight, Normal represents the triangle normal value, Weight2 represents the center distance weight, Total_Center_Distance represents the center distance value, and the meanings of other parameters with the same name are the same as those described above.

(6)基于贴图与面积变化计算权重(6) Calculate the weight based on the texture and area change

在网格中拆分出的贴图数组下标就是顶点的索引,当我们简化网格的时候,会不可避免的造成贴图的变形,但是要把变形降到最低,获取三角形的三个顶点,读取UV数组获取三个顶点的贴图坐标,求三角形面积以及贴图面积,循环检测三个顶点两两合并时,三角形面积的变化和贴图面积的变化,记录下前后的各个面积值,可以通过以下公式来计算权重:The subscript of the texture array split in the grid is the index of the vertex. When we simplify the grid, it will inevitably cause the deformation of the texture, but to minimize the deformation, get the three vertices of the triangle, read Take the UV array to obtain the texture coordinates of the three vertices, find the area of the triangle and the area of the texture, and loop through the detection of the changes in the area of the triangle and the area of the texture when the three vertices are merged in pairs, and record the values of the areas before and after. You can use the following formula to calculate the weights:

Side_Weight+=Weight+(New–Old)*AreaSide_Weight+=Weight+(New–Old)*Area

Side_Weight+=Weight+(New–Old)*UV_AreaSide_Weight+=Weight+(New–Old)*UV_Area

其中Weight表示折叠边原有权重,UV_Area表示贴图面积,其他同名参数含义与之前所述相同。Among them, Weight represents the original weight of the folded edge, UV_Area represents the texture area, and the meanings of other parameters with the same name are the same as those described above.

(7)裁剪重要性选取(7) Clipping importance selection

首先是边折叠处理,边折叠是在一个三角形中选取重要程度最低的边进行折叠,会造成两个顶点的合并,为了简化计算,最终会合并到其中的一个顶点,而不是重新计算新的顶点的坐标。按照三角形三条边以及正向反向来定义,一共有六种折叠方法,也就是∠1→∠2(第一个角折叠向第二个角)、∠2→∠1、∠1→∠3、∠3→∠1、∠2→∠3、∠3→∠2。The first is edge folding processing. Edge folding is to select the least important edge in a triangle for folding, which will result in the merging of two vertices. In order to simplify the calculation, it will eventually be merged into one of the vertices instead of recalculating a new vertex. coordinate of. According to the definition of the three sides of the triangle and the forward and reverse directions, there are a total of six folding methods, that is, ∠1→∠2 (the first corner is folded to the second corner), ∠2→∠1, ∠1→∠3, ∠3→∠1, ∠2→∠3, ∠3→∠2.

完成边折叠之后,要重新创建新的网格,同时创建新网格所有属性数据,创建新的顶点数组以及顶点属性中法线、贴图和颜色等数据,并将新顶点记录下来,如果循环遍历判断每个顶点是否被折叠,将折叠完成后的顶点数组添加到新网格的顶点数组,将折叠完成后的贴图坐标添加到新网格的贴图坐标,将折叠完成后的顶点颜色数组添加到新网格的顶点颜色数组,记录下添加进新网格的顶点。After the edge folding is completed, a new grid should be recreated, and all attribute data of the new grid should be created at the same time, a new vertex array and data such as normal, texture, and color in the vertex attributes should be created, and the new vertices should be recorded. If loop traversal Determine whether each vertex is folded, add the folded vertex array to the vertex array of the new grid, add the folded texture coordinates to the new grid texture coordinates, and add the folded vertex color array to The vertex color array of the new mesh, which records the vertices added to the new mesh.

按照旧网格中三角形与顶点关系,将其对应到新网格中,三维空间几何模型网格三角形承载着顶点与顶点之间的联系,如果不创建三角形,则模型贴图纹理等元素就无法正常的附加在顶点之上,会造成网格的混乱,将旧三角形数组的每个三角形提取出来,并更改其对应的子网格下标,判断三个顶点是否都已经添加进新的网格(边折叠),如果为真,则将该三角形添加进新三角形数组,同时设置新组号并将该组号添加进新三角形组号列表,将子网格最后部分进行填充,形成一个完整的子网格数组。According to the relationship between triangles and vertices in the old mesh, it is corresponding to the new mesh. The triangles of the three-dimensional geometric model mesh carry the connection between vertices. If triangles are not created, elements such as model textures cannot work normally. The addition of vertices will cause grid confusion. Extract each triangle of the old triangle array and change its corresponding sub-grid subscript to determine whether all three vertices have been added to the new grid (edge Fold), if true, add the triangle to the new triangle array, set the new group number and add the group number to the new triangle group number list, fill the last part of the subgrid to form a complete subnetwork grid array.

将折叠后面积为0的三角形进行移除,简化网格复杂度,同时将其对应的网格下标也进行移除,记录下移除的三角形,将其对应的顶点、贴图坐标、顶点颜色数据一并移除,更新新三角形数组所对应的顶点索引。Remove the folded triangles with an area of 0 to simplify the mesh complexity. At the same time, remove their corresponding grid subscripts, record the removed triangles, and save their corresponding vertices, texture coordinates, and vertex color data. Remove them together and update the vertex index corresponding to the new triangle array.

在裁剪较高的层次时,摄像机离模型本身已经非常远了,对网格细微之处的变化无法察觉,但是在网格中面积较小部分往往占有很大的比例,移除对渲染三角形数量将会降低许多。移除过多往往会影响视觉效果,所以没有和移除空三角形方法进行合并,在简化之前需要单独设置该值的参数,根据传入值,计算出高层次权重,对新三角形数组进行遍历,对取出的每个三角形求面积,三角形组总面积,三角形数量,根据传入值,确定移除的最大面积,对新三角形数组进行遍历,移除小于最大面积的所有三角形,移除该三角形所对应的子网格下标。When clipping a higher level, the camera is very far away from the model itself, and the subtle changes in the mesh cannot be noticed, but the small area in the mesh often occupies a large proportion, removing the effect on the number of rendered triangles will be much lower. Too much removal often affects the visual effect, so it is not merged with the method of removing empty triangles. Before simplifying, the parameter of this value needs to be set separately. According to the incoming value, the high-level weight is calculated, and the new triangle array is traversed. Calculate the area of each triangle taken out, the total area of the triangle group, the number of triangles, determine the maximum area to be removed according to the input value, traverse the new triangle array, remove all triangles smaller than the maximum area, and remove all the triangles The corresponding subgrid index.

创建新网格:将前面所生成的新数据统一进行网格绘制,新顶点数组覆盖模型顶点数组,新法线数组覆盖模型法线数组,新顶点颜色数组覆盖模型顶点颜色数组新子网格下标数组覆盖模型子网格下标数组。Create a new grid: Unify the new data generated above for grid drawing, the new vertex array covers the model vertex array, the new normal array covers the model normal array, the new vertex color array covers the model vertex color array, and the new sub-grid subscript array Override model sub-grid subscript array.

本发明针对三维空间几何虚拟模型渲染特点,基于点线面三个不同层次解决了三维空间几何虚拟模型渲染问题。与传统的几何模型渲染优化方法相比,该发明所提出的方法达到了易实现性和高效性的统一,所有计算仅仅是对模型本身的距离、面积以及长度的基本属性进行简单计算,便能达到逼真的效果,所裁剪出来的简化几何模型更逼近原始模型的外观。本发明方法基于三维空间几何最基本的点线面属性进行权重计算,计算简单,易于实现且执行效率高,同时与原始模型外观相似程度接近,裁剪比例大且不损失造型,同时该方法不涉及底层硬件计算,可以进行跨平台使用而无需修改。Aiming at the rendering characteristics of the three-dimensional geometric virtual model, the invention solves the rendering problem of the three-dimensional geometric virtual model based on three different levels of point, line and surface. Compared with the traditional geometric model rendering optimization method, the method proposed in this invention achieves the unity of ease of implementation and high efficiency. All calculations are simply calculated on the basic attributes of the distance, area and length of the model itself, and the To achieve a realistic effect, the simplified geometric model cut out is closer to the appearance of the original model. The method of the present invention performs weight calculation based on the most basic point, line, and surface attributes of three-dimensional space geometry. The calculation is simple, easy to implement, and has high execution efficiency. The underlying hardware computing can be used across platforms without modification.

附图说明Description of drawings

图1为本发明基于点线面的三维空间几何虚拟模型细节层次裁剪方法流程图;Fig. 1 is the flow chart of the present invention's level-of-detail clipping method based on point-line-surface three-dimensional geometric virtual model;

图2为本发明的三维空间几何虚拟模型原型;Fig. 2 is the three-dimensional space geometry virtual model prototype of the present invention;

图3为本发明的三维空间几何虚拟模型网格原型;Fig. 3 is the three-dimensional space geometry virtual model grid prototype of the present invention;

图4为本发明的三维空间几何虚拟模型纹理共享标记示例;Fig. 4 is an example of the texture sharing mark of the three-dimensional geometric virtual model of the present invention;

图5为本发明的三维空间几何虚拟模型位置共享标记示例;Fig. 5 is an example of the location sharing mark of the three-dimensional geometric virtual model of the present invention;

图6为本发明的三维空间几何虚拟模型第一层裁剪效果图;Fig. 6 is the cutting effect diagram of the first layer of the three-dimensional space geometry virtual model of the present invention;

图7为本发明的三维空间几何虚拟模型第二层裁剪效果图;Fig. 7 is the second layer cutting effect diagram of the three-dimensional space geometry virtual model of the present invention;

图8为本发明的三维空间几何虚拟模型第三层裁剪效果图;Fig. 8 is the cutting effect figure of the third layer of the three-dimensional space geometry virtual model of the present invention;

图9为本发明的三维空间几何虚拟模型第四层裁剪效果图。Fig. 9 is a cutting effect diagram of the fourth layer of the three-dimensional geometric virtual model of the present invention.

具体实施方式detailed description

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。In order to make the object, technical solution and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present invention, not to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not constitute a conflict with each other.

本发明基于点线面的三维空间几何虚拟模型细节层次裁剪方法,该方法流程图如图1所示,其具体实现步骤如下:The present invention is based on the three-dimensional space geometric virtual model level of detail cutting method based on points, lines and planes. The flow chart of the method is shown in Figure 1, and its specific implementation steps are as follows:

第一步:将几何模型的原始网格顶点属性、顶点中法线属性、格面贴图属性、格面颜色属性和原始三角形集合分离出来;对提取出来的顶点集合建立一个排序数组,同时建立有序索引列表;Step 1: Separate the original mesh vertex attributes, vertex mid-normal attributes, grid texture attributes, grid color attributes and original triangle sets of the geometric model; create a sorted array for the extracted vertex sets, and create a sequence index list;

第二步:通过第一步中的三角形集合,查找模型原始网格中的具有纹理共享属性顶点,并进行标记;通过第二步中的有序索引列表,查找模型原始网格中的具有位置共享属性顶点,并进行标记;The second step: through the triangle set in the first step, find and mark the vertices with texture sharing properties in the original mesh of the model; through the ordered index list in the second step, find the vertices with the position in the original mesh of the model Share attribute vertices and mark them;

第三步:通过第二步中的含有标记的三角形集合,根据原始顶点坐标,建立模型网格关联三角形数组;通过前面的关联三角形数组,根据共享顶点或边,建立模型网格相邻三角形数组;Step 3: Through the set of marked triangles in the second step, according to the original vertex coordinates, establish an array of associated triangles of the model mesh; through the previous associated triangle array, establish an array of adjacent triangles of the model mesh according to shared vertices or edges ;

第四步:通过第三步中相邻三角形数组,根据(4)中计算公式,计算每个顶点的角度和并且计算权重;The fourth step: through the adjacent triangle array in the third step, according to the calculation formula in (4), calculate the angle sum of each vertex and calculate the weight;

第五步:通过第三步中相邻三角形数组,根据(5)中计算公式,计算每个三角形的中心距并且计算权重;The fifth step: through the adjacent triangle array in the third step, according to the calculation formula in (5), calculate the center distance of each triangle and calculate the weight;

第六步:通过判断折叠前后的贴图及三角形面积变化,根据(6)中计算公式,计算相关边权重;Step 6: By judging the changes in texture and triangle area before and after folding, calculate the relevant edge weights according to the calculation formula in (6);

第七步:将以上所有权重以向量形式进行相加,若完成整个模型计算则循环结束,否则跳转到第四步;结束循环后,通过权值高低进行区域重要性比较,对重要性高的区域进行保留,非重要或者不重要的区域进行裁剪,完成对整个复杂模型的简化操作。Step 7: Add all the above weights in the form of vectors. If the calculation of the entire model is completed, the loop ends, otherwise jump to the fourth step; The area is reserved, and the unimportant or unimportant area is cropped to complete the simplification of the entire complex model.

下面结合附图和实施例对本发明做进一步说明。The present invention will be further described below in conjunction with the accompanying drawings and embodiments.

为了使裁剪方法效果具有代表性,选取的三维空间几何虚拟模型顶点数在万级以上,同时具有多个子网格,原始模型如图2所示。In order to make the effect of the clipping method representative, the number of vertices in the selected three-dimensional space geometric virtual model is more than ten thousand, and it has multiple sub-grids at the same time. The original model is shown in Figure 2.

第一步:通过原始模型的网格化操作,如图3所示,可以将几何模型的原始网格顶点属性,顶点中法线属性、格面贴图属性、格面颜色属性和原始三角形集合提取并分离出来;Step 1: Through the meshing operation of the original model, as shown in Figure 3, the original mesh vertex attributes of the geometric model, the normal line attributes in the vertices, the grid texture attributes, the grid color attributes and the original triangle collection can be extracted and separate out;

第二步:通过第一步中的三角形集合,查找模型原始网格中的具有纹理共享属性顶点,如图4所示,并进行标记;通过第二步中的有序索引列表,查找模型原始网格中的具有位置共享属性顶点,如图5所示,并进行标记;The second step: through the triangle set in the first step, find the vertices with texture sharing attributes in the original mesh of the model, as shown in Figure 4, and mark them; through the ordered index list in the second step, find the original model The vertices in the grid with the position sharing attribute, as shown in Figure 5, are marked;

第三步:通过第二步中的含有标记的三角形集合,根据原始顶点坐标,建立模型网格关联三角形数组;通过前面的关联三角形数组,根据共享顶点或边,建立模型网格相邻三角形数组;Step 3: Through the set of marked triangles in the second step, according to the original vertex coordinates, establish an array of associated triangles of the model mesh; through the previous associated triangle array, establish an array of adjacent triangles of the model mesh according to shared vertices or edges ;

第四步:通过第三步中相邻三角形数组,计算每个顶点的角度和并且计算权重。由于该模型具有24222个顶点,19712个三角形,6个子网格,Vertex_Weight,Angle和Total_Angle为具有24222长度的数列;Sub_Vertex_Weight具有6个长度的数列;Side_Weight和Area为与之相匹配的三角形个数长度的数列:Step 4: Through the array of adjacent triangles in the third step, calculate the angle sum of each vertex and calculate the weight. Since the model has 24222 vertices, 19712 triangles, and 6 subgrids, Vertex_Weight, Angle and Total_Angle are arrays with a length of 24222; Sub_Vertex_Weight has an array with a length of 6; Side_Weight and Area are the lengths of the matching triangles The sequence of:

Vertex_Weight[24222]=Sub_Vertex_Weight[6]+1Vertex_Weight[24222]=Sub_Vertex_Weight[6]+1

Side_Weight[19712*3]+=Vertex_Weight[24222]*Area[19712]Side_Weight[19712*3]+=Vertex_Weight[24222]*Area[19712]

Side_Weight[19712*3]+=Angle[24222]*Side_Length[19712*3]Side_Weight[19712*3]+=Angle[24222]*Side_Length[19712*3]

Side_Weight[19712*3]+=Total_Angle[24222]*Area[19712]Side_Weight[19712*3]+=Total_Angle[24222]*Area[19712]

Side_Weight[19712*3]+=(New–Old)*Total_Angle[24222]*Area[19712]Side_Weight[19712*3]+=(New–Old)*Total_Angle[24222]*Area[19712]

第五步:通过第三步中相邻三角形数组,计算每个三角形的中心距并且计算权重,Normal和Total_Center_Distance都是与三角形总数相关:Step 5: Through the array of adjacent triangles in the third step, calculate the center distance of each triangle and calculate the weight. Both Normal and Total_Center_Distance are related to the total number of triangles:

Weight1=(New–Old)*Normal[19712]Weight1=(New–Old)*Normal[19712]

Weight2=(New–Old)*Total_Center_Distance[19712]Weight2=(New–Old)*Total_Center_Distance[19712]

Side_Weight[19712*3]+=Weight1*Weight2Side_Weight[19712*3]+=Weight1*Weight2

第六步:判断折叠前后的贴图及三角形面积变化,计算相关边权重,UV_Area也是与三角形总数相关:Step 6: Determine the texture and triangle area changes before and after folding, and calculate the relevant edge weights. UV_Area is also related to the total number of triangles:

Side_Weight[19712*3]+=Weight+(New–Old)*Area[19712]Side_Weight[19712*3]+=Weight+(New–Old)*Area[19712]

Side_Weight[19712*3]+=Weight+(New–Old)*UV_Area[19712]Side_Weight[19712*3]+=Weight+(New–Old)*UV_Area[19712]

第七步:将以上所有权重以向量形式进行相加,若完成整个模型计算则循环结束,否则跳转到第四步;结束循环后,通过权值高低进行区域重要性比较,对重要性高的区域进行保留,非重要或者不重要的区域进行裁剪。Step 7: Add all the above weights in the form of vectors. If the calculation of the entire model is completed, the loop ends, otherwise jump to the fourth step; The area is reserved, and the non-important or unimportant area is cropped.

通过观察模型的距离,可以把模型简化程度划分为4个层次,即存在4个观测模型的距离,随着距离越来越远,渲染模型的复杂度相应的降低,一般来说4个层次是一个比较合适的值,最后得到效果如图6~9所示,完成对整个复杂模型的简化操作。By observing the distance of the model, the degree of simplification of the model can be divided into 4 levels, that is, there are 4 distances of the observation model. As the distance becomes farther and farther, the complexity of the rendering model is reduced accordingly. Generally speaking, the 4 levels are A more appropriate value, the final effect is shown in Figure 6-9, and the simplified operation of the entire complex model is completed.

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。Those skilled in the art can easily understand that the above descriptions are only preferred embodiments of the present invention, and are not intended to limit the present invention. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present invention, All should be included within the protection scope of the present invention.

Claims (8)

1. A three-dimensional space geometric virtual model detail level cutting method based on a point line surface is characterized by comprising the following steps:
the first step is as follows: separating the original mesh vertex attribute, vertex normal attribute, lattice surface map attribute and lattice surface color attribute of the geometric model from the original triangle set, establishing a sequencing array for the extracted vertex set, and establishing a sequencing index list;
the second step is that: searching the vertex with the texture sharing attribute in the original mesh of the model through the separated triangle set, and marking; searching a vertex with a position sharing attribute in the original mesh of the model through the ordered index list, and marking;
the third step: establishing a model mesh association triangle array according to the original vertex coordinates through the triangle set containing the marks; establishing an adjacent triangle array of the model mesh according to the shared vertex or edge through the associated triangle array;
the fourth step: calculating the angle sum of each vertex and calculating the weight through the adjacent triangle array;
the fifth step: calculating the center distance of each triangle and calculating the weight through the adjacent triangle arrays in the third step;
and a sixth step: calculating the weight of the related side by judging the area changes of the map and the triangle before and after folding;
the seventh step: and adding all the weights in a vector form, comparing the importance of the regions according to the height of the weights, reserving the regions with high importance, and cutting the regions which are not important or unimportant to finish the simplification operation of the whole model.
2. The method for clipping detail levels of a three-dimensional space geometric virtual model based on a point, a line and a surface as claimed in claim 1, wherein the step four includes calculating the sum of angles of each vertex and calculating the weight: using the adjacent triangles, summing all angles to obtain a total number of degrees, and calculating the weight by the following formula:
Vertex_Weight=Sub_Vertex_Weight+1
Side_Weight+=Vertex_Weight*Area
Side_Weight+=Angle*Side_Length
Side_Weight+=Total_Angle*Area
Side_Weight+=(New–Old)*Total_Angle*Area
wherein, vertex _ Weight represents the coordinate value Weight, sub _ Vertex _ Weight represents the Sub-Vertex Weight, side _ Weight represents the Side Weight, area represents the Area of the triangle corresponding to the Side, angle represents the Angle of the Vertex on the Side, side _ Length represents the Side Length, total _ Angle represents the Angle sum of the triangle corresponding to the Side, and New and Old represent the triangle change before and after the Side is folded.
3. The method for clipping detail levels of a three-dimensional space geometric virtual model based on a point, a line and a surface as claimed in claim 2, wherein the step five is to calculate the center distance of each triangle and calculate the weight as follows: the average center distance of the triangle related to the vertexes is calculated to replace the center distance value of the vertexes, and the weight is calculated through the following formula:
Weight1=(New–Old)*Normal
Weight2=(New–Old)*Total_Center_Distance
Side_Weight+=Weight1*Weight2
wherein Weight1 represents the Normal Weight, normal represents the triangle Normal value, weight2 represents the Center Distance Weight, and Total _ Center _ Distance represents the Center Distance value.
4. The method for clipping the detail level of the three-dimensional space geometric virtual model based on the point, line and surface as claimed in claim 3, wherein the calculating the relevant edge weight in the sixth step specifically comprises: obtaining three vertexes of a triangle, reading a mapping array to obtain mapping coordinates of the three vertexes, solving the area of the triangle and the area of the mapping, circularly detecting the change of the area of the triangle and the change of the area of the mapping when the three vertexes are combined in pairs, recording the front area value and the rear area value, and calculating the weight through the following formula:
Side_Weight+=Weight+(New–Old)*Area
Side_Weight+=Weight+(New–Old)*UV_Area
where Weight denotes the folding edge original Weight and UV _ Area denotes the tile Area.
5. The method for clipping the detail level of the three-dimensional space geometric virtual model based on the point line surface as claimed in claim 1 or 2, wherein the first step is specifically as follows:
the method comprises the steps of obtaining triangular arrays corresponding to different materials by separating vertexes, normals, maps, vertex colors and triangles, combining all the triangular arrays into different sub-grid arrays, and in order to enable double-vertex searching to be conducted quickly and effectively, an ordered index list needs to be established, and the ordered vertex index list is finally arranged from small to large according to the priority sequence of x, y and z coordinates by the three-dimensional coordinate values of the vertexes.
6. The method for clipping the detail level of the three-dimensional space geometric virtual model based on the point line surface as claimed in claim 1 or 2, wherein the second step is specifically as follows:
removing similar vertexes, reserving independent vertexes or important vertexes, if common vertexes in a plurality of sub-grids can exist, indicating that the vertexes have multiple material shares and belong to the important vertexes, finding out the important vertexes, and finding out the vertex where the sub-grids coexist by traversing each vertex of the triangular array; and (3) introducing vertex coordinates to be searched into the ordered index list for traversal, and finding out the same vertex index, wherein common indexes in the coexisting vertex of the sub-mesh and the ordered list are the vertex of the position sharing attribute and the vertex of the texture sharing attribute.
7. The point-line-surface based three-dimensional space geometric virtual model detail level cutting method according to claim 1 or 2, characterized in that the third step is specifically:
splitting three vertexes of a current triangle, obtaining a triangle group associated with a first vertex, adding the group into an empty adjacent triangle array, then adding the group into a traversed triangle group, setting a unique group number for the adjacent triangle group, obtaining triangle groups associated with a second vertex and a third vertex, discarding the currently obtained triangle if the triangle array has been traversed, adding the group into an adjacent triangle array if the triangle array has not been traversed, adding the group into the traversed triangle group, and setting a unique group number for the adjacent triangle group.
8. The point-line-surface based three-dimensional space geometric virtual model level of detail clipping method according to claim 1 or 2, wherein the seventh step of clipping the model specifically comprises:
firstly, edge folding is carried out, wherein edge folding is to select the edge with the lowest importance degree in a triangle for folding, so that two vertexes are merged, and in order to simplify calculation, the edge folding is finally merged to one vertex instead of recalculating the coordinates of a new vertex;
after the edge folding is completed, a new grid is created again, all attribute data of the new grid are created at the same time, a new vertex array and normal line, chartlet and color data in vertex attributes are created, the new vertex is recorded, the loop traversal is used for judging whether each vertex is folded or not, the vertex array after the folding is completed is added to the vertex array of the new grid, the chartlet coordinate after the folding is completed is added to the chartlet coordinate of the new grid, the vertex color array after the folding is completed is added to the vertex color array of the new grid, and the vertex added into the new grid is recorded;
according to the relation between a triangle and a vertex in an old grid, the triangle is corresponding to a new grid, the triangle of a three-dimensional space geometric model grid bears the relation between the vertex and the vertex, each triangle of an old triangle array is extracted, the subscript of a sub-grid corresponding to the triangle is changed, whether the three vertices are added into the new grid or not is judged, if the three vertices are true, the triangle is added into the new triangle array, a new group number is set and added into a new triangle group number list, and the last part of the sub-grid is filled to form a complete sub-grid array;
removing the triangle with the folded area of 0, simplifying the complexity of the grid, simultaneously removing the subscript of the corresponding grid, recording the removed triangle, removing the vertex, the chartlet coordinate and the vertex color data corresponding to the triangle, and updating the vertex index corresponding to the new triangle array;
setting parameters of the values before simplification for small areas in the grids, calculating high-level weights according to the input values, traversing a new triangle array, solving the area, the total area and the number of triangles of each triangle group, determining the removed maximum area according to the input values, traversing the new triangle array, removing all triangles smaller than the maximum area, and removing sub-grid subscripts corresponding to the triangles;
creating a new grid: and uniformly drawing the grids of the new data generated in the previous step, wherein the new vertex array covers the model vertex array, the new normal array covers the model normal array, and the new vertex color array covers the model vertex color array, and the new sub-grid subscript array covers the model sub-grid subscript array.
CN201811083741.5A 2018-09-17 2018-09-17 Three-dimensional space geometric virtual model detail level cutting method based on point, line and surface Active CN109410332B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811083741.5A CN109410332B (en) 2018-09-17 2018-09-17 Three-dimensional space geometric virtual model detail level cutting method based on point, line and surface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811083741.5A CN109410332B (en) 2018-09-17 2018-09-17 Three-dimensional space geometric virtual model detail level cutting method based on point, line and surface

Publications (2)

Publication Number Publication Date
CN109410332A CN109410332A (en) 2019-03-01
CN109410332B true CN109410332B (en) 2022-12-23

Family

ID=65465003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811083741.5A Active CN109410332B (en) 2018-09-17 2018-09-17 Three-dimensional space geometric virtual model detail level cutting method based on point, line and surface

Country Status (1)

Country Link
CN (1) CN109410332B (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109903366B (en) * 2019-03-13 2023-07-14 网易(杭州)网络有限公司 Virtual model rendering method and device, storage medium and electronic equipment
CN110442925B (en) * 2019-07-16 2020-05-15 中南大学 A 3D visualization method and system based on real-time dynamic segmentation and reconstruction
CN110363845A (en) * 2019-07-22 2019-10-22 南京聚润工程科技有限公司 A kind of BIM threedimensional model point subtracts the method and system that face stores and reconstructs
US11238649B2 (en) * 2019-11-26 2022-02-01 Nature Simulation Systems Inc. Method and system for hybrid modeling using geometric facets
CN111145329B (en) * 2019-12-25 2024-03-22 北京像素软件科技股份有限公司 Model rendering method, system and electronic device
CN111627105B (en) * 2020-05-28 2023-04-28 北京字节跳动网络技术有限公司 Face special effect splitting method, device, medium and equipment
CN112419430B (en) * 2020-05-28 2022-10-28 上海哔哩哔哩科技有限公司 Animation playing method and device and computer equipment
CN112859745B (en) * 2021-01-07 2021-12-14 广东三姆森科技股份有限公司 Automatic workpiece machining area dividing method for three-axis laser marking process
CN112802161B (en) * 2021-01-27 2022-11-15 青岛联合创智科技有限公司 Intelligent covering method for three-dimensional virtual character
CN112967400B (en) * 2021-04-13 2022-07-15 成都四方伟业软件股份有限公司 Unity 3D-based three-dimensional graph dynamic creation method and device
CN113391598B (en) * 2021-06-28 2022-09-20 哈尔滨工业大学 A virtual assembly simulation method and system
CN113421337A (en) * 2021-07-21 2021-09-21 北京臻观数智科技有限公司 Method for improving model rendering efficiency
CN114756555B (en) * 2022-06-14 2022-08-26 浙江华东工程数字技术有限公司 Multi-source heterogeneous three-dimensional model data processing method and system
CN116402988B (en) * 2023-05-11 2023-12-19 北京冰河起源科技有限公司 Three-dimensional model processing method, device and storage medium
CN117494289B (en) * 2023-12-27 2024-03-19 中建三局集团有限公司 Feature edge geometry generation method and device, and measurement adsorption method and device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6348921B1 (en) * 1996-04-12 2002-02-19 Ze Hong Zhao System and method for displaying different portions of an object in different levels of detail
CN102360515A (en) * 2011-10-19 2012-02-22 武汉大学 Progressive mesh data organization method for three-dimensional model
CN102663800A (en) * 2012-04-26 2012-09-12 北京师范大学 City building complex and rendering method considering city image
CN103221993A (en) * 2010-09-13 2013-07-24 巴里·林恩·詹金斯 Transport and control streaming interactive media including rendered geometry, texture and lighting data
CN103324783A (en) * 2013-05-30 2013-09-25 国家电网公司 LOD model real-time generation method based on side folding
CN103646415A (en) * 2013-12-24 2014-03-19 秦皇岛数据产业研究院有限公司 Dual constraint based selection calling method of LOD (Level of Detail) model in three-dimensional scene
CN104574501A (en) * 2014-12-19 2015-04-29 浙江大学 High-quality texture mapping method aiming at complicated three-dimensional scene

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6348921B1 (en) * 1996-04-12 2002-02-19 Ze Hong Zhao System and method for displaying different portions of an object in different levels of detail
CN103221993A (en) * 2010-09-13 2013-07-24 巴里·林恩·詹金斯 Transport and control streaming interactive media including rendered geometry, texture and lighting data
CN102360515A (en) * 2011-10-19 2012-02-22 武汉大学 Progressive mesh data organization method for three-dimensional model
CN102663800A (en) * 2012-04-26 2012-09-12 北京师范大学 City building complex and rendering method considering city image
CN103324783A (en) * 2013-05-30 2013-09-25 国家电网公司 LOD model real-time generation method based on side folding
CN103646415A (en) * 2013-12-24 2014-03-19 秦皇岛数据产业研究院有限公司 Dual constraint based selection calling method of LOD (Level of Detail) model in three-dimensional scene
CN104574501A (en) * 2014-12-19 2015-04-29 浙江大学 High-quality texture mapping method aiming at complicated three-dimensional scene

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Android平台的多尺度地理信息三维显示技术;罗安平 等;《测绘科学技术学报》;20140228;第31卷(第1期);第107-110页 *
基于层次细节模型的遮挡裁剪算法;许云杰 等;《中国图象图形学报》;20020930;第7卷(第9期);第962-967页 *

Also Published As

Publication number Publication date
CN109410332A (en) 2019-03-01

Similar Documents

Publication Publication Date Title
CN109410332B (en) Three-dimensional space geometric virtual model detail level cutting method based on point, line and surface
US20240054715A1 (en) Reduced acceleration structures for ray tracing systems
US8570322B2 (en) Method, system, and computer program product for efficient ray tracing of micropolygon geometry
US8711143B2 (en) System and method for interactive image-based modeling of curved surfaces using single-view and multi-view feature curves
CN102509339B (en) Method for simplifying vertex clustering of three-dimensional models with texture constraint
CN112802193B (en) CT image three-dimensional reconstruction method based on MC-T algorithm
CN113706713A (en) Live-action three-dimensional model cutting method and device and computer equipment
CN108053483A (en) A kind of Wei Nuotu three-dimensional grid reconstructing methods accelerated based on GPU
CN109118588B (en) Automatic color LOD model generation method based on block decomposition
CN111784840B (en) LOD (line-of-sight) level three-dimensional data singulation method and system based on vector data automatic segmentation
CN102890828A (en) Point cloud data compacting method based on normal included angle
KR100959349B1 (en) A method for accelerating terrain rendering based on quadtree using graphics processing unit
CN104952102B (en) Towards the unified antialiasing method of delay coloring
CN105006022A (en) Simplified method and device for edge collapse of 3D geometry graphics
Li et al. Geometric structure simplification of 3D building models
CN103366395B (en) A kind of volume data non-photorealistic rendering method accelerated based on GPU
CN107918957A (en) A kind of three-dimensional building model simplifying method of holding structure and textural characteristics
CN109636889B (en) Large-scale three-dimensional terrain model rendering method based on dynamic sewing belt
CN113421338A (en) Method for three-dimensional rendering of two-dimensional vector
CN101488235A (en) Constructing method for level detailed model of coniferous plant canopy
CN104966313B (en) A Geometric Shadow Map Method for Triangle Reconstruction
CN109685844A (en) A kind of weave mesh label and direction calibration optimization method and device
US10019832B2 (en) Method of generating and traversing acceleration structure
CN107993242A (en) Based on airborne LiDAR point cloud shortage of data zone boundary extracting method
JP3928016B2 (en) Triangular mesh generation method and program using maximum angle method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant