CN107633555A - The mutual cutting method of curved surface collection and system based on spacescan - Google Patents

The mutual cutting method of curved surface collection and system based on spacescan Download PDF

Info

Publication number
CN107633555A
CN107633555A CN201710835245.XA CN201710835245A CN107633555A CN 107633555 A CN107633555 A CN 107633555A CN 201710835245 A CN201710835245 A CN 201710835245A CN 107633555 A CN107633555 A CN 107633555A
Authority
CN
China
Prior art keywords
triangle
scanning
curved surface
spatial
vertex
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.)
Granted
Application number
CN201710835245.XA
Other languages
Chinese (zh)
Other versions
CN107633555B (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.)
China University of Geosciences
Original Assignee
China University of Geosciences
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 China University of Geosciences filed Critical China University of Geosciences
Priority to CN201710835245.XA priority Critical patent/CN107633555B/en
Publication of CN107633555A publication Critical patent/CN107633555A/en
Application granted granted Critical
Publication of CN107633555B publication Critical patent/CN107633555B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种基于空间扫描的曲面集相互切割实现方法及系统,该方法及系统提供给用户一种高效处理大量曲面相互切割的技术,能够在单次的扫描过程中完成三角形相交检测、内存调度、重新三角化、结果曲面片产生等多个环节,它可以克服两两切割计算中的多曲面共点、共线、共面及自相交等不一致问题;通过流式加载、维护与扫描平面相交的三角形、尽早产出存储完成的曲面片并释放其占用的内存等多种方法来降低计算所涉及的数据量,降低计算规模;切割过程中每一步的计算不再依赖前一步所有数据处理完毕,每步能够并行完成,特别适合高性能计算环境。

The invention discloses a method and system for realizing mutual cutting of curved surface sets based on space scanning. The method and system provide users with a technology for efficiently processing a large number of curved surface mutual cutting, and can complete triangle intersection detection, Multiple links such as memory scheduling, re-triangulation, and result surface patch generation can overcome inconsistencies such as multi-surface co-point, collinear, co-planar, and self-intersection in pairwise cutting calculations; through streaming loading, maintenance, and scanning Triangles intersecting planes, producing and storing completed surface patches as soon as possible and releasing the memory occupied by them can reduce the amount of data involved in the calculation and reduce the scale of calculation; the calculation of each step in the cutting process no longer depends on all the data of the previous step After processing, each step can be completed in parallel, which is especially suitable for high-performance computing environments.

Description

基于空间扫描的曲面集相互切割方法及系统Method and system for mutual cutting of surface sets based on space scanning

技术领域technical field

本发明涉及三维曲面切割技术,具体地说,是一种基于空间扫描的曲面集相互切割实现方法及系统。The invention relates to a three-dimensional curved surface cutting technology, in particular, a method and system for realizing mutual cutting of curved surface sets based on space scanning.

背景技术Background technique

随着测绘技术和三维建模技术的发展,人们逐渐有条件建构各类复杂而精细的三维地物模型。这些三维地物模型的构建往往涉及大量三维曲面相互间做切割,进而剔除多余部分、捏合不同表面为一个整体。一般完成三维曲面相互切割的思路是:每个曲面构建单独的索引,然后两两一对进行相交计算,计算过程中通过索引加速三角形碰撞检测,从某个检测出的相交位置追踪交线来完成切割计算。但是上述方法也存在以下几方面的问题:With the development of surveying and mapping technology and 3D modeling technology, people gradually have the conditions to construct various complex and fine 3D object models. The construction of these three-dimensional surface object models often involves cutting a large number of three-dimensional surfaces, and then eliminating redundant parts and kneading different surfaces into a whole. Generally, the idea of completing the mutual cutting of three-dimensional surfaces is: construct a separate index for each surface, and then perform intersection calculations in pairs. During the calculation process, the index is used to accelerate the triangle collision detection, and the intersection line is traced from a detected intersection position to complete. Cut calculation. But the above method also has the following problems:

(1)两两一对进行切割计算,在多个曲面通过且相交于空间同一点的情况下容易产生不一致性;(1) Cutting calculations are performed in pairs, and inconsistencies are likely to occur when multiple surfaces pass through and intersect at the same point in space;

(2)如果某个三角面片与多个曲面相交,那么这个三角面片通过多轮两两切割会发生多次重新三角化,且三角化过程受切割次序影响,可能产生非全局最优解;(2) If a triangular patch intersects multiple surfaces, the triangular patch will undergo multiple re-triangulation through multiple rounds of pairwise cutting, and the triangulation process is affected by the cutting order, which may result in a non-globally optimal solution ;

(3)只对来自不同曲面的三角形面片进行相交判断,难以发现同一个曲面中存在的自相交现象;(3) It is difficult to find the self-intersection phenomenon existing in the same surface by only judging the intersection of triangular patches from different surfaces;

(4)N个三维曲面需要进行N*(N-1)/2次两两切割计算,计算规模可能变得非常庞大;(4) N three-dimensional surfaces need to perform N*(N-1)/2 pairwise cutting calculations, and the calculation scale may become very large;

(5)结果面片的产生需要在两两相交过程的最后完成,此时才能保证所有相交的三角形都已处理完毕,当单个曲面的数据量很大时,会消耗大量内存;(5) The generation of the result patch needs to be completed at the end of the pairwise intersection process. Only at this time can it be guaranteed that all intersecting triangles have been processed. When the data volume of a single surface is large, a large amount of memory will be consumed;

(6)虽然大量曲面间的两两切割计算可以作为基本的运算单元支持并行化计算,但曲面数据结构需要支持并行操作,当同一曲面在并行切割处理时需要协调切割过程中的一致性关系,但是每个并行单元都是对应完整的切割过程,一致性维护相当困难。(6) Although pairwise cutting calculations between a large number of surfaces can be used as a basic computing unit to support parallel calculations, the surface data structure needs to support parallel operations. When the same surface is processed in parallel, it is necessary to coordinate the consistency relationship in the cutting process. However, each parallel unit corresponds to a complete cutting process, and consistency maintenance is quite difficult.

发明内容Contents of the invention

本发明要解决的技术问题在于,针对上述(1)至(6)的技术缺陷,提供了一种基于空间扫描的曲面集相互切割实现方法及系统,尤其是一种适用于大量散乱放置的三维曲面相互切割实现方法及系统。The technical problem to be solved by the present invention is to provide a method and system for realizing mutual cutting of curved surface sets based on space scanning, especially for a large number of scattered three-dimensional Method and system for realizing mutual cutting of curved surfaces.

根据本发明的其中一方面,本发明为解决其技术问题,提供了一种基于空间扫描的曲面集相互切割方法,包含如下步骤:According to one aspect of the present invention, in order to solve the technical problem, the present invention provides a method for mutual cutting of curved surface sets based on space scanning, which includes the following steps:

对参与切割的曲面集按顺序动态加载内存;Dynamically load the memory in sequence for the surface sets participating in the cutting;

