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 PDFInfo
- 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
Links
- 238000010276 construction Methods 0.000 title claims description 15
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000003780 insertion Methods 0.000 claims abstract description 16
- 230000037431 insertion Effects 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 claims description 14
- 238000005457 optimization Methods 0.000 claims description 6
- 230000035772 mutation Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000003064 k means clustering Methods 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000011089 mechanical engineering Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种产品逆向工程数据动态索引多目标自适应构建方法,其特征在于:首先读取产品逆向工程数据文件,建立各空间对象的轴向包围盒,依据轴向包围盒的中心及外接球半径建立各空间对象对应的数据结点,并存入数据结点序列,通过选择插入位置、强制重新插入、结点分裂、调整结点轴向包围盒等步骤将序列中各数据结点插入到索引结构中,将轴向包围盒体积较大的数据结点重新插入到索引结构中,进一步优化索引结构,实现产品逆向工程数据动态索引结构的建立。本发明可建立各种复杂产品逆向工程数据的空间索引结构,具有参数依赖性低、稳定性强、查询效率高的特点。
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.
Description
技术领域 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.
为实现发明目的,所述的产品逆向工程数据动态索引多目标自适应构建方法,在步骤二中,将数据结点插入到索引结构,方法是:结点包括索引结点和数据结点,索引结点包含根索引结点、内部索引结点和叶索引结点,索引结构的最上层结点为根索引结点、最下层结点为叶索引结点、其余结点为内部索引结点,定义 为结点的最大子结点数(为大于2的整数)、为结点最小子结点数(为小于或等于/2的整数),除根索引结点外,每个索引结点的子结点数均小于等于且大于等于;索引结构中每个结点的轴向包围盒恰好包围该结点的所有子结点。 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 is the maximum number of child nodes of a node ( is an integer greater than 2), is the minimum number of sub-nodes of the node ( 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 and greater than or equal to ; 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.
为实现发明目的,所述的产品逆向工程数据动态索引多目标自适应构建方法,在步骤二中,将结点插入到索引结构,令任意两结点、轴向包围盒的外接球半径分别为、,轴向包围盒中心间的距离为,两结点、轴向包围盒的外接球重叠度的计算公式为,以结点轴向包围盒外接球重叠度衡量两结点间的相似性大小,重叠度越大则结点间的相似性越大,否则越小。 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 , The circumscribed sphere radii of the axial bounding box are , , the distance between the centers of the axial bounding boxes is , two nodes , The formula for calculating the overlapping degree of the circumscribed sphere of the axial bounding box is , 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的最优分裂方案为,将分簇作为结点node的子结点,为分簇集合分别新建结点,计算新结点的轴向包围盒,并将新节点作为结点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 , will cluster As a child node of node node, it is a clustering set Create new nodes separately , calculate the axial bounding box of the new node, and put the new node The child nodes that are the parent nodes of the node node are inserted into the index structure.
为实现发明目的,所述的产品逆向工程数据动态索引多目标自适应构建方法,在步骤二的步骤3)的结点分裂过程中,目标函数包括分簇的簇数k与分簇的类内聚,分簇的簇数k为个体编码中1的个数,计算类内聚需先对个体解码,即从个体编码中提取出聚类中心,计算其他结点的轴向包围盒中心到聚类中心的距离,将其归到距其最近的聚类中心所代表的分簇,形成分簇集合实现个体的解码,则类内聚的定义为,其中k表示簇数,为结点,为分簇的聚类中心;若不存在任何使得公式成立,且至少一个解是严格不等的,则认为解为非支配解,其中表示所有的可行解,表示各个目标函数,即簇数k与类内聚,由所有非支配解构成非支配解集E(t);如果可行解中的两个解满足公式和则认为支配;适应值定义为,其中表示个体的排序值,如果个体为非支配解则其排序值为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 , the number of clusters k is the number of 1s in the individual code, and the calculation of class cohesion 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 To achieve individual decoding, the class cohesion is defined as , where k represents the number of clusters, for the node, for clustering cluster center; if there is no makes the formula holds, and at least one solution is strictly unequal, the solution is considered is a non-dominated solution, where represents all feasible solutions, Represents each objective function, that is, the number of clusters k and the cohesion of the class , constitutes a non-dominated solution set E(t) from all non-dominated solutions; if two solutions in the feasible solution satisfy the formula and then think dominate ; The fitness value is defined as ,in means individual The sort value of , if the individual 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)遍历索引结构各叶索引结点,若该叶索引结点轴向包围盒的体积大于, 为用户设定的阈值,通常取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 , 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)令表示在以结点N为根索引结点的索引结构中查询空间对象T的邻近对象集合,若结点N为数据结点且与外接球S相交,则返回其包含的空间对象集合,若结点N不是数据结点,则,其中表示结点N中与外接球S相交的子结点;3) 将当前结点N初始化为索引结构的根索引结点,则空间对象T的邻近对象集合为。 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 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 ,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 .
本发明与现有技术相比,具有以下四个特点: 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的每个子结点与待插入结点的的轴向包围盒中心间的距离为,采用公式计算两结点的外接球重叠度,其中、分别为结点与的轴向包围盒外接球半径,选择重叠度最小的作为当前结点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 with the node to be inserted The distance between the centers of the axial bounding boxes of is , using the formula Calculate the overlapping degree of circumscribed balls of two nodes, where , 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的个子结点,计算它们的轴向包围盒的中心到结点node的轴向包围盒的中心的距离;2)以步骤1)中计算的距离值为关键字,对结点node的子结点进行降序排序,选出前个子结点。 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 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.
将结点插入到索引结构程序2中,若结点node的子结点数n大于最大子结点数M,则调用结点分裂程序3)对结点node进行结点分裂,其具体过程如图6所示,过程(1)中个体采用长度为的二进制串表示,每一位对应于一个结点,1表示聚类中心,0表示非聚类中心,随机地将个体中每一位置为0或1,实现个体初始化,然后分配并初始population_size个个体,完成种群的初始化;过程(2)中目标函数包括簇数k以及类内距,统计个体中1的个数即为簇数k,计算类内距需先对个体解码,提取出个体中1所对应的结点,即分簇中心,然后计算其他结点到各分簇中心的距离,将其归为距离最近的分簇中心所表示的分簇,形成分簇集合,计算类内距,其中k表示簇数,为结点,为分簇的聚类中心;过程(3)计算种群中个体的适应值,计算公式为,其中表示个体的排序值,若个体与,满足和且其中有一个公式是严格不等的,则个体支配个体,若没有任何个体能支配个体,则个体为非支配解,对种群中的非支配个体分配排序值1,其他个体的排序值等于支配该个体的个体数目加一;过程(4)构造Pareto解集合,遍历每个个体,对于每个个体寻找是否有能支配该个体的个体存在,若不存在则将该个体加入集合;过程(5)对Pareto解集合的个体解码,从中选择轴向包围盒重叠度与轴向包围盒体积之和最小的分裂方案作为结点的最优分裂方案,将分簇作为结点的子结点,为分簇集合分别新建结点,计算新结点的轴向包围盒,并将新节点作为结点的父结点的子结点插入到索引结构中。 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 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 , 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 , where k represents the number of clusters, for the node, for clustering clustering center; process (3) calculates the fitness value of the individual in the population, and the calculation formula is ,in means individual The sort value of , if the individual and ,satisfy and and one of the formulas is strictly unequal, the individual dominate individual , if no individual can dominate the individual , the individual 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 , 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 ; Process (5) sets Pareto solutions 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 , will cluster As a child node of a node, it is a clustering set Create new nodes separately , calculate the axial bounding box of the new node, and put the new node The child nodes that are the parent nodes of the node are inserted into the index structure.
优化索引结构程序3的步骤具体是:1)遍历索引结构,计算叶索引结点层轴向包围盒的平均体积;2)遍历索引结构各叶索引结点,若该叶索引结点轴向包围盒的体积大于(为用户设定的阈值,通常取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 ;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 ( 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)定义函数表示在以结点N为根索引结点的索引结构中查询空间对象T的邻近对象集合,若结点N为数据结点且与外接球S相交,则返回其包含的空间对象集合,若结点N为内部结点,则,其中表示结点N中与外接球S相交的子结点;3) 将当前结点N初始化为索引结构的根索引结点,则空间对象T的邻近对象集合为。 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 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 ,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 .
其它产品逆向工程数据的动态索引结构构建方法同上。 The construction method of the dynamic index structure of the reverse engineering data of other products is the same as above.
Claims (3)
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)
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)
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 |
-
2012
- 2012-09-11 CN CN2012103325379A patent/CN102831241A/en active Pending
Patent Citations (4)
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)
Title |
---|
孙永伟: "基于最小包围盒及自适应聚类的三维R*-树索引结构", 《山东理工大学硕士学位论文》 * |
Cited By (6)
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 |