[go: up one dir, main page]

CN102831241A - Dynamic index multi-target self-adaptive construction method for product reverse engineering data - Google Patents

Dynamic index multi-target self-adaptive construction method for product reverse engineering data Download PDF

Info

Publication number
CN102831241A
CN102831241A CN2012103325379A CN201210332537A CN102831241A CN 102831241 A CN102831241 A CN 102831241A CN 2012103325379 A CN2012103325379 A CN 2012103325379A CN 201210332537 A CN201210332537 A CN 201210332537A CN 102831241 A CN102831241 A CN 102831241A
Authority
CN
China
Prior art keywords
node
nodes
index
index structure
bounding box
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.)
Pending
Application number
CN2012103325379A
Other languages
Chinese (zh)
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.)
Shandong University of Technology
Original Assignee
Shandong University of Technology
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 Shandong University of Technology filed Critical Shandong University of Technology
Priority to CN2012103325379A priority Critical patent/CN102831241A/en
Publication of CN102831241A publication Critical patent/CN102831241A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种产品逆向工程数据动态索引多目标自适应构建方法,其特征在于:首先读取产品逆向工程数据文件,建立各空间对象的轴向包围盒,依据轴向包围盒的中心及外接球半径建立各空间对象对应的数据结点,并存入数据结点序列,通过选择插入位置、强制重新插入、结点分裂、调整结点轴向包围盒等步骤将序列中各数据结点插入到索引结构中,将轴向包围盒体积较大的数据结点重新插入到索引结构中,进一步优化索引结构,实现产品逆向工程数据动态索引结构的建立。本发明可建立各种复杂产品逆向工程数据的空间索引结构,具有参数依赖性低、稳定性强、查询效率高的特点。

Figure 201210332537

The present invention provides a method for constructing multi-target self-adaptive dynamic indexes of product reverse engineering data, which is characterized in that: firstly, the product reverse engineering data file is read, and the axial bounding boxes of each space object are established, and the center and circumscribed points of the axial bounding boxes are used to The radius of the ball establishes the data nodes corresponding to each spatial object and stores them in the data node sequence. Insert each data node in the sequence by selecting the insertion position, forcing reinsertion, node splitting, and adjusting the axial bounding box of the node. Into the index structure, re-insert the data nodes with larger axial bounding boxes into the index structure, further optimize the index structure, and realize the establishment of a dynamic index structure for product reverse engineering data. The invention can establish the spatial index structure of reverse engineering data of various complex products, and has the characteristics of low parameter dependence, strong stability and high query efficiency.

Figure 201210332537

Description

产品逆向工程数据动态索引多目标自适应构建方法Multi-objective self-adaptive construction method of product reverse engineering data dynamic index

技术领域 technical field

本发明提供一种产品逆向工程数据动态索引多目标自适应构建方法,属于产品逆向工程技术领域。 The invention provides a multi-object self-adaptive construction method for product reverse engineering data dynamic index, which belongs to the technical field of product reverse engineering.

背景技术 Background technique

在产品逆向工程技术领域,所处理的原始数据通常是来自实物表面采样而获得的散乱点云、多边形网格模型等数据格式,基于该类原始数据进行曲面重建生成分片连续曲面是产品逆向工程的核心技术。由于散乱点云、多边形网格以及分片连续曲面这些数据格式均表现为大规模甚至海量空间几何对象的复合结构,为这些数据类型构建一种通用且高效的索引技术,对于提高产品逆向工程数据处理效率具有重要意义。 In the field of product reverse engineering technology, the raw data processed are usually data formats such as scattered point clouds and polygonal mesh models obtained by sampling the surface of the physical object. Surface reconstruction based on such raw data to generate piecewise continuous surfaces is a product reverse engineering. core technology. Since data formats such as scattered point clouds, polygonal meshes, and sliced continuous surfaces all represent complex structures of large-scale or even massive spatial geometric objects, building a general and efficient indexing technology for these data types is crucial for improving product reverse engineering data. Processing efficiency is of great importance.

对现有文献检索发现,现有产品逆向工程数据的索引技术通常仅适用于某种特定的数据类型。在散乱点云处理中,空间八叉树与K-D树分别是应用最为广泛的静态索引与动态索引。周海在其博士学位论文“细分曲面造型技术研究”(南京航空航天大学,2005)中采用空间八叉树作为三角网格模型的空间索引结构,依据三角面片包围盒中心的位置将三角面片插入到空间八叉树中,建立三角网格模型索引结构,组织三角面片间的近邻关系,该方法以三角面片包围盒中心表示三角面片,不能准确反映三角面片所在位置及所占空间区域大小,准确性差,降低了索引结构的质量及基于该结构的空间查询效率。王占礼在其博士学位论文“面向虚拟制造的数控加工仿真技术研究”(吉林大学,2007)中采用一个大包围盒包围三角网格模型,将该包围盒作为根索引结点,然后将其中的三角面片分割成两部分,每一部分用一个包围盒包围,再对每一个包围盒递推进行分割,直到一个包围盒只包含一个三角面片,建立三角网格模型的非平衡二叉树索引结构,该结构提高了三角网格模型的空间查询效率,但由于该结构为非平衡二叉树,故只适用于分布较为均匀的三角网格模型,当三角网格模型分布疏密不均时,容易出现树的某一分支层数过多现象,导致数据结构急剧恶化,严重降低索引查询效率。孙殿柱等人在其学术论文“基于四维聚类的R*-树结点分裂算法”(机械工程学报,2009,45(10):180-184)中对R*-树进行了改进,使之可统一索引散乱点云、多边形网格等数据类型,继而在其学术论文“三角Bézier曲面快速求交算法”(机械工程学报,2011,47(3):89-94)中将改进的R*-树作为分片连续曲面的索引结构以提高相交三角Bézier曲面片查询效率,但是由于改进的R-树在索引结点分裂过程中采用了k-均值聚类算法,需要用户交互设定聚类簇数,聚类簇数的不同会导致差别很大的索引结点分裂结果,导致索引结构与性能不稳定,此外k-均值聚类算法是一种局部搜索算法,对初始值过于敏感,采用爬山法迭代搜索最优的索引结点分裂结果,容易陷入局部极值,难以获得全局最优的索引结点分裂结果,导致未能充分发挥R*-树的优势。 A search of existing literature reveals that the indexing technology for existing product reverse engineering data is usually only applicable to a certain type of data. In the processing of scattered point clouds, spatial octree and K-D tree are the most widely used static index and dynamic index respectively. Zhou Hai used the spatial octree as the spatial index structure of the triangular mesh model in his doctoral dissertation "Research on Subdivision Surface Modeling Technology" (Nanjing University of Aeronautics and Astronautics, 2005). The facets are inserted into the spatial octree, the index structure of the triangular mesh model is established, and the neighbor relationship between the triangular faces is organized. This method uses the center of the bounding box of the triangular facets to represent the triangular facets, which cannot accurately reflect the location and location of the triangular facets. The size of the occupied space area and poor accuracy reduce the quality of the index structure and the efficiency of spatial query based on the structure. Wang Zhanli used a large bounding box to surround the triangular mesh model in his doctoral dissertation "Research on Simulation Technology of NC Machining Oriented to Virtual Manufacturing" (Jilin University, 2007), and used the bounding box as the root index node, and then the triangle mesh model The patch is divided into two parts, each part is surrounded by a bounding box, and each bounding box is divided recursively until a bounding box only contains one triangle patch, and an unbalanced binary tree index structure of the triangular mesh model is established. The structure improves the spatial query efficiency of the triangular mesh model, but because the structure is an unbalanced binary tree, it is only suitable for the triangular mesh model with a relatively uniform distribution. When the distribution of the triangular mesh model is uneven, the tree is prone to Too many layers of a certain branch lead to a sharp deterioration of the data structure and seriously reduce the efficiency of index query. Sun Dianzhu and others improved the R*-tree in their academic paper "R*-tree node splitting algorithm based on four-dimensional clustering" (Journal of Mechanical Engineering, 2009, 45 (10): 180-184), making it It can uniformly index data types such as scattered point clouds and polygonal grids, and then the improved R* -The tree is used as the index structure of the sliced continuous surface to improve the query efficiency of intersecting triangular Bézier surface slices, but since the improved R-tree uses the k-means clustering algorithm in the process of splitting the index nodes, the user needs to interact to set the clustering The number of clusters and the number of clusters will lead to very different index node split results, resulting in unstable index structure and performance. In addition, the k-means clustering algorithm is a local search algorithm that is too sensitive to the initial value. The hill-climbing method iteratively searches for the optimal index node splitting result, which is easy to fall into the local extremum, and it is difficult to obtain the globally optimal index node splitting result, which leads to the failure to give full play to the advantages of the R*-tree.