建立二维动态空间索引来维护当前与扫描平面相交的三角形信息;Establish a two-dimensional dynamic spatial index to maintain the triangle information currently intersected with the scan plane;

建立优先级队列管理曲面边界中的沿扫描前进方向的上V型顶点;Establish a priority queue to manage the upper V-shaped vertices along the scanning forward direction in the surface boundary;

处理因扫描上V型顶点而引发的空间索引结构的更新与调整;Deal with the update and adjustment of the spatial index structure caused by scanning the V-shaped vertices;

处理因扫描三角形的中间顶点而引发的空间索引结构的更新与调整;Deal with the update and adjustment of the spatial index structure caused by scanning the intermediate vertices of the triangle;

处理因扫描三角形的结束顶点而引发的空间索引结构的更新与调整;Handle the update and adjustment of the spatial index structure caused by scanning the end vertices of the triangle;

处理扫描完成三角形的重新三角化;Process the scan to complete the re-triangulation of the triangle;

处理结果曲面片的产生、生长、分支、合并与结束;Process the generation, growth, branching, merging and termination of the resulting surface patches;

其中,所谓上V型顶点是指曲面的边界上满足下述条件的边界顶点:边界顶点的两个邻接顶点的空间排序都大于该边界顶点的空间排序,并且连接边界顶点的任意一个三角形中的任意一个点的空间排序都比该边界顶点的空间排序大;所述空间排序通过优先级队列中的顺序体现,优先级队列中的顺序是按照扫描前进方向所在维度至其它任意维度的顺序进行设计的,且为针对点的空间坐标字典序排序。Among them, the so-called upper V-shaped vertex refers to the boundary vertex on the boundary of the curved surface that satisfies the following conditions: the spatial order of the two adjacent vertices of the boundary vertex is greater than the spatial order of the boundary vertex, and any triangle connecting the boundary vertex The spatial sorting of any point is larger than the spatial sorting of the boundary vertices; the spatial sorting is reflected by the order in the priority queue, and the order in the priority queue is designed according to the order from the dimension where the scanning direction is located to any other dimension , and are sorted lexicographically for the spatial coordinates of the points.

在本发明的曲面集相互切割方法中,对曲面集按顺序动态加载内存通过以下方式进行:In the surface set mutual cutting method of the present invention, the sequential dynamic loading of memory for the surface set is performed in the following manner:

对参与计算的曲面分别计算在各个维度上占据的空间,并按照延展最大的维度进行排序,只有当空间扫描平面与某个曲面开始相交时才调度该曲面到内存,上述排序顺序正好是扫描空间平面与各曲面的相交顺序,因此可以在在扫描过程中按照所述排序顺次加载各曲面。Calculate the space occupied by the surfaces participating in the calculation in each dimension, and sort them according to the dimension with the largest extension. Only when the space scanning plane starts to intersect with a surface, the surface is dispatched to the memory. The above sorting order is exactly the scanning space The order in which the plane intersects the surfaces, so that the surfaces can be loaded sequentially during the scan in that order.

在本发明的曲面集相互切割方法中,用于维护当前与扫描平面相交的三角形信息的二维动态空间索引结构为R树空间索引、R+树空间索引、R*树空间索引及四叉树空间索引中任意一种。In the surface set mutual cutting method of the present invention, the two-dimensional dynamic spatial index structures used to maintain the triangle information currently intersected with the scanning plane are R tree spatial index, R+ tree spatial index, R* tree spatial index and quadtree space any of the indexes.

在本发明的曲面集相互切割方法中,在二维动态空间索引中维护的三角形信息包括:该三角形的来源曲面、未与扫描平面相交的边对应的邻接三角形、同在空间索引中的邻接三角形、已完全通过扫描平面的边对应的邻接三角形集合、三角形内已检测出的交线集合。In the surface set mutual cutting method of the present invention, the triangle information maintained in the two-dimensional dynamic spatial index includes: the source surface of the triangle, the adjacent triangle corresponding to the edge that does not intersect the scanning plane, and the adjacent triangle in the spatial index , the set of adjacent triangles corresponding to the sides that have completely passed the scanning plane, and the set of intersection lines detected within the triangles.

在本发明的曲面集相互切割方法中,只有当扫描平面首次与曲面相接触时,计算该曲面边界中的沿扫描前进方向的上V型顶点。In the mutual cutting method of the curved surface set of the present invention, only when the scanning plane touches the curved surface for the first time, the upper V-shaped vertices along the scanning forward direction in the boundary of the curved surface are calculated.

在本发明的曲面集相互切割方法中,处理因扫描上V型顶点而引发的空间索引结构的更新与调整,具体包括:In the mutual cutting method of surface sets of the present invention, the update and adjustment of the spatial index structure caused by scanning the V-shaped vertices are processed, specifically including:

根据该上V型顶点关联的曲面及拓扑情况,获得包含该上V型顶点的所有三角形,对每个三角形设置来源曲面,第一类邻接三角形设置为未与扫描平面相交的边相对的三角形,第二类邻接三角形设置为同在空间索引中并与该三角形共享边界的三角形,第三类邻接三角形设置为与已完全通过扫描平面的边相对的三角形,三角形内已检测出的交线集合设置为每个三角形与空间索引中的三角形计算交线所得结果;According to the surface and topology associated with the upper V-shaped vertex, all triangles including the upper V-shaped vertex are obtained, and the source surface is set for each triangle. The first type of adjacent triangle is set as a triangle that is opposite to the side that does not intersect with the scanning plane. The second type of adjacent triangle is set to the triangle that is in the same spatial index and shares the boundary with the triangle, the third type of adjacent triangle is set to the triangle that is opposite to the edge that has completely passed the scanning plane, and the set of intersection lines detected in the triangle is set The result of computing intersections for each triangle with the triangles in the spatial index;

三角形计算交线过程中通过空间索引本身过滤无关三角形;Filter irrelevant triangles through the spatial index itself in the process of triangle calculation intersection;

三角形计算交线过程具体包括:通过把三角形转化为参数方程,分析同时满足两个三角形参数方程的解及其边界获得相交于1点、相交于1条线段、相交于一个三角形面片、相交于一个四边形面片、相交于一个五边形面片、相交于一个六边形面片……的情况;The process of calculating the intersection line of triangles specifically includes: by converting the triangle into a parametric equation, analyzing the solution and its boundary satisfying two triangle parametric equations at the same time to obtain the intersection at 1 point, the intersection at 1 line segment, the intersection at a triangle patch, the intersection at A quadrilateral face, intersecting with a pentagonal face, intersecting with a hexagonal face...;

多个曲面重叠的公共曲面片单独作为一个结果曲面片;The common surface patch with overlapping surfaces is regarded as a single result surface patch;

上述交线的计算同时也会更新已在空间索引结构中的三角形信息,只要这些三角形与新的待加入三角形相交。The calculation of the intersection line above will also update the triangle information already in the spatial index structure, as long as these triangles intersect with the new triangles to be added.