综上所述,目前的产品逆向工程数据的动态索引结构已经具备了一定的通用性,可基于统一的索引机制处理各种类型的空间几何对象的复合结构,但是依然存在数据适应性较差、索引性能较低并且系统资源消耗较高等问题,为产品逆向工程数据构建稳定、高效的索引机制已成为本领域技术人员亟待解决的技术问题。 To sum up, the current dynamic index structure of product reverse engineering data has a certain degree of versatility, and can handle various types of composite structures of spatial geometric objects based on a unified index mechanism, but there are still poor data adaptability, Due to problems such as low indexing performance and high system resource consumption, building a stable and efficient indexing mechanism for product reverse engineering data has become an urgent technical problem to be solved by those skilled in the art.

发明内容 Contents of the invention

为克服现有产品逆向工程数据的索引机制的不足,本发明目的在于提供一种产品逆向工程数据动态索引多目标自适应构建方法,使之能索引各种类型的逆向工程数据,具有稳定性强、数据查询效率高的特点,技术方案如下: In order to overcome the deficiencies in the index mechanism of existing product reverse engineering data, the purpose of the present invention is to provide a dynamic index multi-objective self-adaptive construction method for product reverse engineering data, so that it can index various types of reverse engineering data, and has strong stability , The characteristics of high data query efficiency, the technical solution is as follows:

 一种产品逆向工程数据动态索引多目标自适应构建方法,其特征在于包含以下步骤:一、读取产品逆向工程数据,建立各空间对象的轴向包围盒,依据轴向包围盒的中心以及外接球半径建立其对应的数据结点,并存入数据结点序列;二、将数据结点插入到索引结构中,结点插入到索引结构的具体步骤是:1)为结点选择插入位置;2)将结点插入到步骤1)中得到的位置;3)令结点插入到结点node下,判断结点node的子结点数是否大于结点的最大子结点数,如果大于则对结点node进行溢出处理,若结点node为非根索引结点且在插入一个空间对象过程中该结点所在层第一次进行溢出处理,则在结点node中有选择地取出一部分结点,将它们重新插入索引结构的该层中,否则进行结点分裂;4)调整各结点的轴向包围盒;三、将体积过大的轴向包围盒重新插入到索引结构中,实现索引结构的优化;四、基于产品逆向工程数据动态索引结构,实现散乱点云、多边形网格以及分片连续曲面的拓扑近邻查询。 A kind of product reverse engineering data dynamic index multi-target self-adaptive construction method, it is characterized in that comprising the following steps: 1, read product reverse engineering data, establish the axial bounding box of each space object, according to the center of axial bounding box and circumscribed The radius of the ball establishes its corresponding data node and stores it in the data node sequence; 2. Insert the data node into the index structure. The specific steps for inserting the node into the index structure are: 1) Select the insertion position for the node; 2) Insert the node into the position obtained in step 1); 3) Insert the node under the node node, and judge whether the number of child nodes of the node node is greater than the maximum number of child nodes of the node, and if it is greater than the maximum number of child nodes of the node. The point node performs overflow processing. If the node node is a non-root index node and the layer where the node is located is overflow processing for the first time during the process of inserting a spatial object, then a part of nodes is selectively taken out from the node node. Reinsert them into the layer of the index structure, otherwise split the node; 4) Adjust the axial bounding box of each node; 3. Reinsert the oversized axial bounding box into the index structure to realize the index structure 4. Based on the dynamic index structure of product reverse engineering data, realize the topological nearest neighbor query of scattered point cloud, polygonal grid and sliced continuous surface.

为实现发明目的,所述的产品逆向工程数据动态索引多目标自适应构建方法,在步骤一中,读取逆向工程数据文件,若空间对象为散乱点则以该点为中心建立边长为单位1且各条棱均平行于坐标轴的轴向包围盒,若空间对象为多边形网格则建立恰好包围网格顶点的轴向包围盒,若空间对象为分片曲面片则建立恰好包围其控制顶点的轴向包围盒,建立各空间对象对应的数据结点,并将其存入数据结点序列,数据结点包含空间对象的信息以及对应的轴向包围盒信息。 In order to achieve the purpose of the invention, the multi-objective self-adaptive construction method of the dynamic index of product reverse engineering data, in step 1, read the reverse engineering data file, if the spatial object is a scattered point, then take this point as the center to establish the side length as the unit 1 and each edge is parallel to the axial bounding box of the coordinate axis. If the spatial object is a polygonal mesh, then establish an axial bounding box that just surrounds the vertices of the mesh. For the axial bounding box of the vertices, establish the data nodes corresponding to each spatial object and store them in the data node sequence. The data nodes include the information of the spatial object and the corresponding axial bounding box information.

为实现发明目的,所述的产品逆向工程数据动态索引多目标自适应构建方法,在步骤二中,将数据结点插入到索引结构,方法是:结点包括索引结点和数据结点,索引结点包含根索引结点、内部索引结点和叶索引结点,索引结构的最上层结点为根索引结点、最下层结点为叶索引结点、其余结点为内部索引结点,定义                                                

Figure 775570DEST_PATH_IMAGE001
为结点的最大子结点数(
Figure 989251DEST_PATH_IMAGE001
为大于2的整数)、
Figure 469911DEST_PATH_IMAGE002
为结点最小子结点数(
Figure 762352DEST_PATH_IMAGE002
为小于或等于/2的整数),除根索引结点外,每个索引结点的子结点数均小于等于
Figure 251419DEST_PATH_IMAGE001
且大于等于
Figure 902980DEST_PATH_IMAGE002
;索引结构中每个结点的轴向包围盒恰好包围该结点的所有子结点。 In order to achieve the purpose of the invention, the multi-objective self-adaptive construction method of the product reverse engineering data dynamic index, in step 2, inserts the data node into the index structure, the method is: the node includes the index node and the data node, the index Nodes include root index nodes, internal index nodes and leaf index nodes. The topmost node of the index structure is the root index node, the bottommost node is the leaf index node, and the rest of the nodes are internal index nodes. definition
Figure 775570DEST_PATH_IMAGE001
is the maximum number of child nodes of a node (
Figure 989251DEST_PATH_IMAGE001
is an integer greater than 2),
Figure 469911DEST_PATH_IMAGE002
is the minimum number of sub-nodes of the node (
Figure 762352DEST_PATH_IMAGE002
is less than or equal to /2 integer), except for the root index node, the number of child nodes of each index node is less than or equal to
Figure 251419DEST_PATH_IMAGE001
and greater than or equal to
Figure 902980DEST_PATH_IMAGE002
; The axial bounding box of each node in the index structure exactly surrounds all child nodes of the node.

为实现发明目的,所述的产品逆向工程数据动态索引多目标自适应构建方法,在步骤二中为结点选择插入位置的步骤具体是:1)令当前结点为current_node,如果索引结构为空则返回空,否则令current_node为索引结构根索引结点;2)令结点将要插入的层数为level,若结点为数据结点则level为索引结构的叶子层,其他类型结点的插入是由强制重新插入引起的, level为其重新插入前所在层数;3) 计算current_node的每个子结点与待插入结点的轴向包围盒外接球重叠度,选择重叠度最小的作为current_node;4)重复步骤2)直到索引结构的level层为止。 In order to achieve the purpose of the invention, the step of selecting the insertion position for the node in step 2 of the multi-objective self-adaptive construction method for the dynamic index of product reverse engineering data is as follows: 1) Let the current node be current_node, if the index structure is empty Return empty, otherwise let current_node be the root index node of the index structure; 2) Let the number of layers to be inserted by the node be level, if the node is a data node, then level is the leaf layer of the index structure, and the insertion of other types of nodes It is caused by forced re-insertion, and level is the number of layers before re-insertion; 3) Calculate the degree of overlap between each child node of current_node and the circumscribed ball of the axial bounding box of the node to be inserted, and select the one with the smallest degree of overlap as current_node; 4) Repeat step 2) until the level layer of the index structure.

为实现发明目的,所述的产品逆向工程数据动态索引多目标自适应构建方法,在步骤二中,将结点插入到索引结构,令任意两结点

Figure 948297DEST_PATH_IMAGE003
Figure 281189DEST_PATH_IMAGE004
轴向包围盒的外接球半径分别为
Figure 829982DEST_PATH_IMAGE005
Figure 918024DEST_PATH_IMAGE006
,轴向包围盒中心间的距离为
Figure 122740DEST_PATH_IMAGE007
,两结点
Figure 724940DEST_PATH_IMAGE004
轴向包围盒的外接球重叠度的计算公式为
Figure 420101DEST_PATH_IMAGE008
,以结点轴向包围盒外接球重叠度衡量两结点间的相似性大小,重叠度越大则结点间的相似性越大,否则越小。 In order to achieve the purpose of the invention, the multi-objective self-adaptive construction method of the product reverse engineering data dynamic index, in step 2, inserts the node into the index structure, so that any two nodes
Figure 948297DEST_PATH_IMAGE003
,
Figure 281189DEST_PATH_IMAGE004
The circumscribed sphere radii of the axial bounding box are
Figure 829982DEST_PATH_IMAGE005
,
Figure 918024DEST_PATH_IMAGE006
, the distance between the centers of the axial bounding boxes is
Figure 122740DEST_PATH_IMAGE007
, two nodes ,
Figure 724940DEST_PATH_IMAGE004
The formula for calculating the overlapping degree of the circumscribed sphere of the axial bounding box is
Figure 420101DEST_PATH_IMAGE008
, the similarity between two nodes is measured by the overlapping degree of the circumscribed ball of the axial bounding box of the node. The larger the overlapping degree is, the greater the similarity between nodes is, otherwise it is smaller.

为实现发明目的,所述的产品逆向工程数据动态索引多目标自适应构建方法,在步骤二的步骤3)中,选择重新插入结点的步骤具体是:1)对溢出结点node的个子结点,计算它们的轴向包围盒的中心到结点node的轴向包围盒的中心的距离;2)以步骤1)中计算的距离值为关键字,对结点node的子结点进行降序排序,选出前个子结点。 In order to achieve the purpose of the invention, in the multi-objective self-adaptive construction method of the product reverse engineering data dynamic index, in the step 3) of the second step, the step of selecting the re-insertion node is specifically: 1) the overflow node node sub-nodes, calculate the distance from the center of their axial bounding box to the center of the axial bounding box of node node; 2) take the distance value calculated in step 1) as the key word, for the child nodes of node node Sort in descending order, select the former child nodes.

为实现发明目的,所述的产品逆向工程数据动态索引多目标自适应构建方法,在步骤二的步骤3)中,结点分裂的步骤具体是:1)对结点node的子结点进行二进制编码,0表示非聚类中心,1表示聚类中心,并构造及初始化指定规模的种群P(t),t=1,计算其目标函数和适应值;2)依据个体的目标函数选出非支配解集E(t);3)对种群P(t)进行选择、交叉、变异操作,得到下一代种群P(t+1),令t=t+1;4)计算种群P(t)的目标函数值与适应值;5)计算种群P(t)的非支配解集,然后更新非支配解集E(t);6)若达到截止的进化代数则跳转到步骤7),否则跳转到步骤3);7)对非支配解集E(t)进行解码,然后从中选取轴向包围盒重叠度与轴向包围盒体积之和最小的分裂方案作为结点node的最优分裂方案;8)令结点node的最优分裂方案为

Figure 372511DEST_PATH_IMAGE011
,将分簇作为结点node的子结点,为分簇集合
Figure 778401DEST_PATH_IMAGE013
分别新建结点,计算新结点的轴向包围盒,并将新节点
Figure 900258DEST_PATH_IMAGE014
作为结点node的父结点的子结点插入到索引结构中。 In order to achieve the purpose of the invention, in the multi-objective self-adaptive construction method of the product reverse engineering data dynamic index, in the step 3) of the second step, the step of splitting the node is specifically: 1) Binary the child nodes of the node node Code, 0 means non-clustering center, 1 means clustering center, and construct and initialize the population P(t) of specified size, t=1, calculate its objective function and fitness value; Dominate the solution set E(t); 3) Perform selection, crossover, and mutation operations on the population P(t) to obtain the next generation population P(t+1), let t=t+1; 4) Calculate the population P(t) 5) Calculate the non-dominated solution set of the population P(t), and then update the non-dominated solution set E(t); 6) If the cut-off evolution algebra is reached, go to step 7), otherwise Skip to step 3); 7) Decode the non-dominated solution set E(t), and then select the splitting scheme with the smallest sum of axial bounding box overlap and axial bounding box volume as the optimal split of node scheme; 8) Let the optimal splitting scheme of node node be
Figure 372511DEST_PATH_IMAGE011
, will cluster As a child node of node node, it is a clustering set
Figure 778401DEST_PATH_IMAGE013
Create new nodes separately , calculate the axial bounding box of the new node, and put the new node
Figure 900258DEST_PATH_IMAGE014
The child nodes that are the parent nodes of the node node are inserted into the index structure.

为实现发明目的,所述的产品逆向工程数据动态索引多目标自适应构建方法,在步骤二的步骤3)的结点分裂过程中,目标函数包括分簇的簇数k与分簇的类内聚

Figure 235425DEST_PATH_IMAGE015
,分簇的簇数k为个体编码中1的个数,计算类内聚
Figure 902029DEST_PATH_IMAGE015
需先对个体解码,即从个体编码中提取出聚类中心,计算其他结点的轴向包围盒中心到聚类中心的距离,将其归到距其最近的聚类中心所代表的分簇,形成分簇集合
Figure 478821DEST_PATH_IMAGE011
实现个体的解码,则类内聚的定义为
Figure 984889DEST_PATH_IMAGE017
,其中k表示簇数,
Figure 575008DEST_PATH_IMAGE018
为结点,
Figure 457513DEST_PATH_IMAGE019
为分簇
Figure 809997DEST_PATH_IMAGE020
的聚类中心;若不存在任何
Figure 690229DEST_PATH_IMAGE021
使得公式
Figure 128163DEST_PATH_IMAGE022
成立,且至少一个解是严格不等的,则认为解
Figure 548780DEST_PATH_IMAGE023
为非支配解,其中表示所有的可行解,
Figure 806903DEST_PATH_IMAGE025
表示各个目标函数,即簇数k与类内聚
Figure 732134DEST_PATH_IMAGE015
,由所有非支配解构成非支配解集E(t);如果可行解中的两个解
Figure 392660DEST_PATH_IMAGE026
满足公式
Figure 719736DEST_PATH_IMAGE027
Figure 4087DEST_PATH_IMAGE028
则认为支配;适应值定义为
Figure 298299DEST_PATH_IMAGE031
,其中
Figure 753551DEST_PATH_IMAGE032
表示个体
Figure 591057DEST_PATH_IMAGE029
的排序值,如果个体
Figure 157168DEST_PATH_IMAGE029
为非支配解则其排序值为1,否则其排序值为支配该个体的的个体数目加一。 In order to achieve the purpose of the invention, in the multi-objective self-adaptive construction method of product reverse engineering data dynamic index, in the process of node splitting in step 3) of step 2, the objective function includes the number k of clusters and the intra-class get together
Figure 235425DEST_PATH_IMAGE015
, the number of clusters k is the number of 1s in the individual code, and the calculation of class cohesion
Figure 902029DEST_PATH_IMAGE015
The individual needs to be decoded first, that is, the cluster center is extracted from the individual code , calculate the distance from the center of the axial bounding box of other nodes to the cluster center, and classify it into the cluster represented by the nearest cluster center to form a cluster set
Figure 478821DEST_PATH_IMAGE011
To achieve individual decoding, the class cohesion is defined as
Figure 984889DEST_PATH_IMAGE017
, where k represents the number of clusters,
Figure 575008DEST_PATH_IMAGE018
for the node,
Figure 457513DEST_PATH_IMAGE019
for clustering
Figure 809997DEST_PATH_IMAGE020
cluster center; if there is no
Figure 690229DEST_PATH_IMAGE021
makes the formula
Figure 128163DEST_PATH_IMAGE022
holds, and at least one solution is strictly unequal, the solution is considered
Figure 548780DEST_PATH_IMAGE023
is a non-dominated solution, where represents all feasible solutions,
Figure 806903DEST_PATH_IMAGE025
Represents each objective function, that is, the number of clusters k and the cohesion of the class
Figure 732134DEST_PATH_IMAGE015
, constitutes a non-dominated solution set E(t) from all non-dominated solutions; if two solutions in the feasible solution
Figure 392660DEST_PATH_IMAGE026
satisfy the formula
Figure 719736DEST_PATH_IMAGE027
and
Figure 4087DEST_PATH_IMAGE028
then think dominate ; The fitness value is defined as
Figure 298299DEST_PATH_IMAGE031
,in
Figure 753551DEST_PATH_IMAGE032
means individual
Figure 591057DEST_PATH_IMAGE029
The sort value of , if the individual
Figure 157168DEST_PATH_IMAGE029
If it is a non-dominated solution, its ranking value is 1; otherwise, its ranking value is the number of individuals dominating the individual plus one.