在本发明的曲面集相互切割方法中,处理因扫描某个三角形的中间顶点而引发的空间索引结构的更新与调整,可以细化为:In the surface set mutual cutting method of the present invention, the update and adjustment of the spatial index structure caused by scanning the middle vertex of a certain triangle can be refined as follows:

包含所述某个三角形的中间顶点的未处理三角形与上V型顶点的处理方法进行处理相同,加入这些未处理三角形到空间索引结构中;The unprocessed triangles containing the intermediate vertices of a certain triangle are processed in the same way as the upper V-shaped vertices, and these unprocessed triangles are added to the spatial index structure;

三角形信息更新过程中的三角形间邻接关系的构建还需要考虑包含该顶点的已处理三角形:更新以所述某个三角形的中间顶点作为端点的已经完成扫描的边所在的三角形信息,把与其邻接的三角形加入已完成扫描边对应邻接三角形集合中。The construction of the adjacency relationship between triangles in the triangle information update process also needs to consider the processed triangle that contains the vertex: update the triangle information of the edge that has been scanned with the intermediate vertex of the triangle as the endpoint, and the adjacent The triangle is added to the set of adjacent triangles corresponding to the scanned edges.

在本发明的曲面集相互切割方法中,所述处理因扫描某个三角形的结束顶点而引发的空间索引结构的更新与调整,可以细化为:In the surface set mutual cutting method of the present invention, the update and adjustment of the spatial index structure caused by scanning the end vertex of a certain triangle can be refined as follows:

把完成扫描的三角形移除出空间索引结构;Remove the scanned triangles from the spatial index structure;

与这些移除的三角形相邻接且在空间索引中的三角形更新其已完成扫描边对应的邻接三角形信息;The triangles adjacent to these removed triangles and in the spatial index update the adjacent triangle information corresponding to their scanned edges;

在本发明的曲面集相互切割方法中,处理扫描完成三角形的重新三角化通过以下方式进行:In the mutual cutting method of the surface set of the present invention, the re-triangulation of the completed triangle is performed in the following manner:

该三角形信息中记载的交线、以及三角形边界作为约束进行约束三角化;The intersection lines and triangle boundaries recorded in the triangle information are used as constraints for constrained triangulation;

对上述完成扫描的原三角形,如果其某个邻接三角形仍然在空间索引中,则三角化构建出的新三角形更新到这些邻接三角形已完成扫描边对应邻接三角形集合中。For the above scanned original triangles, if one of its adjacent triangles is still in the spatial index, the new triangles constructed by triangulation are updated to the set of adjacent triangles corresponding to the scanned sides of these adjacent triangles.

在本发明的曲面集相互切割方法中,处理结果曲面片的产生、生长、分支、合并与结束,可以细化为:In the mutual cutting method of surface sets of the present invention, the generation, growth, branching, merging and ending of processing result surface pieces can be refined as follows:

结果曲面片产生:如果新产生的三角形没有和已完成扫描的三角形及重三角化后的三角形有拓扑邻接,那么标志着一个新的曲面片的产生;The resulting surface patch is generated: if the newly generated triangle does not have topological adjacency with the scanned triangle and the re-triangulated triangle, it marks the generation of a new surface patch;

结果曲面片生长:对上述完成扫描的原三角形,如果其邻接三角形也已完成扫描,那么从与该邻接三角形公共顶点开始,所有相连且已完成扫描的顶点加入结果曲面片的顶点集合,所有由上述顶点构成的三角形加入结果曲面片三角形集合;Result surface patch growth: For the original triangle that has been scanned above, if its adjacent triangles have also been scanned, then starting from the common vertex with the adjacent triangle, all connected vertices that have been scanned are added to the vertex set of the result surface patch, all by The triangles formed by the above vertices are added to the result surface patch triangle set;

结果曲面片分支:如果结果曲面片在生长边界断开为沿扫描平面的多个不连通部分,则需要处理分支,把分化出的多个不连通部分通过链表串联在一起;每个不连通部分可以称为一个生长点;Branching of the result surface patch: If the result surface patch is broken into multiple disconnected parts along the scan plane at the growth boundary, it is necessary to process the branch and connect the differentiated multiple disconnected parts together through a linked list; each disconnected part may be called a growth point;

结果曲面片合并:每个正在生长中的结果曲面片独自维护其顶点集合和三角形集合,如遇到因某个三角形扫描完成而使两个或三个结果曲面片形成连通的一个整体,则需要合并两个或三个结果曲面片的顶点集合和三角形集合,更新三角形集合中的顶点索引;Result surface patch merging: each growing result surface patch independently maintains its vertex set and triangle set. If two or three result surface patches form a connected whole due to the completion of a certain triangle scan, you need Merge the vertex sets and triangle sets of two or three resulting surface patches, and update the vertex indices in the triangle sets;

结果曲面片结束:如果某个完成扫描的三角形其邻接三角形也都完成扫描,且其没有其它分化的生长点,则该结果面片结束处理,产生一个完整的结果曲面片,也是算法最终的产出;为提高内存利用率,新产生出的结果曲面片可以直接保存到外存或数据库中,同时释放该曲面片占据的内存。The end of the result surface patch: If a scanned triangle and its adjacent triangles are also scanned, and there are no other differentiated growth points, the result surface patch will end processing and a complete result surface patch will be generated, which is also the final product of the algorithm. output; in order to improve memory utilization, the newly generated surface patch can be directly saved to the external storage or database, and at the same time release the memory occupied by the surface patch.

根据本发明的另一方面,本发明为解决其技术问题,还提供了一种基于空间扫描的曲面集相互切割系统,包含:According to another aspect of the present invention, in order to solve the technical problem, the present invention also provides a system for mutual cutting of curved surface sets based on space scanning, including:

内存动态加载单元,用于对参与切割的曲面集按顺序动态加载内存;The memory dynamic loading unit is used to dynamically load the memory sequentially for the surface set participating in the cutting;

空间索引建立单元,用于建立二维动态空间索引来维护当前与扫描平面相交的三角形信息;A spatial index establishment unit, configured to establish a two-dimensional dynamic spatial index to maintain current triangle information intersecting the scanning plane;

优先级队列建立单元,用于建立优先级队列管理曲面边界中的沿扫描前进方向的上V 型顶点;The priority queue building unit is used to build the upper V-shaped vertex along the scanning forward direction in the priority queue management surface boundary;

上V型顶点处理单元,用于处理因扫描上V型顶点而引发的空间索引结构的更新与调整;The upper V-shaped vertex processing unit is used to process the update and adjustment of the spatial index structure caused by scanning the upper V-shaped vertex;

中间顶点处理单元,用于处理因扫描三角形的中间顶点而引发的空间索引结构的更新与调整;The intermediate vertex processing unit is used to process the update and adjustment of the spatial index structure caused by scanning the intermediate vertex of the triangle;

结束顶点处理单元,用于处理因扫描三角形的结束顶点而引发的空间索引结构的更新与调整;The end vertex processing unit is used to process the update and adjustment of the spatial index structure caused by scanning the end vertex of the triangle;