为实现发明目的,所述的产品逆向工程数据动态索引多目标自适应构建方法,将结点插入到索引结构,调整结点轴向包围盒的步骤具体是:1)设新插入到索引结构中的结点的父结点为src_node;2)调整父结点src_node的轴向包围盒,使其恰好包含父结点src_node的所有子结点;3)若父结点src_node为根索引结点,程序返回,否则继续执行;4)令父结点src_node为步骤1)中父结点src_node的父结点,返回步骤2)。 In order to achieve the purpose of the invention, in the multi-objective self-adaptive construction method of the product reverse engineering data dynamic index, the steps of inserting nodes into the index structure and adjusting the axial bounding box of the nodes are: 1) inserting a new index structure into the index structure The parent node of the node is src_node; 2) Adjust the axial bounding box of the parent node src_node so that it just contains all the child nodes of the parent node src_node; 3) If the parent node src_node is the root index node, The program returns, otherwise continue to execute; 4) Let the parent node src_node be the parent node of the parent node src_node in step 1), and return to step 2).

为实现发明目的,所述的产品逆向工程数据动态索引多目标自适应构建方法,在步骤三中对索引结构进行优化,步骤具体是:1)遍历索引结构,计算叶索引结点层轴向包围盒的平均体积;2)遍历索引结构各叶索引结点,若该叶索引结点轴向包围盒的体积大于

Figure 757094DEST_PATH_IMAGE034
, 
Figure 144213DEST_PATH_IMAGE035
为用户设定的阈值,通常取3~5,则将其包含的数据结点添加到临时序列L中,并将其包含的数据结点从索引结构中删除;3)将序列L中的数据结点重新插入到索引结构中,实现索引结构的全局优化。 In order to achieve the purpose of the invention, the multi-objective self-adaptive construction method of the product reverse engineering data dynamic index optimizes the index structure in step 3, and the steps are specifically: 1) traverse the index structure, and calculate the leaf index node layer axially surrounded average box size ; 2) Traversing each leaf index node of the index structure, if the volume of the axial bounding box of the leaf index node is greater than
Figure 757094DEST_PATH_IMAGE034
,
Figure 144213DEST_PATH_IMAGE035
The threshold set for the user, usually 3~5, will add the data nodes contained in it to the temporary sequence L, and delete the data nodes contained in it from the index structure; 3) the data in the sequence L Nodes are reinserted into the index structure to achieve global optimization of the index structure.

为实现发明目的,所述的产品逆向工程数据动态索引多目标自适应构建方法,在步骤四中,查询任一空间对象的邻接对象的具体步骤如下:1)令空间对象T的轴向包围盒外接球为S;2)令

Figure 248435DEST_PATH_IMAGE036
表示在以结点N为根索引结点的索引结构中查询空间对象T的邻近对象集合,若结点N为数据结点且与外接球S相交,则返回其包含的空间对象集合,若结点N不是数据结点,则
Figure 840828DEST_PATH_IMAGE037
,其中
Figure 637883DEST_PATH_IMAGE038
表示结点N中与外接球S相交的子结点;3) 将当前结点N初始化为索引结构的根索引结点,则空间对象T的邻近对象集合为
Figure 246718DEST_PATH_IMAGE036
。 In order to achieve the purpose of the invention, in the method for constructing a multi-objective self-adaptive multi-objective index of product reverse engineering data, in step 4, the specific steps of querying the adjacent objects of any spatial object are as follows: 1) Let the axial bounding box of the spatial object T The outside ball is S; 2) Order
Figure 248435DEST_PATH_IMAGE036
Indicates querying the adjacent object set of spatial object T in the index structure with node N as the root index node. If node N is a data node and intersects with circumscribed ball S, return the set of spatial objects contained in it. If Point N is not a data node, then
Figure 840828DEST_PATH_IMAGE037
,in
Figure 637883DEST_PATH_IMAGE038
Indicates the child node intersecting the circumscribed ball S in node N; 3) Initialize the current node N as the root index node of the index structure, then the set of adjacent objects of the spatial object T is
Figure 246718DEST_PATH_IMAGE036
.

本发明与现有技术相比,具有以下四个特点: Compared with the prior art, the present invention has the following four characteristics:

1)依据结点轴向包围盒外接球重叠度衡量空间对象的相似性,既反映了空间对象所在位置又反映了其所占空间区域大小,提高了结点在空间范围内的聚合性,分簇结果更合理; 1) The similarity of spatial objects is measured according to the overlapping degree of the circumscribed ball of the axial bounding box of the node, which not only reflects the location of the spatial object but also reflects the size of the spatial area it occupies, which improves the aggregation of nodes in the spatial range and clusters The result is more reasonable;

2)结合遗传多目标优化算法进行结点分裂求解结点分裂的最优解,降低了结点分裂过程的参数依赖性,提高了空间对象的空间索引结构的建立效率; 2) Combining the genetic multi-objective optimization algorithm for node splitting to solve the optimal solution of node splitting, which reduces the parameter dependence of the node splitting process and improves the efficiency of establishing the spatial index structure of spatial objects;

3)将体积过大的叶索引结点包含的数据结点重新插入到索引结构中,避免了轴向包围盒奇异结点的产生,提高了索引结构的质量; 3) Reinsert the data nodes contained in the oversized leaf index nodes into the index structure, avoiding the generation of singular nodes in the axial bounding box and improving the quality of the index structure;

4)采用深度优先遍历方法快速准确的获取三角面片的拓扑近邻三角面片,可有效缩小查询范围,提高目标三角面片拓扑近邻面片的查询效率。 4) The depth-first traversal method is used to quickly and accurately obtain the topological neighbors of the triangles, which can effectively narrow the query range and improve the query efficiency of the topological neighbors of the target triangle.

附图说明 Description of drawings

图1是本发明产品逆向工程数据动态索引结构建立程序实现流程图; Fig. 1 is the realization flow chart of the procedure for establishing the dynamic index structure of product reverse engineering data of the present invention;

图2是多边形网格及其轴向包围盒示意图; Fig. 2 is a schematic diagram of a polygonal grid and its axial bounding box;

图3是本发明索引结构的平面结构示意图; Fig. 3 is a schematic plan view of the index structure of the present invention;

图4是本发明索引结构的树状结构示意图; Fig. 4 is a schematic tree structure diagram of the index structure of the present invention;

图5是本发明产品逆向工程数据动态索引结构新结点插入流程图; Fig. 5 is a new node insertion flow chart of the product reverse engineering data dynamic index structure of the present invention;

图6是本发明产品逆向工程数据动态索引结构结点分裂流程图; Fig. 6 is a flow chart of node splitting in the dynamic index structure of product reverse engineering data of the present invention;

图7是本发明人脸多边形网格模型; Fig. 7 is the face polygon mesh model of the present invention;

图8-图11是本发明对人脸多边形网格模型建立的空间索引结构各层结点轴向包围盒。 8-11 are the axial bounding boxes of the nodes of each layer of the spatial index structure established by the present invention for the polygonal mesh model of the face.

具体实施方式 Detailed ways

下面结合附图对本发明作进一步说明: The present invention will be further described below in conjunction with accompanying drawing:

图1是本发明产品逆向工程数据动态索引结构建立程序实现流程图,产品逆向工程数据动态索引结构建立程序包含读取产品逆向工程数据文件程序1,将数据结点插入到索引结构程序2,优化索引结构程序3及目标空间对象近邻对象查询程序4,其中,读取产品逆向工程数据文件程序1读取产品逆向工程数据文件,建立各空间对象的轴向包围盒,依据轴向包围盒的中心以及外接球半径建立其对应的数据结点,并存入数据结点序列;将数据结点插入到索引结构程序2读取数据结点序列,选择结点插入位置,判断结点的子结点数是否大于结点的最大子结点数,若大于则进行结点溢出处理,若结点为非根结点且在插入一个空间对象过程中该结点所在层第一次进行溢出处理,则在结点中有选择地取出一部分结点,将它们重新插入索引结构的该层中,否则进行结点分裂;自轴向包围盒发生变化的结点,沿着索引结构的一条分枝,自底向上调整各结点的轴向包围盒;优化索引结构程序3删除轴向包围盒体积过大或过于狭长的叶索引结点,将其包含的子结点重新插入到索引结构中,实现索引结构的优化;目标空间对象拓扑近邻对象查询程序4深度优先遍历产品逆向工程数据索引结构,获取与目标空间对象轴向包围盒外接球相交的数据结点,从其包含的空间对象中选择目标空间对象的拓扑近邻对象。 Fig. 1 is the flowchart of realization of the program for establishing the dynamic index structure of product reverse engineering data in the present invention, the program for establishing the dynamic index structure of product reverse engineering data includes program 1 for reading product reverse engineering data files, inserting data nodes into index structure program 2, optimizing Index structure program 3 and target spatial object neighbor object query program 4, wherein, read product reverse engineering data file program 1 read product reverse engineering data file, establish the axial bounding box of each spatial object, according to the center of the axial bounding box and the radius of the circumscribed ball to establish its corresponding data node and store it in the data node sequence; insert the data node into the index structure program 2 to read the data node sequence, select the node insertion position, and determine the number of child nodes of the node Whether it is greater than the maximum number of child nodes of the node, if it is greater than the node overflow processing, if the node is a non-root node and in the process of inserting a spatial object, the layer where the node is located performs overflow processing for the first time, then in the node Selectively take out a part of the nodes from the points, and reinsert them into the layer of the index structure, otherwise, split the nodes; change the nodes from the axial bounding box, along a branch of the index structure, from bottom to top Adjust the axial bounding box of each node; optimize the index structure program 3 delete the leaf index node whose axial bounding box is too large or too narrow, and reinsert the child nodes contained in it into the index structure to realize the index structure Optimization; target spatial object topology neighbor object query program 4 Depth-first traversal product reverse engineering data index structure, obtain data nodes intersecting with the circumscribed sphere of the axial bounding box of the target spatial object, and select the target spatial object from the contained spatial objects Topological neighbors.

图2是若干多边形网格集合。定义索引结构中结点的最小子结点数m=3、最大子结点数M=8,图3是对图2所示多边形网格建立的空间索引结构中结点轴向包围盒示意图,图4为索引结构的树状结构示意图,结点A是根索引结点,B、C、D为叶索引结点,E、F、G、H、I、J、K、L、M、N、O、P、Q为数据结点,每个数据结点包含一个多边形网格。 Figure 2 is a collection of several polygon meshes. Define the minimum number of sub-nodes m=3 and the maximum number of sub-nodes M=8 of the nodes in the index structure. Figure 3 is a schematic diagram of the axial bounding box of the nodes in the spatial index structure established for the polygonal grid shown in Figure 2, Figure 4 It is a tree structure diagram of the index structure, node A is the root index node, B, C, D are the leaf index nodes, E, F, G, H, I, J, K, L, M, N, O , P, and Q are data nodes, and each data node contains a polygon grid.

图5所示为将结点插入到索引结构程序2实现流程图,调用选择结点插入位置程序1)选择结点应插入的位置,将结点插入到程序1)得到的位置,判断结点的父结点的子结点数是否大于结点的最大子结点数,若大于则进行结点溢出处理,若结点为非根索引结点且在插入一个空间对象过程中该结点所在层第一次进行溢出处理,则调用选择重新插入结点程序2)有选择的从结点中选择若干个结点重新插入到索引结构中,否则调用结点分裂程序3)对新插入结点的父结点进行结点分裂,调用调整结点轴向包围盒程序4)对自新插入结点,沿着索引结构的一条分枝,调整各结点的轴向包围盒,使各结点的轴向包围盒恰好包围其包含的子结点。 Figure 5 shows the implementation flow chart of program 2 for inserting nodes into the index structure, calling program 1) to select the position where the node should be inserted, inserting the node into the position obtained by program 1), and judging the node Whether the number of child nodes of the parent node is greater than the maximum number of child nodes of the node, if it is larger, the node overflow processing will be performed, if the node is a non-root index node and the node is located in the first layer during the process of inserting a spatial object One-time overflow processing, then call the selection re-insert node program 2) Select several nodes from the nodes to re-insert into the index structure, otherwise call the node splitting program 3) For the parent of the newly inserted node Split the node, and call the program to adjust the axial bounding box of the node. The bounding box exactly surrounds the child nodes it contains.

将结点插入到索引结构程序2中,选择结点插入位置程序1)的步骤具体是:1)若当前索引结构为空,则返回空;否则设当前结点current_node为索引结构的根索引结点;2)计算当前结点current_node的每个子结点

Figure 420211DEST_PATH_IMAGE003
与待插入结点
Figure 368575DEST_PATH_IMAGE004
的的轴向包围盒中心间的距离为,采用公式
Figure 432663DEST_PATH_IMAGE040
计算两结点的外接球重叠度,其中
Figure 816371DEST_PATH_IMAGE005
Figure 947138DEST_PATH_IMAGE006
分别为结点的轴向包围盒外接球半径,选择重叠度最小的作为当前结点current_node;3)重复步骤2)直到当前结点current_node所在层为叶索引结点层。 Insert the node into the index structure program 2, and select the node insertion position. The specific steps of program 1) are: 1) If the current index structure is empty, return empty; otherwise, set the current node current_node as the root index node of the index structure point; 2) Calculate each child node of the current node current_node
Figure 420211DEST_PATH_IMAGE003
with the node to be inserted
Figure 368575DEST_PATH_IMAGE004
The distance between the centers of the axial bounding boxes of is , using the formula
Figure 432663DEST_PATH_IMAGE040
Calculate the overlapping degree of circumscribed balls of two nodes, where
Figure 816371DEST_PATH_IMAGE005
,
Figure 947138DEST_PATH_IMAGE006
nodes respectively and The radius of the circumscribed ball of the axial bounding box of , select the one with the smallest degree of overlap as the current node current_node; 3) Repeat step 2) until the layer where the current node current_node is located is the leaf index node layer.

将结点插入到索引结构程序2中,选择重新插入结点程序2)的步骤具体是: 1)对溢出结点node的

Figure 856822DEST_PATH_IMAGE009
个子结点,计算它们的轴向包围盒的中心到结点node的轴向包围盒的中心的距离;2)以步骤1)中计算的距离值为关键字,对结点node的子结点进行降序排序,选出前
Figure 842096DEST_PATH_IMAGE010
个子结点。 Insert the node into the index structure program 2, and choose to reinsert the node program 2) The specific steps are: 1) For the overflow node node
Figure 856822DEST_PATH_IMAGE009
sub-nodes, calculate the distance from the center of their axial bounding box to the center of the axial bounding box of node node; 2) take the distance value calculated in step 1) as the key word, for the child nodes of node node Sort in descending order, select the former
Figure 842096DEST_PATH_IMAGE010
child nodes.

将结点插入到索引结构程序2中,若结点node的子结点数n大于最大子结点数M,则调用结点分裂程序3)对结点node进行结点分裂,其具体过程如图6所示,过程(1)中个体采用长度为