重新三角化处理单元,用于处理扫描完成三角形的重新三角化;A re-triangulation processing unit, configured to process the re-triangulation of the scanned triangles;

曲面片处理单元,用于处理结果曲面片的产生、生长、分支、合并与结束;The surface patch processing unit is used to process the generation, growth, branching, merging and termination of the result surface patch;

其中,所谓上V型顶点是指曲面的边界上满足下述条件的边界顶点:边界顶点的两个邻接顶点的空间排序都大于该边界顶点的空间排序,并且连接边界顶点的任意一个三角形中的任意一个点的空间排序都比该边界顶点的空间排序大;所述空间排序通过优先级队列中的顺序体现,优先级队列中的顺序是按照扫描前进方向所在维度至其它任意维度的顺序进行设计的,且为针对点的空间坐标字典序排序。Among them, the so-called upper V-shaped vertex refers to the boundary vertex on the boundary of the curved surface that satisfies the following conditions: the spatial order of the two adjacent vertices of the boundary vertex is greater than the spatial order of the boundary vertex, and any triangle connecting the boundary vertex The spatial sorting of any point is larger than the spatial sorting of the boundary vertices; the spatial sorting is reflected by the order in the priority queue, and the order in the priority queue is designed according to the order from the dimension where the scanning direction is located to any other dimension , and are sorted lexicographically for the spatial coordinates of the points.

实施本发明的基于空间扫描的曲面集相互切割实现方法及系统,具有以下有益效果:本发明提供给用户一种高效处理大量曲面相互切割的技术,能够在单次的扫描过程中完成三角形相交检测、内存调度、重新三角化、结果曲面片产生等多个环节,它可以克服两两切割计算中的多曲面共点、共线、共面及自相交等不一致问题;通过流式加载、维护与扫描平面相交的三角形、尽早产出存储完成的曲面片并释放其占用的内存(边扫描边存储边释放)等多种方法来降低计算所涉及的数据量,降低计算规模;切割过程中每一步的计算不再依赖前一步所有数据处理完毕,每步能够并行完成,特别适合高性能计算环境。Implementing the method and system for realizing mutual cutting of curved surface sets based on space scanning of the present invention has the following beneficial effects: the present invention provides users with a technology for efficiently processing a large number of curved surface mutual cutting, and can complete triangle intersection detection in a single scanning process , memory scheduling, re-triangulation, generation of result surface patches, etc., it can overcome inconsistencies such as multi-surface co-point, collinear, co-planar and self-intersection in pairwise cutting calculations; through stream loading, maintenance and Scan the triangles where the planes intersect, produce and store the completed surface as soon as possible and release the memory it occupies (scan while storing and releasing) and other methods to reduce the amount of data involved in the calculation and reduce the calculation scale; each step in the cutting process The calculation no longer depends on the completion of all data processing in the previous step, and each step can be completed in parallel, which is especially suitable for high-performance computing environments.

附图说明Description of drawings

下面将结合附图及实施例对本发明作进一步说明,附图中:The present invention will be further described below in conjunction with accompanying drawing and embodiment, in the accompanying drawing:

图1本发明的基于空间扫描方法的曲面集相互切割系统的原理框图;Fig. 1 is the functional block diagram of the mutual cutting system of curved surface sets based on the space scanning method of the present invention;

图2是本发明中曲面的示意图;Fig. 2 is the schematic diagram of curved surface in the present invention;

图3是本发明的基于空间扫描方法的曲面集流相互切割方法的流程图。Fig. 3 is a flow chart of the method for cutting current collection and mutual cutting of curved surfaces based on the space scanning method of the present invention.

具体实施方式detailed description

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。In order to have a clearer understanding of the technical features, purposes and effects of the present invention, the specific implementation manners of the present invention will now be described in detail with reference to the accompanying drawings.

如图1所示,本发明的基于空间扫描方法的曲面集相互切割系统包括曲面加载器101、上V型顶点优先级队列102、空间索引103、曲面片生长链表104和结果产生器105,其中:As shown in FIG. 1 , the surface set mutual cutting system based on the spatial scanning method of the present invention includes a surface loader 101, an upper V-shaped vertex priority queue 102, a spatial index 103, a surface patch growth list 104, and a result generator 105, wherein :

曲面加载器101,用于接收来自其它曲面建模模块或者读取外存储器中已经存在的曲面数据集合,假设已y轴方向为空间扫描方向,也是空间排序时的主序,x轴为空间排序时的第1副序,z轴为空间排序时的第2副序。空间排序对空间点按照主序-第1副序-第2 副序进行线性排序,主序维度的坐标不同则按主序排序,只有主序坐标完全一样时才按第 1副序排序;如果第1副序上的坐标也相同,则按第2副序排序;如果第2副序也相同那么是相同的坐标点。The surface loader 101 is used to receive from other surface modeling modules or read the existing surface data sets in the external memory, assuming that the y-axis direction is the spatial scanning direction, which is also the main sequence of the spatial sorting, and the x-axis is the spatial sorting The first sub-sequence when the z-axis is the second sub-sequence when the space is sorted. Spatial sorting linearly sorts the spatial points according to the main sequence-the first sub-sequence-the second sub-sequence. If the coordinates of the main sequence dimensions are different, they will be sorted according to the main sequence. Only when the main sequence coordinates are exactly the same, they will be sorted according to the first sub-order; if The coordinates on the first sub-sequence are also the same, then they are sorted according to the second sub-sequence; if the second sub-sequence is also the same, then they are the same coordinate points.

为在空间排序中避免浮点数的相等判断,需要规定数据处理精度ε,也就是空间扫描时的最小步长,空间按照该扫描步长划分成小立方体组成的立体格网,落到同一个小立方体中的三维点认为具有相同的坐标值,垂直于主序的格网面中的所有小立方体中的三维点具有相同的主序坐标。In order to avoid the equality judgment of floating-point numbers in spatial sorting, it is necessary to specify the data processing precision ε, which is the minimum step size during space scanning. The three-dimensional points in the cube are considered to have the same coordinate value, and the three-dimensional points in all the small cubes in the grid surface perpendicular to the main sequence have the same main sequence coordinates.

上述曲面加载器101对加载的曲面数据集中每个曲面顶点集中按空间排序的极小点进行空间排序,得到曲面调度顺序表L;如果输入是曲面建模模块的结果数据,或者不支持从外存储器随机读取曲面,则曲面数据集本身缓存到外存储器中;曲面加载器101按照各个曲面与空间扫描平面的相交顺序进行调度,该顺序与曲面调度顺序表L中的曲面顺序一致,因此通过判断曲面调度顺序表L中首位曲面与扫描平面的位置关系即可确定是否需要加载下一个曲面。The above-mentioned surface loader 101 spatially sorts the minimum points sorted by space in each surface vertex set in the loaded surface data set, and obtains the surface scheduling sequence table L; if the input is the result data of the surface modeling module, or does not support external The memory randomly reads the surface, and the surface data set itself is cached in the external memory; the surface loader 101 schedules according to the intersection order of each surface and the spatial scanning plane, which is consistent with the order of the surfaces in the surface scheduling sequence table L, so through Whether the next surface needs to be loaded can be determined by judging the positional relationship between the first surface in the surface scheduling sequence table L and the scanning plane.