Figure 151855DEST_PATH_IMAGE009
的二进制串表示,每一位对应于一个结点,1表示聚类中心,0表示非聚类中心,随机地将个体中每一位置为0或1,实现个体初始化,然后分配并初始population_size个个体,完成种群的初始化;过程(2)中目标函数包括簇数k以及类内距
Figure 658797DEST_PATH_IMAGE015
,统计个体中1的个数即为簇数k,计算类内距需先对个体解码,提取出个体中1所对应的结点,即分簇中心,然后计算其他结点到各分簇中心的距离,将其归为距离最近的分簇中心所表示的分簇,形成分簇集合,计算类内距
Figure 970327DEST_PATH_IMAGE041
,其中k表示簇数,
Figure 262768DEST_PATH_IMAGE018
为结点,为分簇
Figure 751835DEST_PATH_IMAGE020
的聚类中心;过程(3)计算种群中个体的适应值,计算公式为
Figure 403396DEST_PATH_IMAGE031
,其中
Figure 448713DEST_PATH_IMAGE032
表示个体
Figure 843922DEST_PATH_IMAGE029
的排序值,若个体
Figure 418440DEST_PATH_IMAGE030
,满足
Figure 685473DEST_PATH_IMAGE042
Figure 55012DEST_PATH_IMAGE043
且其中有一个公式是严格不等的,则个体
Figure 723891DEST_PATH_IMAGE029
支配个体
Figure 982834DEST_PATH_IMAGE030
,若没有任何个体能支配个体
Figure 409267DEST_PATH_IMAGE029
,则个体
Figure 411858DEST_PATH_IMAGE029
为非支配解,对种群中的非支配个体分配排序值1,其他个体的排序值等于支配该个体的个体数目加一;过程(4)构造Pareto解集合
Figure 935244DEST_PATH_IMAGE044
,遍历每个个体,对于每个个体寻找是否有能支配该个体的个体存在,若不存在则将该个体加入集合
Figure 99509DEST_PATH_IMAGE044
;过程(5)对Pareto解集合
Figure 278817DEST_PATH_IMAGE044
的个体解码,从中选择轴向包围盒重叠度与轴向包围盒体积之和最小的分裂方案作为结点的最优分裂方案
Figure 819520DEST_PATH_IMAGE011
,将分簇
Figure 197412DEST_PATH_IMAGE012
作为结点的子结点,为分簇集合分别新建结点
Figure 199183DEST_PATH_IMAGE014
,计算新结点的轴向包围盒,并将新节点
Figure 543576DEST_PATH_IMAGE014
作为结点的父结点的子结点插入到索引结构中。 Insert the node into the index structure program 2, if the number of child nodes n of the node node is greater than the maximum number of child nodes M , then call the node splitting program 3) to split the node node, the specific process is shown in Figure 6 As shown, in the process (1), the individual adopts a length of
Figure 151855DEST_PATH_IMAGE009
The binary string representation, each bit corresponds to a node, 1 represents the cluster center, 0 represents the non-cluster center, randomly set each position in the individual to 0 or 1, realize the individual initialization, and then allocate and initialize population_size Individual, to complete the initialization of the population; the objective function in process (2) includes the number of clusters k and the intraclass distance
Figure 658797DEST_PATH_IMAGE015
, counting the number of 1 in the individual is the number of clusters k. To calculate the intra-class distance, you need to decode the individual first, and extract the node corresponding to 1 in the individual , that is, the clustering center, and then calculate the distance from other nodes to each clustering center, and classify it into the clustering represented by the nearest clustering center to form a clustering set , to calculate the inter-class distance
Figure 970327DEST_PATH_IMAGE041
, where k represents the number of clusters,
Figure 262768DEST_PATH_IMAGE018
for the node, for clustering
Figure 751835DEST_PATH_IMAGE020
clustering center; process (3) calculates the fitness value of the individual in the population, and the calculation formula is
Figure 403396DEST_PATH_IMAGE031
,in
Figure 448713DEST_PATH_IMAGE032
means individual
Figure 843922DEST_PATH_IMAGE029
The sort value of , if the individual and
Figure 418440DEST_PATH_IMAGE030
,satisfy
Figure 685473DEST_PATH_IMAGE042
and
Figure 55012DEST_PATH_IMAGE043
and one of the formulas is strictly unequal, the individual
Figure 723891DEST_PATH_IMAGE029
dominate individual
Figure 982834DEST_PATH_IMAGE030
, if no individual can dominate the individual
Figure 409267DEST_PATH_IMAGE029
, the individual
Figure 411858DEST_PATH_IMAGE029
As a non-dominated solution, the non-dominated individuals in the population are assigned a ranking value of 1, and the ranking value of other individuals is equal to the number of individuals dominating the individual plus one; process (4) constructs a Pareto solution set
Figure 935244DEST_PATH_IMAGE044
, traverse each individual, and for each individual, find whether there is an individual that can dominate the individual, and if not, add the individual to the set
Figure 99509DEST_PATH_IMAGE044
; Process (5) sets Pareto solutions
Figure 278817DEST_PATH_IMAGE044
The individual decoding of , from which the splitting scheme with the minimum sum of axial bounding box overlap and axial bounding box volume is selected as the optimal splitting scheme of the node
Figure 819520DEST_PATH_IMAGE011
, will cluster
Figure 197412DEST_PATH_IMAGE012
As a child node of a node, it is a clustering set Create new nodes separately
Figure 199183DEST_PATH_IMAGE014
, calculate the axial bounding box of the new node, and put the new node
Figure 543576DEST_PATH_IMAGE014
The child nodes that are the parent nodes of the node are inserted into the index structure.

优化索引结构程序3的步骤具体是:1)遍历索引结构,计算叶索引结点层轴向包围盒的平均体积

Figure 477772DEST_PATH_IMAGE033
;2)遍历索引结构各叶索引结点,若该叶索引结点轴向包围盒的体积大于
Figure 983840DEST_PATH_IMAGE034
为用户设定的阈值,通常取3-5),则将其从索引结构中删除,并将其包含的空间对象添加到临时序列L中;3)将序列L中的空间对象重新插入到索引结构中,实现索引结构的全局优化。 The steps of optimizing the index structure program 3 are specifically: 1) traverse the index structure, and calculate the average volume of the axial bounding box of the leaf index node layer
Figure 477772DEST_PATH_IMAGE033
;2) Traversing each leaf index node of the index structure, if the volume of the leaf index node’s axial bounding box is greater than
Figure 983840DEST_PATH_IMAGE034
( The threshold set by the user, usually 3-5), delete it from the index structure, and add the spatial objects it contains to the temporary sequence L; 3) Reinsert the spatial objects in the sequence L into the index In the structure, the global optimization of the index structure is realized.

图7是人脸多边形网格模型,该模型型面特征较为复杂,由47765个多边形网格构成,采用本发明建立其空间索引结构,各层结点轴向包围盒效果如图8-图11所示。图8为根索引结点的轴向包围盒,图9为内部索引结点的轴向包围盒,图10为叶索引结点的轴向包围盒,图11为数据结点的轴向包围盒,除根索引结点外,每个索引结点的子结点数均在8~20范围内,每个数据结点包含一个多边形网格。 Figure 7 is a polygonal mesh model of a human face. The surface features of this model are relatively complex, consisting of 47,765 polygonal meshes. The spatial index structure is established by using the present invention. The effect of the axial bounding box of each layer of nodes is shown in Figure 8-Figure 11 shown. Figure 8 is the axial bounding box of the root index node, Figure 9 is the axial bounding box of the internal index node, Figure 10 is the axial bounding box of the leaf index node, and Figure 11 is the axial bounding box of the data node , except for the root index node, the number of child nodes of each index node is in the range of 8 to 20, and each data node contains a polygonal grid.

查询任一空间对象T的邻接对象的步骤具体是:1)求解空间对象T的轴向包围盒外接球S;2)定义函数

Figure 82563DEST_PATH_IMAGE036
表示在以结点N为根索引结点的索引结构中查询空间对象T的邻近对象集合,若结点N为数据结点且与外接球S相交,则返回其包含的空间对象集合,若结点N为内部结点,则
Figure 372730DEST_PATH_IMAGE037
,其中表示结点N中与外接球S相交的子结点;3) 将当前结点N初始化为索引结构的根索引结点,则空间对象T的邻近对象集合为
Figure 487634DEST_PATH_IMAGE036
。 The specific steps for querying the adjacent objects of any spatial object T are: 1) Solve the circumscribed sphere S of the axial bounding box of the spatial object T; 2) Define the function
Figure 82563DEST_PATH_IMAGE036
Indicates querying the adjacent object set of spatial object T in the index structure with node N as the root index node. If node N is a data node and intersects with circumscribed ball S, return the set of spatial objects contained in it. If Point N is an internal node, then
Figure 372730DEST_PATH_IMAGE037
,in Indicates the child node intersecting the circumscribed ball S in node N; 3) Initialize the current node N as the root index node of the index structure, then the set of adjacent objects of the spatial object T is
Figure 487634DEST_PATH_IMAGE036
.

其它产品逆向工程数据的动态索引结构构建方法同上。 The construction method of the dynamic index structure of the reverse engineering data of other products is the same as above.

Claims (3)

1.一种产品逆向工程数据动态索引多目标自适应构建方法,其特征在于包含以下步骤:一、读取产品逆向工程数据,建立各散乱点云、多边形网格及分片连续曲面的轴向包围盒,依据轴向包围盒的中心及外接球半径建立各空间对象对应的数据结点,并存入数据结点序列,其中结点包括索引结点和数据结点,索引结点包含根索引结点、内部索引结点和叶索引结点,索引结构的最上层结点为根索引结点、最下层结点为叶索引结点、其余结点为内部索引结点,定义                                                
Figure 978DEST_PATH_IMAGE001
为结点的最大子结点数、为结点最小子结点数,其中
Figure 259101DEST_PATH_IMAGE001
为大于2的整数,为小于或等于
Figure 346323DEST_PATH_IMAGE001
/2的整数,除根索引结点外,每个索引结点的子结点数均小于等于
Figure 109617DEST_PATH_IMAGE001
且大于等于
Figure 393968DEST_PATH_IMAGE002
;索引结构中每个结点的轴向包围盒恰好包围该结点的所有子结点;二、将数据结点插入到索引结构中,步骤具体是:1)为结点选择插入位置,具体步骤为:(1)令当前结点为current_node,如果索引结构为空则返回空,否则令current_node为索引结构根索引结点;(2)令结点将要插入的层数为level,若结点为数据结点则level为索引结构的叶子层,其他类型结点的插入是由强制重新插入引起的, level为其重新插入前所在层数;(3) 计算current_node的每个子结点与待插入结点的轴向包围盒外接球重叠度,选择重叠度最小的作为current_node,其中计算两个结点的轴向包围盒外接球重叠度的方法为:令任意两结点
Figure 540916DEST_PATH_IMAGE003
Figure 506598DEST_PATH_IMAGE004
的轴向包围盒外接球半径分别为
Figure 688180DEST_PATH_IMAGE005
Figure 143432DEST_PATH_IMAGE006
,轴向包围盒中心间的距离为,采用公式
Figure 547049DEST_PATH_IMAGE008
计算两结点轴向包围盒的外接球重叠度;(4)重复步骤(2)直到索引结构的level层为止;2)将结点插入到步骤1)中得到的插入位置;3)令结点插入到结点node下,判断结点node的子结点数是否大于结点的最大子结点数,如果大于则对结点node进行溢出处理,若结点node为非根索引结点且在插入一个空间对象过程中该结点所在层第一次进行溢出处理,则计算溢出结点node的
Figure 146975DEST_PATH_IMAGE009
个子结点的轴向包围盒的中心到结点node的轴向包围盒的中心的距离, 以距离值为关键字,对结点node的子结点进行降序排序,选出前
Figure 268514DEST_PATH_IMAGE010
个子结点将它们重新插入索引结构的该层中,否则将结点node的子结点划分为k簇
Figure 74534DEST_PATH_IMAGE011
,将分簇
Figure 230709DEST_PATH_IMAGE012
作为结点node的子结点,为分簇集合
Figure 27764DEST_PATH_IMAGE013
分别新建结点
Figure 574283DEST_PATH_IMAGE014
,计算新结点的轴向包围盒,并将新节点
Figure 482196DEST_PATH_IMAGE014
作为结点node的父结点的子结点插入到索引结构中,实现结点的分裂;4)调整各结点的轴向包围盒,具体过程为:(1) 设新插入到索引结构中的结点的父结点为src_node;(2) 调整父结点src_node的轴向包围盒,使其恰好包含父结点src_node的所有子结点;(3) 若父结点src_node为根索引结点,程序返回,否则继续执行;(4) 令父结点src_node为步骤(1)中父结点src_node的父结点,返回步骤(2);三、将体积过大的轴向包围盒重新插入到索引结构中,实现索引结构的优化;四、基于产品逆向工程数据动态索引结构,实现散乱点云、多边形网格以及分片连续曲面的拓扑近邻查询,其中查询任一空间对象T的邻接对象的具体步骤如下:1)令空间对象T的轴向包围盒外接球为S;2)令
Figure 492877DEST_PATH_IMAGE015
表示在以结点n为根索引结点的索引结构中查询空间对象T的邻近对象集合,若结点n为数据结点且与外接球S相交,则返回其包含的空间对象集合,若结点n为内部结点,则
Figure 398516DEST_PATH_IMAGE016
,其中
Figure 494648DEST_PATH_IMAGE017
表示结点N中与外接球S相交的子结点;3) 将当前结点N初始化为索引结构的根索引结点,则空间对象T的邻近对象集合为
Figure 206252DEST_PATH_IMAGE018
1. A multi-objective self-adaptive construction method for dynamic indexing of product reverse engineering data, characterized in that it comprises the following steps: one, read product reverse engineering data, and set up the axial direction of each scattered point cloud, polygon grid and sliced continuous curved surface Bounding box, according to the center of the axial bounding box and the radius of the circumscribed ball, the data nodes corresponding to each spatial object are established and stored in the data node sequence, where the nodes include index nodes and data nodes, and the index nodes include the root index Nodes, internal index nodes, and leaf index nodes. The topmost node of the index structure is the root index node, the bottommost node is the leaf index node, and the rest of the nodes are internal index nodes. Define
Figure 978DEST_PATH_IMAGE001
is the maximum number of child nodes of a node, is the minimum number of sub-nodes of the node, where
Figure 259101DEST_PATH_IMAGE001
is an integer greater than 2, is less than or equal to
Figure 346323DEST_PATH_IMAGE001
Integer of /2, except the root index node, the number of child nodes of each index node is less than or equal to
Figure 109617DEST_PATH_IMAGE001
and greater than or equal to
Figure 393968DEST_PATH_IMAGE002
; The axial bounding box of each node in the index structure just surrounds all the child nodes of the node; 2. Insert the data node into the index structure, the steps are: 1) Select the insertion position for the node, specifically The steps are: (1) Let the current node be current_node, if the index structure is empty, return empty, otherwise let current_node be the root index node of the index structure; (2) Let the level to be inserted into the node be level, if the node If it is a data node, level is the leaf layer of the index structure. The insertion of other types of nodes is caused by forced re-insertion, and level is the number of layers before re-insertion; The overlapping degree of the circumscribed ball of the axial bounding box of the node, select the one with the smallest overlapping degree as the current_node, and the method of calculating the overlapping degree of the circumscribed ball of the axial bounding box of two nodes is: let any two nodes
Figure 540916DEST_PATH_IMAGE003
,
Figure 506598DEST_PATH_IMAGE004
The radii of the circumscribed sphere of the axial bounding box are
Figure 688180DEST_PATH_IMAGE005
,
Figure 143432DEST_PATH_IMAGE006
, the distance between the centers of the axial bounding boxes is , using the formula
Figure 547049DEST_PATH_IMAGE008
Calculate the overlapping degree of circumscribed balls of the axial bounding boxes of two nodes; (4) repeat step (2) until the level layer of the index structure; 2) insert the node into the insertion position obtained in step 1); 3) make the node Insert the point under the node node, and judge whether the number of child nodes of the node node is greater than the maximum number of child nodes of the node , if it is greater than , overflow processing will be performed on the node node. If the node node is a non-root index node and the layer where the node is located is overflowing processing for the first time in the process of inserting a spatial object, then calculate the value of the overflow node node
Figure 146975DEST_PATH_IMAGE009
The distance from the center of the axial bounding box of the child node to the center of the axial bounding box of the node node, using the distance as the key, sort the child nodes of the node node in descending order, and select the top
Figure 268514DEST_PATH_IMAGE010
child nodes reinsert them into the layer of the index structure, otherwise divide the child nodes of the node node into k clusters
Figure 74534DEST_PATH_IMAGE011
, will cluster
Figure 230709DEST_PATH_IMAGE012
As a child node of node node, it is a clustering set
Figure 27764DEST_PATH_IMAGE013
Create new nodes separately
Figure 574283DEST_PATH_IMAGE014
, calculate the axial bounding box of the new node, and put the new node
Figure 482196DEST_PATH_IMAGE014
The child node of the parent node of the node node is inserted into the index structure to realize the splitting of the node; 4) Adjust the axial bounding box of each node, the specific process is: (1) Set a new insertion into the index structure The parent node of the node is src_node; (2) Adjust the axial bounding box of the parent node src_node so that it just contains all the child nodes of the parent node src_node; (3) If the parent node src_node is the root index node point, the program returns, otherwise continue to execute; (4) Make the parent node src_node the parent node of the parent node src_node in step (1), and return to step (2); 3. Renew the axial bounding box that is too large Insert into the index structure to realize the optimization of the index structure; 4. Based on the dynamic index structure of product reverse engineering data, realize the topological nearest neighbor query of scattered point cloud, polygonal grid and sliced continuous surface, in which the adjacency of any spatial object T is queried The specific steps of the object are as follows: 1) Let the circumscribed sphere of the axial bounding box of the spatial object T be S; 2) Let
Figure 492877DEST_PATH_IMAGE015
Indicates to query the adjacent object set of spatial object T in the index structure with node n as the root index node. If node n is a data node and intersects with circumscribed ball S, return the set of spatial objects contained in it. If Point n is an internal node, then
Figure 398516DEST_PATH_IMAGE016
,in
Figure 494648DEST_PATH_IMAGE017
Indicates the child node intersecting the circumscribed ball S in node N; 3) Initialize the current node N as the root index node of the index structure, then the set of adjacent objects of the spatial object T is
Figure 206252DEST_PATH_IMAGE018
.
2.如权利要求1所述的产品逆向工程数据动态索引多目标自适应建立方法,其特征在于:在步骤二的步骤3)中,结点分裂的步骤具体是:1)对结点node的子结点进行二进制编码,0表示非聚类中心,1表示聚类中心,并构造及初始化指定规模的种群P(t),t=1,计算其目标函数和适应值;2)依据个体的目标函数选出非支配解集E(t);3)对种群P(t)进行选择、交叉、变异操作,得到下一代种群P(t+1),令t=t+1;4)计算种群P(t)的目标函数值与适应值;5)计算种群P(t)的非支配解集,然后更新非支配解集E(t);6)若达到截止的进化代数则跳转到步骤7),否则跳转到步骤3);7)对非支配解集E(t)进行解码,然后从中选取轴向包围盒重叠度与轴向包围盒体积之和最小的分裂方案作为结点node的最优分裂方案;8)令结点node的最优分裂方案为
Figure 274702DEST_PATH_IMAGE011
,将分簇
Figure 413560DEST_PATH_IMAGE012
作为结点node的子结点,为分簇集合
Figure 731409DEST_PATH_IMAGE013
分别新建结点
Figure 682922DEST_PATH_IMAGE014
,计算新结点的轴向包围盒,并将新节点
Figure 668195DEST_PATH_IMAGE014
作为结点node的父结点的子结点插入到索引结构中。
2. The method for establishing multi-objective self-adaptive establishment of dynamic index of product reverse engineering data as claimed in claim 1, characterized in that: in step 3) of step 2, the step of splitting the node is specifically: 1) for the node node Sub-nodes are binary coded, 0 means non-clustering center, 1 means clustering center, and construct and initialize a population P(t) of specified size, t=1, and calculate its objective function and fitness value; 2) According to the individual The objective function selects the non-dominated solution set E(t); 3) Perform selection, crossover, and mutation operations on the population P(t) to obtain the next generation population P(t+1), let t=t+1; 4) Calculate The objective function value and fitness value of the population P(t); 5) Calculate the non-dominated solution set of the population P(t), and then update the non-dominated solution set E(t); 6) Jump to Step 7), otherwise skip to step 3); 7) Decode the non-dominated solution set E(t), and then select the splitting scheme with the smallest sum of axial bounding box overlap and axial bounding box volume as the node The optimal splitting scheme of node; 8) Let the optimal splitting scheme of node node be
Figure 274702DEST_PATH_IMAGE011
, will cluster
Figure 413560DEST_PATH_IMAGE012
As a child node of node node, it is a clustering set
Figure 731409DEST_PATH_IMAGE013
Create new nodes separately
Figure 682922DEST_PATH_IMAGE014
, calculate the axial bounding box of the new node, and put the new node
Figure 668195DEST_PATH_IMAGE014
The child nodes that are the parent nodes of the node node are inserted into the index structure.
3.如权利要求1所述的产品逆向工程数据动态索引多目标自适应建立方法,其特征在于:在步骤三中对索引结构进行优化,步骤具体是:1)遍历索引结构,计算叶索引结点层轴向包围盒的平均体积;2)遍历索引结构各叶索引结点,若该叶索引结点轴向包围盒的体积大于
Figure 720782DEST_PATH_IMAGE020
(
Figure 774189DEST_PATH_IMAGE021
为用户设定的阈值,通常取3~5),则将其包含的数据结点添加到临时序列L中,并将其包含的数据结点从索引结构中删除;3)将序列L中的数据结点重新插入到索引结构中,实现索引结构的全局优化。
3. the product reverse engineering data dynamic index multi-objective self-adaptive establishment method as claimed in claim 1, it is characterized in that: in step 3, index structure is optimized, and step is specifically: 1) traverse index structure, calculate leaf index structure The average volume of the axial bounding box of the point layer ; 2) Traversing each leaf index node of the index structure, if the volume of the axial bounding box of the leaf index node is greater than
Figure 720782DEST_PATH_IMAGE020
(
Figure 774189DEST_PATH_IMAGE021
The threshold set for the user, usually 3~5), then add the data nodes contained in it to the temporary sequence L, and delete the data nodes contained in it from the index structure; 3) add the data nodes in the sequence L Data nodes are reinserted into the index structure to achieve global optimization of the index structure.
CN2012103325379A 2012-09-11 2012-09-11 Dynamic index multi-target self-adaptive construction method for product reverse engineering data Pending CN102831241A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012103325379A CN102831241A (en) 2012-09-11 2012-09-11 Dynamic index multi-target self-adaptive construction method for product reverse engineering data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012103325379A CN102831241A (en) 2012-09-11 2012-09-11 Dynamic index multi-target self-adaptive construction method for product reverse engineering data