曲面加载器101需要对每个刚加载的曲面计算边界,并输出其中的上V型顶点列表,主要曲面的边界包括内边界和外边界。设函数Ord(V)获得顶点V的空间排序,则上V型顶点满足:The surface loader 101 needs to calculate the boundary for each newly loaded surface, and output a list of upper V-shaped vertices therein, and the boundaries of the main curved surfaces include inner boundaries and outer boundaries. Assuming that the function Ord(V) obtains the spatial ordering of the vertex V, then the upper V-shaped vertex satisfies:

Ord(V)<Ord(Vprev)且Ord(V)<Ord(Vnext)且Ord(V)<Ord(Pany)Ord(V)<Ord(Vprev) and Ord(V)<Ord(V next ) and Ord(V)<Ord(P any )

Vprev为V在曲面边界上的前一点,Vnext为后一点,曲面边界上连续且排序数相同的顶点应该合并为1个;Pany为以V为顶点的三角形中任意一点。V prev is the previous point of V on the surface boundary, and V next is the next point. The vertices that are continuous and have the same sort number on the surface boundary should be merged into one; P any is any point in the triangle with V as the vertex.

关于上V顶点的含义,请参考图2,图中曲面由三角形组成,任意两个相邻三角形有一条公共边;任意一个顶点属于1到多个三角形。上V型顶点如图中的最左边的顶点6所示,当扫描面S扫描到该顶点6的位置,该顶点关联的所有三角形都在S的右方,其它顶点没有这个性质,具有这样性质的边界顶点即为上V顶点。For the meaning of the upper V vertices, please refer to Figure 2. The surface in the figure is composed of triangles, and any two adjacent triangles have a common edge; any vertex belongs to 1 or more triangles. The upper V-shaped vertex is shown as the leftmost vertex 6 in the figure. When the scanning surface S scans to the position of this vertex 6, all the triangles associated with this vertex are on the right of S. Other vertices do not have this property, but have this property The boundary vertex of is the upper V vertex.

上V型顶点优先级队列102,用于接收曲面加载器101输出的上V型顶点,这些上V型顶点仍然按照曲面加载器101中定义的空间排序顺序进行从小到大排序,队列头是空间排序最小的上V型顶点,队列尾是空间排序最大的上V型顶点,可以选用标准的优先级队列并重新定义排序函数;上V型顶点优先级队列102中元素顺序反映了空间扫描的顺序,扫描过程加载的新曲面中的上V型顶点会动态添加到该队列中的合适位置。The upper V-shaped vertex priority queue 102 is used to receive the upper V-shaped vertices output by the surface loader 101. These upper V-shaped vertices are still sorted from small to large according to the space sorting order defined in the surface loader 101. The head of the queue is space The upper V-shaped vertex with the smallest sort, the tail of the queue is the upper V-shaped vertex with the largest spatial sort, you can choose a standard priority queue and redefine the sorting function; the order of elements in the upper V-shaped vertex priority queue 102 reflects the order of space scanning , the upper V-shaped vertices in the new surface loaded by the scanning process will be dynamically added to the appropriate position in this queue.

空间索引103,用于接收上V型顶点优先级队列102的队头元素(上V型顶点)所关联的三角形,并维护和辅助查找与当前扫描平面相交的所有三角形。空间索引103中每个索引条目包括:三角形来源曲面M、三角形在扫描平面投影的最小外包矩形R、与三角形中未到达扫描平面的边邻接的三角形JComing、与扫描平面相交的边邻接的三角形JOne和 JTwo、与已通过扫描平面的边邻接的三角形集合JPass、三角形内已检测出的交线集合 SInter。The spatial index 103 is used to receive the triangle associated with the head element (upper V-shaped vertex) of the upper V-shaped vertex priority queue 102, and maintain and assist in finding all triangles intersecting with the current scanning plane. Each index entry in the spatial index 103 includes: the source surface M of the triangle, the minimum enclosing rectangle R of the projection of the triangle on the scanning plane, the triangle JComing adjacent to the edge of the triangle that does not reach the scanning plane, and the triangle JOne adjacent to the edge intersecting the scanning plane and JTwo, the triangle set JPass adjacent to the edge that has passed the scanning plane, and the detected intersection line set SInter in the triangle.

本具体实施方案中在网格索引的基础上实现空间索引103,其网格大小采用平均三角形方向包围盒最长边的2倍;每个网格维护一个与该网格相交的三角形列表,同一个索引条目信息在跨越的多个网格中共享。In this specific implementation, the spatial index 103 is realized on the basis of the grid index, and its grid size adopts twice the longest side of the average triangle direction bounding box; each grid maintains a list of triangles intersecting with the grid, and the same An index entry information is shared across multiple grids.

交线集合Sinter的构建分为两个部分:一部分是该三角形加入空间索引103时,通过查询与其相交的其它三角形并计算交线获得;另一部分是后续的三角形加入空间索引103 时,因与该三角形相交而更新进来的交线。前一部分的获得的交线也会更新到各相交三角形的交线集合Sinter中。The construction of the intersection line set Sinter is divided into two parts: one part is that when the triangle is added to the spatial index 103, it is obtained by querying other triangles that intersect with it and calculating the intersection line; the other part is when the subsequent triangle is added to the spatial index 103, due to the Triangles intersect to update the incoming intersection line. The intersection line obtained in the previous part will also be updated to the intersection line set Sinter of each intersecting triangle.

曲面片生长链表104,其每个节点代表一个曲面片生长点,用于接收空间索引103中刚完成扫描的三角形,并通过该三角形的JPass集合完成与该链表相关元素的链接,表现为新构造出的曲面片的生长;通过该三角形中JOne和JTwo信息可以追溯到与其另外两个边邻接的三角形,并更新其JPass以及JOne和JTwo其中之一;如果上述邻接三角形也完成了扫描可以合并到一起再添加到曲面片生长链表104中。The surface patch growth linked list 104, each node of which represents a surface patch growth point, is used to receive the triangle that has just been scanned in the spatial index 103, and complete the link with the related elements of the linked list through the JPass set of the triangle, which is represented as a new structure The growth of the surface patch; through the JOne and JTwo information in the triangle, it can be traced back to the triangle adjacent to its other two sides, and its JPass and one of JOne and JTwo are updated; if the above-mentioned adjacent triangle has also completed the scan, it can be merged into Add them to the surface patch growth list 104 together.