Publications (1)

Publication Number Publication Date
CN102831241A true CN102831241A (en) 2012-12-19

Family

ID=47334376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012103325379A Pending CN102831241A (en) 2012-09-11 2012-09-11 Dynamic index multi-target self-adaptive construction method for product reverse engineering data

Country Status (1)

Country Link
CN (1) CN102831241A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868355A (en) * 2016-03-29 2016-08-17 贵州大学 Large-scale multimedia data spatial index method
CN107294656A (en) * 2017-06-06 2017-10-24 长安大学 A kind of distributed arithmetic code coding/decoding method based on depth-first
CN107391601A (en) * 2017-06-30 2017-11-24 安徽四创电子股份有限公司 A kind of construction method of the high dimensional indexing of face feature vector
CN110048945A (en) * 2019-04-24 2019-07-23 湖南城市学院 A kind of node mobility cluster-dividing method and system
CN113569058A (en) * 2021-08-05 2021-10-29 武汉美之修行信息科技有限公司 Information query method and device and computer readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781906A (en) * 1996-06-06 1998-07-14 International Business Machines Corporation System and method for construction of a data structure for indexing multidimensional objects
US6389424B1 (en) * 1998-10-28 2002-05-14 Electronics And Telecommunications Research Institute Insertion method in a high-dimensional index structure for content-based image retrieval
CN101430693B (en) * 2008-11-12 2010-08-11 山东理工大学 Spacing query method for triangular gridding curve model
CN101510315B (en) * 2009-03-26 2012-07-18 山东理工大学 Method for establishing space index structure of product STL model

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781906A (en) * 1996-06-06 1998-07-14 International Business Machines Corporation System and method for construction of a data structure for indexing multidimensional objects
US6389424B1 (en) * 1998-10-28 2002-05-14 Electronics And Telecommunications Research Institute Insertion method in a high-dimensional index structure for content-based image retrieval
CN101430693B (en) * 2008-11-12 2010-08-11 山东理工大学 Spacing query method for triangular gridding curve model
CN101510315B (en) * 2009-03-26 2012-07-18 山东理工大学 Method for establishing space index structure of product STL model

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙永伟: "基于最小包围盒及自适应聚类的三维R*-树索引结构", 《山东理工大学硕士学位论文》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868355A (en) * 2016-03-29 2016-08-17 贵州大学 Large-scale multimedia data spatial index method
CN107294656A (en) * 2017-06-06 2017-10-24 长安大学 A kind of distributed arithmetic code coding/decoding method based on depth-first
CN107294656B (en) * 2017-06-06 2021-02-02 长安大学 A Depth-First-Based Distributed Arithmetic Code Decoding Method
CN107391601A (en) * 2017-06-30 2017-11-24 安徽四创电子股份有限公司 A kind of construction method of the high dimensional indexing of face feature vector
CN110048945A (en) * 2019-04-24 2019-07-23 湖南城市学院 A kind of node mobility cluster-dividing method and system
CN113569058A (en) * 2021-08-05 2021-10-29 武汉美之修行信息科技有限公司 Information query method and device and computer readable storage medium

Similar Documents

Publication Publication Date Title
CN101510225B (en) Product STL Model Boolean Operation Method
CN102508973B (en) Rapid intersection method for STL (stereo lithography) models of products
CN103699654B (en) A kind of across engineer's scale map vector network of rivers data target matching method of the same name
CN101430693B (en) Spacing query method for triangular gridding curve model
CN103544249B (en) A kind of method for indexing scattered point cloud space of historic building
CN102831241A (en) Dynamic index multi-target self-adaptive construction method for product reverse engineering data
CN107194533B (en) Power distribution network full information model construction method and system
CN101403909B (en) NC tool path generation method for triangular mesh subdivision surface
CN101510228B (en) Nonuniform simplifying method for STL model of products
CN111813778B (en) Approximate keyword storage and query method for large-scale road network data
CN104850712B (en) Surface sampled data topology Region Queries method in kind
CN101510315B (en) Method for establishing space index structure of product STL model
CN115145930A (en) Hierarchical coding method and device for GIS vector data based on tree-like hierarchical index
CN113268557A (en) Rapid spatial indexing method suitable for display-oriented visualization analysis
CN114898043A (en) Laser point cloud data tile construction method
CN108171793A (en) A kind of method for detecting lamination area triangle gridding
CN106294540B (en) Multiple spot geological statistics modeling method based on p-stable local sensitivity Hash retrieval Data Styles
CN106780640A (en) A kind of large-scale graph data method for expressing
CN106503811A (en) A kind of infrastructure full life cycle management method based on big data
CN106780747B (en) A Fast Method of Segmenting CFD Computational Grids
CN116645484B (en) Geological curved surface model construction method and device, electronic equipment and storage medium
CN112214488A (en) A European-style spatial data index tree and its construction and retrieval method
CN107729494A (en) A kind of POI search methods based on the mapping of Z-type space curve
CN112132433A (en) Multi-target brainstorm community detection method based on novelty search
CN102254093A (en) Connected domain statistical correlation algorithm based on Thiessen polygon

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20121219