如果新添加到曲面片生长链表104中的三角形的JOne和JTwo所关联的三角形如果仍在空间索引103中,那么曲面片生长链表104要增加两个节点,其中一个替换JPass节点,分别描述两个边所对应的生长点,表现为链表104的分支;如果JOne和JTwo不关联任何三角形,那么需要从链表104中摘除原来描述JPass的节点,表现为链表合并;如果某个曲面片生长链表104节点为空,代表该曲面片处理结束,通过最后一个删除的节点追溯其所有组成三角形,作为曲面片生长链表104的输出。If the triangles associated with JOne and JTwo of the triangles newly added to the surface patch growth list 104 are still in the spatial index 103, then the surface patch growth list 104 will add two nodes, one of which replaces the JPass node, describing two nodes respectively. The growth point corresponding to the edge is shown as a branch of the linked list 104; if JOne and JTwo are not associated with any triangle, then the node that originally described JPass needs to be removed from the linked list 104, which is shown as a linked list merge; if a surface patch grows linked list 104 nodes If it is empty, it means that the processing of the surface patch is completed, and all its constituent triangles are traced through the last deleted node, as the output of the surface patch growth list 104 .

结果产生器105,接收曲面片生长链表104输出的三角形集合,形成适合存储的(顶点集,三角形集)数据组织模型,其中三角形集中的每个三角形通过其顶点在顶点集中的索引号描述;结果产生器105还负责回调产出函数,做进一步的处理或数据保存。The result generator 105 receives the triangle set output by the surface patch growth linked list 104, and forms a (vertex set, triangle set) data organization model suitable for storage, wherein each triangle in the triangle set is described by the index number of its vertex in the vertex set; the result The generator 105 is also responsible for calling back the output function for further processing or data storage.

本发明的基于空间扫描的曲面集相互切割实现系统中的各个组成部件前后串联在一起,前一个部件的输出是后一个部件的输入,且每个部件可以在接收新的输入的同时产生输出,而无需等到所有的数据输入完毕,因此每个部件可以并行工作。The mutual cutting of curved surface sets based on space scanning in the present invention realizes that each component in the system is connected in series, the output of the previous component is the input of the latter component, and each component can generate output while receiving new input, Instead of waiting until all the data is entered, each component can work in parallel.

如图3所示,本发明的基于空间扫描方法的曲面集流相互切割方法包括以下步骤:As shown in Fig. 3, the surface-collecting mutual cutting method based on the space scanning method of the present invention comprises the following steps:

步骤201:计算各曲面顶点集中空间排序极小点;该步骤由曲面加载器101完成。Step 201 : Calculating the minimum points of spatial sorting in each surface vertex set; this step is completed by the surface loader 101 .

步骤202:对上一步极小点集合进行空间排序;该步骤由曲面加载器101完成。Step 202 : Spatially sort the set of minimum points in the previous step; this step is completed by the surface loader 101 .

步骤203:扫描平面前移,移动到曲面调度顺序表L首元素和上V型顶点优先级队列102队头元素中的空间排序较小点确定的平面;该步骤由主控程序完成。Step 203: The scanning plane is moved forward to the plane determined by the first element L of the surface scheduling sequence table and the smaller point in the spatial order of the top element of the upper V-shaped vertex priority queue 102; this step is completed by the main control program.

步骤204:判断扫描平面是否扫过曲面调度顺序表L首元素;Step 204: judging whether the scanning plane has scanned the first L element of the surface scheduling sequence table;

步骤205:加载L首元素对应的曲面,计算其所有的上V型顶点,插入到优先级队列102中;该步骤由曲面加载器101完成。Step 205: Load the surface corresponding to the first L elements, calculate all its upper V-shaped vertices, and insert them into the priority queue 102; this step is completed by the surface loader 101.

步骤206:判断优先级队列102队头元素是否是上V型顶点;Step 206: judging whether the head element of the priority queue 102 is an upper V-shaped vertex;

步骤207:处理优先级队列102队头元素对应的上V型顶点,把包含该顶点的所有三角形加入到空间索引103中;该步骤由主控函数完成。Step 207: Process the upper V-shaped vertex corresponding to the head element of the priority queue 102, and add all triangles containing the vertex to the spatial index 103; this step is completed by the main control function.

步骤208:判断优先级队列102队头元素是否同时也是某些三角形的中间顶点;Step 208: judging whether the head element of the priority queue 102 is also an intermediate vertex of some triangles;

步骤209:处理以优先级队列102队头元素对应顶点为中间顶点的三角形,刚完成扫描的一边建立共享该边三角形间的邻接拓扑关系;Step 209: process the triangle with the corresponding vertex of the head element of the priority queue 102 as the middle vertex, and establish an adjacency topology relationship between the triangles that share the edge on the side that has just finished scanning;

步骤210:判断优先级队列102队头元素是否同时也是某些三角形的结束顶点;如果否,那么一定还有未处理完的三角形,必然要继续扫描;Step 210: determine whether the head element of the priority queue 102 is also the end vertex of some triangles; if not, there must be unprocessed triangles, and the scan must be continued;

步骤211:处理以优先级队列102队头元素对应顶点为结束顶点的三角形,刚完成扫描的两条边建立共享该边三角形间的邻接拓扑关系;Step 211: process the triangle with the corresponding vertex of the head element of the priority queue 102 as the end vertex, and establish the adjacency topology relationship among the triangles sharing the edge for the two edges that have just been scanned;

步骤212:对完全通过扫描平面的三角形重新三角化,此时该三角形中已包含与该三角形相交的其它三角形之间的交线;这些交线及原来的边作为约束进行约束三角化;Step 212: Re-triangulate the triangle that completely passes through the scanning plane. At this time, the triangle already contains the intersection lines between other triangles that intersect with this triangle; these intersection lines and the original edges are used as constraints to perform constrained triangulation;

步骤213:维护重新三角化之后的三角形间的拓扑邻接关系,这些关系的建立在扫描方向上表现为面片的产生(扫描反方向没有关联三角形的顶点)、生长(全围绕的顶点)、分支(扫描方向有破缺的顶点)、合并(扫描反方向有破缺的顶点)、结束(扫描方向没有关联三角形的顶点);该步骤由曲面片生长链表104完成。Step 213: Maintain the topological adjacency relationship between the triangles after re-triangulation. The establishment of these relationships is represented by the generation of patches in the scanning direction (the vertices with no associated triangles in the opposite direction of scanning), growth (full surrounding vertices), branching (the vertex with a defect in the scanning direction), merge (the vertex with a defect in the opposite direction of the scan), and end (the vertex with no associated triangle in the scanning direction); this step is completed by the surface patch growth list 104.

步骤214:处理所有新加入到空间索引101中的三角形与其它已经在101中的三角形间的相交关系;新产生的三角形包括上V型顶点引入的部分、中间顶点和结束顶点通过拓扑关系引入的部分;该步骤由主控函数利用空间索引103完成。Step 214: Process the intersection relationship between all triangles newly added to the spatial index 101 and other triangles already in 101; the newly generated triangles include the part introduced by the upper V-shaped vertex, the intermediate vertex and the end vertex introduced by the topological relationship part; this step is completed by the main control function using the spatial index 103.

步骤215:产生结果曲面,曲面片生长链表104中完全闭合的曲面片转为为完整的曲面表示形式;该步骤由结果产生器105完成。Step 215 : Generate a result surface, and convert the completely closed surface patch in the surface patch growth list 104 into a complete surface representation; this step is completed by the result generator 105 .

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。Embodiments of the present invention have been described above in conjunction with the accompanying drawings, but the present invention is not limited to the above-mentioned specific implementations, and the above-mentioned specific implementations are only illustrative, rather than restrictive, and those of ordinary skill in the art will Under the enlightenment of the present invention, many forms can also be made without departing from the gist of the present invention and the protection scope of the claims, and these all belong to the protection of the present invention.

Claims (10)

1. a kind of mutual cutting method of curved surface collection based on spacescan, it is characterised in that comprise the following steps:
Curved surface collection dynamic load internal memory in order to participating in cutting;
Two-dimentional dynamically spatial-data index is established to safeguard the triangle information representing currently intersected with the plane of scanning motion;
The upper V-type summit for the edge scanning direction of advance established in priority query's management surface boundary;
Handle the renewal and adjustment of the space index structure triggered because scanning upper V-type summit;
Handle the renewal and adjustment of the space index structure triggered by the intermediate vertex for scanning triangle;
Handle the renewal and adjustment of the space index structure triggered by the end vertex for scanning triangle;
The trigonometric ratio again of triangle is completed in processing scanning;
Generation, growth, branch, merging and the end of result patch;
Wherein, so-called upper V-type summit refers to the border vertices for meeting following conditions on the border of curved surface:Two neighbours of border vertices The spatial classification for connecing summit is both greater than the spatial classification of the border vertices, and in any one triangle on fillet summit Any one point spatial classification it is all bigger than the spatial classification of the border vertices;The spatial classification passes through in priority query Order embody, the order in priority query is entered according to the order of dimension where scanning direction of advance to other any dimensions Row design, and to be sorted for the space coordinates lexcographical order of point.
2. the mutual cutting method of curved surface collection according to claim 1, it is characterised in that to curved surface collection dynamic load in order Internal memory is carried out in the following manner:
The space occupied in each dimension is calculated the curved surface for participating in calculating respectively, and is arranged according to the maximum dimension that extends Sequence, the curved surface is only just dispatched when spacescan plane starts to intersect with some curved surface to internal memory, and pressed in scanning process Each curved surface is sequentially loaded according to the sequence.
3. the mutual cutting method of curved surface collection according to claim 1, it is characterised in that for safeguarding currently and the plane of scanning motion The two-dimentional dynamically spatial-data index structure of intersecting triangle information representing is R tree space indexes, R+ tree space indexes, R* tree space indexes And any one in Quadtree Spatial Index.
4. the mutual cutting method of curved surface collection according to claim 1, it is characterised in that tieed up in two-dimentional dynamically spatial-data index The triangle information representing of shield includes:It is adjacent triangle corresponding to the source curved surface of the triangle, the side do not intersected with the plane of scanning motion, same Adjoining triangle in spatial index, completely by adjacent triangle sets corresponding to the side of the plane of scanning motion, triangle The intersection set detected.
5. the mutual cutting method of curved surface collection according to claim 4, it is characterised in that processing because scanning upper V-type summit and The renewal and adjustment of the space index structure of initiation, are specifically included:
The curved surface and topology situation associated according to V-type summit on this, obtains all triangles for including V-type summit on this, to every Individual triangle sets source curved surface, and first kind adjoining triangle is arranged to the relative triangle in the side do not intersected with the plane of scanning motion, Second class adjoining triangle is arranged to abut three with spatial index and with the triangle of the triangle Border, the 3rd class It is angular to be arranged to and completely by the relative triangle in the side of the plane of scanning motion, the intersection set detected in triangle is set Intersection acquired results are calculated for the triangle in each triangle and spatial index;
Triangle filters unrelated triangle by spatial index in itself during calculating intersection;
Triangle calculates intersection process and specifically included:By the way that triangle is converted into parametric equation, analysis meets two three simultaneously The solution of angular parametric equation and its border, which obtain, to intersect at 1 point, intersects at 1 line segment, intersect at a triangle surface, be intersecting In a quad patch, the situation for intersecting at a pentagon dough sheet, intersecting at a hexagon dough sheet ...;
The overlapping public patch of multiple curved surfaces is separately as a result patch;
The calculating of above-mentioned intersection can also update triangle information representing in space index structure simultaneously, if these triangles with New triangle to be added intersects.
6. the mutual cutting method of curved surface collection according to claim 1, it is characterised in that processing is because scanning some triangle Intermediate vertex and the renewal and adjustment of space index structure triggered, can be refined as:
The untreated triangle of intermediate vertex comprising some triangle and the processing method on upper V-type summit carry out processing phase Together, these untreated triangles are added into space index structure;
The structure of syntople also needs to consider to include the processed of the summit between triangle in triangle information representing renewal process Triangle:Triangle letter where the side for having completed scanning of the renewal using the intermediate vertex of some triangle as end points Breath, scanning side is completed in the triangle addition being adjacent and correspondingly abutted in triangle sets.
7. the mutual cutting method of curved surface collection according to claim 1, it is characterised in that processing is because scanning some triangle End vertex and the renewal and adjustment of space index structure triggered, can be refined as:
The triangle for completing scanning is removed out space index structure;
With the triangle of these removals adjacent and triangle in spatial index update its completed to scan side it is corresponding adjacent Connect triangle information representing.
8. the mutual cutting method of curved surface collection according to claim 1, it is characterised in that triangle is completed in the processing scanning Trigonometric ratio again carry out in the following manner:
Intersection and triangle border described in the triangle information representing, which are used as, to be constrained into row constraint trigonometric ratio;
To the former triangle of above-mentioned completion scanning, if its some adjoining triangles still in spatial index, trigonometric ratio structure The new triangle renewal built out has been completed scanning side to these adjoining triangles and correspondingly abutted in triangle sets.
9. the mutual cutting method of curved surface collection according to claim 1, it is characterised in that the generation of result patch, Growth, branch, merging and end, it can be refined as:
As a result patch produces:If triangle caused by new without and completed after the triangle and weight trigonometric ratio that scan three It is angular to have topological adjacency, then to indicate the generation of a new patch;
As a result patch grows:To the former triangle of above-mentioned completion scanning, also complete to scan if it abuts triangle, then Since with the adjoining triangle public vertex, all summits for being connected and having completed scanning add the vertex set of result patch Close, all triangles being made up of above-mentioned summit add result patch triangle sets;
As a result patch branch:If result patch is broken as multiple not connected components along the plane of scanning motion on growth border, Then need to handle branch, the multiple not connected components differentiated are cascaded by chained list;Each connected component can be with A referred to as growing point;
As a result patch merges:Each result patch grown safeguards alone its vertex set and triangle sets, Such as run into makes two or three result patch form an entirety of connection because some triangle scan is completed, then needs to close And the vertex set and triangle sets of two or three result patch, update the vertex index in triangle sets;
As a result patch terminates:If some completes the triangle of scanning, its adjoining triangle also all completes scanning, and it does not have The growing point of other differentiation, then the result dough sheet terminate to handle, produce a complete result patch, the result newly produced Patch can be saved directly in external memory or database, while discharges the internal memory that the patch occupies.
10. a kind of mutual diced system of curved surface collection based on spacescan, it is characterised in that include:
Internal memory dynamic load unit, for the curved surface collection dynamic load internal memory in order to participating in cutting;
Spatial index establishes unit, and the triangle currently intersected with the plane of scanning motion is safeguarded for establishing two-dimentional dynamically spatial-data index Information;
Priority query establishes unit, for establishing the upper V of the edge scanning direction of advance in priority query's management surface boundary Type summit;
Upper V-type vertex processing unit, for handling renewal and the tune of the space index structure triggered because scanning upper V-type summit It is whole;
Intermediate vertex processing unit, for handling the renewal of the space index structure triggered by the intermediate vertex for scanning triangle With adjustment;
End vertex processing unit, for handling the renewal of the space index structure triggered by the end vertex for scanning triangle With adjustment;
Again trigonometric ratio processing unit, the trigonometric ratio again for completing triangle is scanned for handling;
Patch processing unit, for the generation of result patch, growth, branch, merging and end;
Wherein, so-called upper V-type summit refers to the border vertices for meeting following conditions on the border of curved surface:Two neighbours of border vertices The spatial classification for connecing summit is both greater than the spatial classification of the border vertices, and in any one triangle on fillet summit Any one point spatial classification it is all bigger than the spatial classification of the border vertices;The spatial classification passes through in priority query Order embody, the order in priority query is entered according to the order of dimension where scanning direction of advance to other any dimensions Row design, and to be sorted for the space coordinates lexcographical order of point.
CN201710835245.XA 2017-09-15 2017-09-15 Method and system for mutual cutting of surface sets based on space scanning Expired - Fee Related CN107633555B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710835245.XA CN107633555B (en) 2017-09-15 2017-09-15 Method and system for mutual cutting of surface sets based on space scanning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710835245.XA CN107633555B (en) 2017-09-15 2017-09-15 Method and system for mutual cutting of surface sets based on space scanning

Publications (2)

Publication Number Publication Date
CN107633555A true CN107633555A (en) 2018-01-26
CN107633555B CN107633555B (en) 2019-12-17

Family

ID=61102403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710835245.XA Expired - Fee Related CN107633555B (en) 2017-09-15 2017-09-15 Method and system for mutual cutting of surface sets based on space scanning

Country Status (1)

Country Link
CN (1) CN107633555B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113642062A (en) * 2021-10-18 2021-11-12 广州中望龙腾软件股份有限公司 Topological geometric data representation method of three-dimensional model, terminal and storage medium
CN114589824A (en) * 2021-11-01 2022-06-07 青岛高测科技股份有限公司 Cutting device of silicon rod cutting system and silicon rod cutting system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1967596A (en) * 2006-08-14 2007-05-23 东南大学 Triangulation construction method of three-dimensional scattered point set in three-dimensional scanning system
CN101807308A (en) * 2009-02-12 2010-08-18 富士通株式会社 Three-dimensional model segmenting device and method
CN102930597A (en) * 2012-09-28 2013-02-13 中国科学院自动化研究所 Processing method for three-dimensional model of external memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1967596A (en) * 2006-08-14 2007-05-23 东南大学 Triangulation construction method of three-dimensional scattered point set in three-dimensional scanning system
CN101807308A (en) * 2009-02-12 2010-08-18 富士通株式会社 Three-dimensional model segmenting device and method
CN102930597A (en) * 2012-09-28 2013-02-13 中国科学院自动化研究所 Processing method for three-dimensional model of external memory

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张争艳等: "快速成型中粗糙STL模型细分算法", 《机械工程学报》 *
方军等: "顾及几何特征的规则激光点云分割方法", 《测绘通报》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113642062A (en) * 2021-10-18 2021-11-12 广州中望龙腾软件股份有限公司 Topological geometric data representation method of three-dimensional model, terminal and storage medium
CN113642062B (en) * 2021-10-18 2022-03-15 广州中望龙腾软件股份有限公司 Topological geometric data representation method of three-dimensional model, terminal and storage medium
CN114589824A (en) * 2021-11-01 2022-06-07 青岛高测科技股份有限公司 Cutting device of silicon rod cutting system and silicon rod cutting system
CN114589824B (en) * 2021-11-01 2024-02-02 青岛高测科技股份有限公司 Cutting device of silicon rod cutting system and silicon rod cutting system

Also Published As

Publication number Publication date
CN107633555B (en) 2019-12-17

Similar Documents

Publication Publication Date Title
CN102682103B (en) Three-dimensional space index method aiming at massive laser radar point cloud models
CN100468418C (en) Method and program for generating volume data from data represented by boundaries
CN102306396B (en) Three-dimensional entity model surface finite element mesh automatic generation method
CN110033519B (en) Three-dimensional modeling method, device, system and storage medium based on implicit function
CN100418108C (en) Graphics Reconstruction Method in 3D Scanning System
WO2022121525A1 (en) Method and device for rendering three-dimensional scene data, storage medium, and electronic device
CN107016725A (en) A kind of vegetation three-dimensional live modeling method for taking LiDAR point cloud data distribution difference into account
CN103970949B (en) A kind of rapid shaping intermediate cam patch model by side layered approach
CN101510228B (en) Nonuniform simplifying method for STL model of products
CN102629391A (en) Three-dimensional space structure graph cutting and slicing method based on digital graph medium
CN114491824B (en) Method, device and storage medium for automatic division of finite element mesh
CN105160706A (en) Constraint terrain parallel construction method under single-computer multi-core environment
CN101303774A (en) A Quadrilateral Finite Element Mesh Generation Method Based on 3D Solid Model
CN109003333A (en) Interactive gridding model cutting method, device and modelling apparatus based on texture
CN102426710A (en) Surface area heuristic construction KD (K-dimension) tree parallel method on graphics processing unit
CN108171793A (en) A kind of method for detecting lamination area triangle gridding
CN102393826A (en) Multi-core parallel processing based flexible scene continuous collision detection method
CN107633555B (en) Method and system for mutual cutting of surface sets based on space scanning
CN107037738B (en) Material Removal Method Based on STL Model in Geometric Simulation of NC Machining
CN104183021A (en) Method for simplifying point cloud data by utilizing movable space
CN104574517A (en) Processing method and device for boundary surface grid cell of three-dimensional model
CN112712581B (en) A ray tracing acceleration method
CN117609524A (en) Visual analysis method, device and equipment based on three-dimensional R-tree spatial index
CN114742852B (en) Efficient free-form surface layering method based on grid intersection and application thereof
CN112819108B (en) Slice fusion method and system of multi-source heterogeneous model and storage medium

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20191217

Termination date: 20200915