CN106373192B - A kind of non-topological coherence three-dimensional grid block tracing algorithm - Google Patents

A kind of non-topological coherence three-dimensional grid block tracing algorithm Download PDF

Info

Publication number
CN106373192B
CN106373192B CN201610806317.3A CN201610806317A CN106373192B CN 106373192 B CN106373192 B CN 106373192B CN 201610806317 A CN201610806317 A CN 201610806317A CN 106373192 B CN106373192 B CN 106373192B
Authority
CN
China
Prior art keywords
grid body
grid
relative position
position coordinates
dimensional
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.)
Expired - Fee Related
Application number
CN201610806317.3A
Other languages
Chinese (zh)
Other versions
CN106373192A (en
Inventor
邓飞
隆振海
王美平
程春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Univeristy of Technology
Original Assignee
Chengdu Univeristy 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 Chengdu Univeristy of Technology filed Critical Chengdu Univeristy of Technology
Priority to CN201610806317.3A priority Critical patent/CN106373192B/en
Publication of CN106373192A publication Critical patent/CN106373192A/en
Application granted granted Critical
Publication of CN106373192B publication Critical patent/CN106373192B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Abstract

The present invention relates to a kind of non-topological coherence three-dimensional grid block tracing algorithms, applied to three-dimensional geological modeling field, it can solve the problem of block tracing algorithm used in traditional Geologic modeling can not be handled the model of non-topological coherence, comprising steps of (1) imports the three-dimensional geological model of non-topological coherence, the maximum division depth that the division of space lattice body is carried out to the three-dimensional geological model space is set;(2) the space lattice body partitioning algorithm based on octotree data structure is used, the division of on-fixed grid body, the grid body that the scale of obtaining is not quite similar are carried out to the three-dimensional geological model space;(3) with unrestrained water block tracing algorithm, block tracking is carried out based on the grid body, obtains grid body set corresponding to each block.The tracking of grid block is carried out to three-dimensional geological model using this method, memory space can be saved and not will receive the whether consistent influence of three-dimensional geological model topological relation.

Description

A kind of non-topological coherence three-dimensional grid block tracing algorithm
Technical field
The present invention relates to three-dimensional geological modeling fields, calculate more particularly to a kind of non-topological coherence three-dimensional grid block tracking Method.
Background technique
In three-dimensional geological modeling, curved surface is indicated by the triangulation network.When occurring the case where many levels intersection, if more There is not the case where topological structure entanglement in the triangle of a level intersection, then these levels is claimed to have topological coherence.
Traditional block tracing algorithm needs march to ensure the topological coherence of surface model before execution Ask friendship and trimming operation in face.When geological model is complex, multiple asks friendship and cutting so that the triangulation network becomes near intersection Intensively and unevenly, triangulation network size difference becomes larger, it is difficult to obtain the triangulation network curved surface of topological coherence.
Chasing after clock algorithm using traditional block will appear not the model progress block tracking of the non-topological coherence in this part Expected mistake: it may obtain not closed block, occur the phenomenon that canine tooth interlocks at intersection;It can may also lose completely Block.
Summary of the invention
Technical problem to be solved by the invention is to provide a kind of non-topological coherence three-dimensional grid block tracing algorithms, are Solve the problems, such as that algorithm used in traditionally matter modeling can not be handled the model of non-topological coherence, the present invention uses Algorithm to three-dimensional geological model carry out the tracking of grid block, memory space can be saved and not will receive three-dimensional geological mould The whether consistent influence of type topological relation.
The technical scheme to solve the above technical problems is that a kind of non-topological coherence three-dimensional grid block tracking Algorithm, comprising steps of
(1) three-dimensional geological model of non-topological coherence is imported, setting carries out space networks to the three-dimensional geological model space The maximum division depth that lattice body divides;
(2) the space lattice body partitioning algorithm based on octotree data structure is used, to the three-dimensional geological model space The division of on-fixed grid body is carried out, the grid body of different scales is obtained;
(3) grid body is tracked with unrestrained water block tracing algorithm, obtains grid corresponding to each block Body set.
The beneficial effects of the present invention are: the present invention introduces a kind of non-topological coherence three-dimensional space net in Geologic modeling Lattice block tracing algorithm, using unrestrained water block back tracking method tracking block space structure and boundary, do not need model has the algorithm Stringent topological structure, and input intersection topological structure is not needed, it can be realized just with the geometric shape of curved surface itself Block tracking carries out the tracking of grid block to three-dimensional geological model using this method, can save memory space, avoid by topology Relationship affect.
Based on the above technical solution, the present invention can also be improved as follows.
Into one, the maximum division depth in the step (1) refers to the maximum value of the depth value of the grid body marked off, Wherein the depth value of arbitrary mess body is that the depth value of its higher level's grid body adds 1, and the depth value of root grid body is 0;
Further, space lattice body partitioning algorithm of the utilization based on octotree data structure in the step (2) is to institute State the detailed process that three-dimensional geological model space carries out the division of on-fixed grid body are as follows:
(21) an empty node queue is established;
(22) using the three-dimensional geological model space as root grid body, and its corresponding node is established, by the node It is added in the node queue;The node refers to: gridding information being saved as a whole, including grid Absolute coordinate in the model space of body depth, grid body size, grid body, grid body access label, relative position coordinates, on Grade grid body node index and inferior grid body node index list.Wherein, institute is saved in inferior grid body index list State the index of all inferior grid bodies of grid body.Grid body node can be directly found in the case where existing node index.
(23) if the node queue is not sky, first node is taken out as present node and executes step (24), otherwise grid body divides completion;
(24) judge whether the corresponding grid body of present node meets the condition for continuing to divide, if so, thening follow the steps (25), step (23) otherwise, are executed;
(25) on the basis of the midpoint in x, y, z direction, average division current grid body, it is identical to obtain 8 scales, and with original The similar sub-grid body of grid body, and corresponding node is established, the new index for establishing node is added to current grid body In node inferior grid body node index queue, the superior grid body for 8 grid bodies that current grid body as newly marks off;
(26) grid body come is marked off for described, indicates its position in superior grid body using relative position coordinates It sets;
Further, whether the judgement current grid body in the step (24) meets the condition for continuing to divide and refers to: checking The maximum that whether current grid has collision with the curved surface in the model space and not up to user specifies divides depth, if current net The maximum that curved surface in lattice and the model space has collision and not up to user specifies divides depth, then it is assumed that current grid body is full Foot divides condition.
Further, the unrestrained water block tracing algorithm specific steps in the step (3) are as follows:
(31) grid body that one does not include any triangle is added in a null set, is accessed label and is set to It does not access;
(32) using adjacent grid body searching algorithm, all directions of the grid body is traversed, all directions are found out On adjoining grid body, be added in the null set and be set to the grid body azimuth mark found out and do not access, later The access label of the grid body is set to and has been accessed;
(33) grid body of a not visited mistake is found out from set, is executed step (32), if cannot look for from set The grid body that do not crossed out by orientation then carries out step (34);
(34) grid body set corresponding to the grid body comprising triangle is determined using boundary mesh body decision algorithm.
Further, the adjoining grid body searching algorithm detailed process in the step (32) are as follows:
(321) assume that there are an adjacent grid bodies identical with the grid body depth value as target on assigned direction Grid body;
(322) the specified direction of search is indicated using offset coordinates, minimum subtree root grid is recorded using a list To the path of the target gridding body as path list, the direction of search specified using offset coordinates expression refers to body: Each grid body can at most have 26 adjacent grid bodies, wherein the adjacent grid body 6 in face, the adjacent grid body 12 in side, and point is adjacent Grid body 8 are connect, these grid bodies and former grid body have a relative position, indicate using a three-dimensional integer number vector For former grid body to the direction of target gridding body, each coordinate of the vector can only take " -1 ", " 0 " or " 1 " thrin.
(323) using accumulative relative position coordinates calculating target gridding body, the integer of grade grid body is three-dimensional thereon relatively Coordinate illustrates current grid body and target network if the relative position coordinates of calculated target gridding body have spillover Lattice body does not share the same superior grid body, thens follow the steps (324);If the relative position of calculated target gridding body is sat Mark does not overflow, and thens follow the steps (325);
(324) it is sat by the actual relative position of the relative position coordinates calculation overflow direction and goal grid body overflowed It marks, and actual relative position coordinates is added to the last one element of path list, by the superior grid of current grid body Body thens follow the steps (321) as new current grid body;
(325) the superior grid body of current grid body is minimum subtree root grid body, by the relative position of target gridding body Coordinate is added to the last one element of path list;
(326) it is found out on the assigned direction of physical presence by the record in minimum subtree root grid body and path list Adjoining grid body.
Further, the use in the step (323) adds up relative position coordinates reckoning target gridding body relatively thereon The integer three-dimensional coordinate of grade grid body refers to: directly the relative position coordinates of current grid body added up with assigned direction, it can To obtain a new three-dimensional integer coordinate;The spillover refers to: if there is " -1 " in three-dimensional integer coordinate Or " 2 ", then it is assumed that coordinate has spillover in this direction.
Further, the relative position coordinates calculation overflow direction and goal grid by spilling in the step (324) The actual relative position coordinates of body refer to: indicating any one in tri- dimensions of x, y or z with letter " i ", then to all dimensions I is spent, if relative position coordinates are " -1 " in dimension i upper value, the value of dimension i is value " 1 " bigger than normal;If relative position coordinates exist Dimension i upper value is " 2 ", then the value of dimension i is value " 0 " less than normal;It overflows direction and refers to a three-dimensional integer coordinate, the coordinate The value being worth in each dimension is corresponding with accumulative relative position coordinates, bears and overflows on dimension i when accumulative relative position coordinates, The value for then overflowing dimension i in direction is " -1 ";When accumulative relative position coordinates are just being overflowed on dimension i, then overflows in direction and tie up The value for spending i is " 1 ";It is not overflowed when in accumulative relative position coordinates again dimension i, then the value for overflowing dimension i in direction is " 0 "; The last one element that the actual relative position coordinates are added to path list refers to: path list is for recording from most The list in path of the small subtree root grid body to target gridding body, in the path, the superior grid body of target gridding body to mesh Mark the final step that grid body is the path.
Further, reality is found out by the record in minimum subtree root grid body and path list in the step (326) Adjoining grid body on assigned direction existing for border refers to:
(3261) using minimum subtree root grid body as current grid body;
(3262) if there are junior's grid bodies for current grid body, first element is taken out from path list and obtains this yuan The relative position coordinates of element storage;
(3263) the relative position coordinates virgin grid body of current grid body is directly found;
(3263) if path list be not at this time it is empty if hold using the sub-grid body as new current grid body and returning Row step (3262), it is no to then follow the steps (3267);
(3267) current grid body does not have sub-grid body, then no matter whether path list is sky, and current grid body is reality Border abuts grid body;If current grid body has sub-grid body, but path list has been sky, then needs to be implemented trial search operation.
Further, the trial search operation in the step (3267) refers to:
(32671) if current grid body has sub-grid body, (32672) are thened follow the steps, otherwise current grid body is one A practical adjacent grid body;
(32672) go out the sub-grid body for meeting assigned direction of the current grid body by following Rules Filtering, later It executes step (32673):
If the value of dimension i is " -1 " in assigned direction, the value of relative position coordinates dimension i is not " 1 " in sub-grid body Grid be not centainly the grid body for meeting assigned direction;If the value of dimension i is " 1 ", phase in sub-grid body in assigned direction Value to position coordinate dimensions i is not that the grid of " 0 " is not centainly the grid body for meeting assigned direction.
(32673) the sub-grid body filtered out described in each executes step (32671).
Further, the boundary mesh decision algorithm in the step (34) refers to, is determining the grid body comprising triangle When corresponding discrete grid block body set, always carried out by designated parties, with perpendicular to assigned direction, be in assigned direction vector The ray of one and assigned direction with vector is done as entering surface, from entering surface center in the face of initial point position, with ray elder generation Grid body where the triangle of collision just belongs to the discrete grid block body set.
Detailed description of the invention
Fig. 1 is flow chart of the present invention;
Fig. 2 is that non-topological coherence grid block tracks schematic diagram;
Fig. 3 is Octree partitioning algorithm flow chart;
Fig. 4 is that relative position coordinates indicate schematic diagram;
Fig. 5 is octotree data structure schematic diagram;
Fig. 6 is that topological coherence model conventional method block tracks effect picture;
Fig. 7 is that topological coherence model meshes block tracks effect picture;
Fig. 8 is that non-topological coherence model conventional method block tracks effect picture;
Fig. 9 is that non-topological coherence grid block tracks effect picture;
Figure 10 is to import modelling effect figure;
Figure 11 is that grid block tracks effect picture.
Specific embodiment
The principle and features of the present invention will be described below with reference to the accompanying drawings, and the given examples are served only to explain the present invention, and It is non-to be used to limit the scope of the invention.
As shown in Figures 1 to 5, the invention discloses a kind of non-topological coherence three-dimensional grid block tracing algorithm, it is related to Three-dimensional geological modeling field, can not be at the model to non-topological coherence in order to solve algorithm used in traditional Geologic modeling The problem of reason.During three-dimensional geological modeling, Block Model is a kind of effective three-dimensional geological model, it can accurately be retouched Geometrical characteristic, topological structure and the property parameters of geological object are stated and express, and in Geologic modeling software, Block Model can be with It tracks to obtain by grid block.
The non-topological coherence three-dimensional grid block tracing algorithm that the present invention introduces is first using based on Octree data knot The space lattice body partitioning algorithm of structure carries out the division of on-fixed grid body to space, is carried out using this method to three-dimensional geological model It divides, the quantity of grid body can be greatly reduced, save memory space.On this basis, the three-dimensional block that the present invention introduces chases after Track method can carry out block tracking operation to the three-dimensional geological model of non-topological coherence.Certainly, for the three-dimensional of topological coherence Geological model, the algorithm that the present invention introduces can still work normally and obtain correct result.
A kind of non-topological coherence three-dimensional grid block tracing algorithm, comprising steps of
(1) three-dimensional geological model of non-topological coherence is imported, setting carries out grid body division to three-dimensional geological model space It is maximum divide depth, that is, the maximum value of the depth value of the grid body marked off, wherein the depth value of arbitrary mess body is thereon The depth value of grade grid body adds 1, and the depth value of root grid body is 0;
(2) the space lattice body partitioning algorithm based on octotree data structure is used, three-dimensional geological model space is carried out On-fixed grid body divides, and three-dimensional geological model space is divided into the grid body that scale is not quite similar;
On-fixed grid body divide be it is a kind of relative to fixed mesh body divide method, fixed mesh body division refer to by Space is divided into the essentially equal grid body of volume, and on-fixed grid body divides, that is, divides the space into what scale was not quite similar Grid body, detailed process are as follows:
(21) an empty node queue is established;
I.e. to one memory headroom of computer application, the grid body segment that will be accessed for temporarily storing next operation Any grid body node should be not present at the beginning of foundation in point in this memory headroom;
(22) using three-dimensional geological model space as root grid body, and its corresponding node is established, node is added to institute It states in node queue;
The model space gridding information will entirely be saved as a whole, hereinafter referred to as a grid " node ".Pass through this means, it is ensured that computer may have access to the grid saved in the node while finding node For information about, it is rapidly carried out convenient for next operation.In octree nodes, grid body depth, grid body are saved Absolute coordinate, grid body the access label, relative position coordinates, superior grid body node of size, grid body in the model space Index and inferior grid body node index list.Wherein, the institute of the grid body is saved in inferior grid body index list There is the index of inferior grid body.Grid body node can be directly found in the case where existing node index.
(23) if above-mentioned node queue is not sky, first node is taken out as present node and executes step (24), otherwise grid body divides completion;
(24) judge whether the corresponding grid body of present node meets the condition for continuing to divide, if so, thening follow the steps (25), step (23) otherwise, are executed;
Determine current grid body whether meet continue divide condition refers to: check current grid whether in the model space Curved surface have collision and depth value is not up to that user specifies it is maximum divide depth, if the song in current grid and the model space There is collision in face and depth value is not up to the maximum division depth that user specifies, then it is assumed that current grid body meets division condition;
(25) on the basis of the midpoint in x, y, z direction, average division current grid body, it is identical to obtain 8 scales, and with original The similar sub-grid body of grid body, and corresponding node is established, the new index for establishing node is added to current grid body In node inferior grid body node index queue, the superior grid body for 8 grid bodies that current grid body as newly marks off;
(26) grid body come is marked off for described, indicates its position in superior grid body using relative coordinate;
Indicate that its position in superior grid body refers to using relative coordinate: space where grid body is sat by right hand canonical Mark system is described, and former hexahedral every rib is centainly parallel with a reference axis in x-axis, y-axis or z-axis, so each net The the smallest point of an x, y, z coordinate is certainly existed in 8 vertex of lattice body makees coordinate along x, y, z axis using the point as origin Axis can establish a coordinate system as shown in Figure 4.It is each sub-grid body according to locating for it under this local coordinate system An integer three-dimensional coordinate is distributed in position.Value in each dimension of the three-dimensional coordinate can only take one in " 0 " or " 1 " Value.For example, the grid body in Fig. 4 where local coordinate system origin then should in the x, y, z-directions all in close to the position of origin The assigned integer three-dimensional coordinate of grid body is (0,0,0).In the case where as shown in Figure 4, all for 8 sub- grid bodies Its corresponding relative position coordinates on label.Wherein, in z-axis coordinate value four grid bodies bigger than normal relative position coordinates It has been marked on the position of its upper surface;The relative position coordinates of coordinate value four grid bodies less than normal are marked in z-axis The position of its lower surface, after the completion of division, based on root node, can obtain data structure as shown in Figure 5.Entitled Root Node be the corresponding grid body node of the entire model space.C0, C1, C2 and C3 continue to divide to say for sub-grid body again Original curved surface produces collision in this bright four grid bodies and the model space.And C4, C5, C6 and C7 do not continue to draw Point, illustrate that original curved surface does not generate collision in this 4 grid bodies and the model space.
(27) (23) are returned to step.
(3) grid body is tracked with unrestrained water block tracing algorithm, obtains grid body collection corresponding to block It closes, overflows water block tracing algorithm specific steps are as follows:
(31) grid body that one does not include any triangle is added in a null set, is accessed label and is set to It does not access;
(32) using adjacent grid body searching algorithm, all directions of the grid body is traversed, all directions are found out On adjoining grid body, be added in the null set and be set to the grid body azimuth mark found out and do not access, later The access label of the grid body is set to and has been accessed;
(33) grid body that a not visited mistake is found out from set executes step (32), if cannot find out from set The grid body of not visited mistake then carries out step (34);
The specific practice of adjacent grid body searching algorithm is:
(321) assume that there are an adjacent grid bodies identical with the grid body depth value as target on assigned direction Grid body;
(322) the specified direction of search is indicated using offset coordinates, minimum subtree root grid is recorded using a list Body is to the path of the target gridding body as path list;
Wherein, indicate that the specified direction of search refers to using offset coordinates: each grid body can at most have 26 adjoinings Grid body, wherein the adjacent grid body 6 in face, the adjacent grid body 12 in side put adjacent net individual 8.These grid bodies and former net Lattice body has a relative position.Now indicate former grid body to the side of target gridding body using a three-dimensional integer number vector To each coordinate of the vector can only take " -1 ", " 0 " or " 1 " thrin.
Wherein, path list refers to record the path of minimum subtree root grid body to target gridding body: Road of the present invention The minimum unit of diameter is the relative position coordinates that a non-overflow three-dimensional integer indicates.If target gridding body is in Model Space In, then it is inevitable to belong to certain grid bodies altogether with current grid body.Current grid body and target gridding body are wrapped simultaneously at these Containing in grid body inside, energy will be current just for scale the smallest one as minimum subtree root grid body and only one The grid body that grid body and target gridding body are included simultaneously.When target gridding body is in inside minimum subtree root grid body When, the superior grid body of target gridding body is then necessarily in inside minimum subtree root grid body or itself is exactly most boy Tree root grid body.So, minimum subtree root grid body can be divided into minimum subtree root grid to the path of target gridding body Body to target gridding body superior grid body path and target gridding body superior grid body to the path of target gridding body.Wherein The path length of the superior grid body of target gridding body to target gridding body is 1, i.e., in the higher level's net for having found target gridding body In the case where lattice body, it is only necessary to know that the relative position coordinates of target gridding body can directly find target gridding body.But it is practical On in this case, the relative position of target gridding body is known.And minimum subtree root grid body is to target gridding body The path length of superior grid body may be random natural number.Path list is used to store since minimum subtree root grid body, It can obtain the relative position coordinates that each step of target gridding body needs to use.
(323) using accumulative relative position coordinates calculating target gridding body, the integer of grade grid body is three-dimensional thereon relatively Coordinate illustrates current grid body and target network if the relative position coordinates of calculated target gridding body have spillover Lattice body does not share the same superior grid body, thens follow the steps (324);If the relative position of calculated target gridding body is sat Mark does not overflow, and thens follow the steps (325);
Wherein, using accumulative relative position coordinates reckoning target gridding body, the integer of grade grid body is three-dimensional thereon relatively Coordinate refers to: directly the relative position coordinates of current grid body adding up with assigned direction, available one new three-dimensional is whole Type number coordinate.If there is " -1 " or " 2 " in three-dimensional integer coordinate, then it is assumed that coordinate has spillover in this direction.
(324) it is sat by the actual relative position of the relative position coordinates calculation overflow direction and goal grid body overflowed It marks, and actual relative position coordinates is added to the last one element of path list, by the superior grid of current grid body Body thens follow the steps (321) as new current grid body;
Wherein, pass through the actual relative position coordinates of relative position coordinates calculation overflow direction and goal grid body of spilling Refer to: any one in tri- dimensions of x, y or z being indicated with letter " i ", then to all dimension i, if relative position coordinates exist It is born on dimension i and overflows (value is " -1 "), then must there is the value of dimension i to should be value (" 1 ") bigger than normal;If relative position coordinates are in dimension The upper positive spilling (value is " 2 ") of i, then must have the value of dimension i to should be value (" 0 ") less than normal.It overflows direction and refers to a three-dimensional integer Coordinate is counted, the value in each dimension of the coordinate value is corresponding with accumulative relative position coordinates, when accumulative relative position coordinates exist It bears and overflows on dimension i, then the value for overflowing dimension i in direction is " -1 ";When accumulative relative position coordinates are just being overflowed on dimension i, The value for then overflowing dimension i in direction is " 1 ";It is not overflowed when in accumulative relative position coordinates again dimension i, then overflows in direction and tie up The value for spending i is " 0 ".
Wherein, the last one element that actual relative position coordinates are added to path list refers to: path list is to use In the list for recording the path from minimum subtree root grid body to target gridding body, in the path, the higher level of target gridding body Grid body to target gridding body be the path final step.When path list is empty, current relative position is practical It is added for the first step.It is contemplated that relative position coordinates to be added to the last one element of path list every time, finally The available inverse path from minimum subtree root grid body to target gridding body.
Wherein, the superior grid body of current grid body is executed step (321) as new current grid body to refer to: to work as For the superior grid body of preceding grid body as benchmark, the superior grid body for finding current grid body is overflowing the adjoining grid on direction Body.Due to having obtained target gridding body relative position coordinates of grade grid body thereon relatively before, so only need to look for Superior grid body to target gridding body can find target gridding body.By the rule referred to before, the higher level of target gridding body Grid body necessarily current grid body superior grid body overflow direction on adjoining grid body.
(325) the superior grid body of current grid body is minimum subtree root grid body, by the relative position of target gridding body Coordinate is added to the last one element of path list;
When executing step (325), one or many execution above-mentioned steps are had already been through, and current grid body at this time Superior grid body and its in superior grid the body necessarily same grid body, i.e. most boy for overflowing the adjoining grid body on direction Tree root grid body.It is had recorded in path list at this time from the adjoining grid body on current grid body spilling direction to target gridding body Path.Only need to obtain the path for the adjoining grid body that minimum subtree root grid body is overflowed to current grid body on direction again, Minimum subtree root grid body can be obtained to the path of target gridding body, and minimum subtree root grid body is overflowed to current grid body The opposite position of adjacent grid body on direction is overflowed by an individual current grid body again in the path of adjoining grid body on direction Coordinate composition is set, so the relative position coordinates that current grid body need to only be overflowed to adjacent grid body on direction are added to path column In table, can be obtained minimum subtree root grid body to target gridding body fullpath.
(326) it is found out on the assigned direction of physical presence by the record in minimum subtree root grid body and path list Adjoining grid body.
When executing step (326), is found out by the record in minimum subtree root grid body and path list and actually deposited Assigned direction on adjoining grid body refer to:
(3261) using minimum subtree root grid body as current grid body;
(3262) if there are junior's grid bodies for current grid body, first element is taken out from path list and obtains this yuan The relative position coordinates of element storage;
(3263) the relative position coordinates virgin grid body of current grid body is directly found;
(3263) if path list be not at this time it is empty if hold using the sub-grid body as new current grid body and returning Row step (3262), it is no to then follow the steps (3267);
(3267) current grid body does not have sub-grid body, then no matter whether path list is sky, and current grid body is reality Border abuts grid body;If current grid body has sub-grid body, but path list has been sky, then needs to be implemented trial search operation.
Trial search operation in the step (3267) refers to:
(32671) if current grid body has sub-grid body, (32672) are thened follow the steps, otherwise current grid body is one A practical adjacent grid body;
(32672) go out the sub-grid body for meeting assigned direction of the current grid body by following Rules Filtering, later It executes step (32673):
If the value of dimension i is " -1 " in assigned direction, the value of relative position coordinates dimension i is not " 1 " in sub-grid body Grid be not centainly the grid body for meeting assigned direction;If the value of dimension i is " 1 ", phase in sub-grid body in assigned direction Value to position coordinate dimensions i is not that the grid of " 0 " is not centainly the grid body for meeting assigned direction.
(32673) the sub-grid body filtered out described in each executes step (32671).
(33) it finds out the grid body of the grid body of a not visited mistake from set, executes step (32), if cannot be from The grid body of not visited mistake is found out in set, then carries out step (34);
(34) determine which grid body set is the grid body comprising triangle belong to using boundary mesh body decision algorithm, Boundary mesh decision algorithm refers to, when determining which grid body set is the grid body comprising triangle should belong to, passes through finger Determine direction to carry out, using perpendicular to assigned direction, the face in assigned direction vector initial point position as entering surface, from entrance The ray of one and assigned direction with vector is done at face center, the ray first with the triangle in which grid body set boundaries level Collision, then which grid body set current grid body just belongs to.
Fig. 6 illustrates common block tracing algorithm and tracks effect to the block of topological coherence model;
Fig. 7 illustrates algorithm of the present invention and tracks effect to the grid block of topological coherence model;
Fig. 8 illustrates common block tracing algorithm and tracks effect to the block of non-topological coherence model;
Fig. 9 illustrates inventive algorithm and tracks effect to the grid block of non-topological coherence model.
Embodiment 1
Non- topological coherence grid block tracer technique of the invention, specific embodiment are as follows:
(1) import archetype information, as in the case illustrated in figure 10 in, imported the geological model of non-topological coherence, should It is the direction 18000, z depth is 15800 that model x direction length, which is the direction 32000, y length, and model does not carry out asking friendship and cutting Processing, there are cross_over phenomenas for stratum and tomography curved surface;The maximum depth that divides for carrying out grid body division to the model space, which is arranged, is 9, it is contemplated that the X-direction value of minimum grid body is 62.50, and the value of Y-direction is 35.16, and the value of Z-direction is 30.86;
(2) grid block demarcation is carried out to the model space, the X-direction value of minimum grid body is 62.50 at this time, Y-direction Value is 35.16, and the value of Z-direction is 30.86;
(3) block tracking is carried out using unrestrained network of rivers lattice block tracing algorithm.In the case where as shown in figure 11, obtain The grid block of non-topological coherence.
The foregoing is merely presently preferred embodiments of the present invention, is not intended to limit the invention, it is all in spirit of the invention and Within principle, any modification, equivalent replacement, improvement and so on be should all be included in the protection scope of the present invention.

Claims (7)

1. a kind of non-topological coherence three-dimensional grid block method for tracing, which is characterized in that comprising steps of
(1) three-dimensional geological model of non-topological coherence is imported, setting carries out space lattice body to the three-dimensional geological model space The maximum of division divides depth;
(2) the space lattice body partitioning algorithm based on octotree data structure is used, the three-dimensional geological model space is carried out On-fixed grid body divides, the grid body that the scale of obtaining is not quite similar;
(3) with unrestrained water block tracing algorithm, block tracking is carried out based on the grid body, obtains net corresponding to each block Lattice body set;
Wherein, water block tracing algorithm specific steps are overflow are as follows:
(31) grid body that one does not include any triangle is added in a null set, is accessed to mark to be set to and is not visited It asks;
(32) using adjacent grid body searching algorithm, all directions of the grid body is traversed, are found out in all directions Adjacent grid body, is added in the null set, and the grid body azimuth mark found out is set to and is not accessed, then by institute The access label for stating grid body, which is set to, have been accessed;
(33) found out from set a not visited mistake grid body execute step (32), if cannot be found out from set not by The grid body accessed then carries out step (34);
(34) grid body set corresponding to the grid body comprising triangle is determined using boundary mesh body decision algorithm;
Further, adjacent grid body searching algorithm detailed process are as follows:
(321) using one on assigned direction adjacent grid body identical with the grid body depth value as target gridding body;
(322) the specified direction of search is indicated using offset coordinates, minimum subtree root grid body is recorded using a list and is arrived The path of the target gridding body is described to indicate that the specified direction of search refers to using offset coordinates: each as path list Grid body is up to 26 adjacent grid bodies, wherein the adjacent grid body 6 in face, and the adjacent grid body 12 in side puts adjacent grid body 8 A, these grid bodies and former grid body have a relative position, indicate former grid body using a three-dimensional integer number vector To the direction of target gridding body, each coordinate of the vector can only take " -1 ", " 0 " or " 1 " thrin;
(323) using accumulative relative position coordinates calculating target gridding body, the integer three-dimensional of grade grid body is sat thereon relatively Mark, if the relative position coordinates of calculated target gridding body have spillover, current grid body and target gridding body are not The same superior grid body is shared, (324) are thened follow the steps;If the relative position coordinates of calculated target gridding body do not have It overflows, thens follow the steps (325);
(324) by the actual relative position coordinates of relative position coordinates calculation overflow direction and goal grid body overflowed, and Actual relative position coordinates are added to the last one element of path list, using the superior grid body of current grid body as New current grid body, and execute step (321);
(325) the superior grid body of current grid body is minimum subtree root grid body, by the relative position coordinates of target gridding body It is added to the last one element of path list;
(326) neighbour on the assigned direction of physical presence is found out by the record in minimum subtree root grid body and path list Connect grid body;
Boundary mesh decision algorithm in step (34) refers to:
Determine comprising triangle grid body corresponding to grid body set when, always carried out by designated parties, with perpendicular to One and designated parties are from entering surface center as entering surface in assigned direction, the face in assigned direction vector initial point position To the ray of same vector, which belongs to the corresponding grid body set of block on triangle as boundary first to collide.
2. non-topological coherence three-dimensional grid block method for tracing according to claim 1, which is characterized in that the step (2) space lattice body partitioning algorithm of the utilization based on octotree data structure in, carries out the three-dimensional geological model space The detailed process that on-fixed grid body divides are as follows:
(21) an empty node queue is established;
(22) using the three-dimensional geological model space as root grid body, and its corresponding node is established, the node is added Into the node queue;
(23) if the node queue is not sky, first node is taken out as present node, is executed step (24), Otherwise, grid body, which divides, completes;
(24) judge whether the corresponding grid body of present node meets the condition for continuing to divide, if so, (25) are thened follow the steps, Otherwise, step (23) are executed;
(25) on the basis of the midpoint in x, y, z direction, averagely division current grid body, obtain 8 scales it is identical and with former grid The similar sub-grid body of body, and corresponding node is established, the index of the corresponding node is added under the present node In grade grid body node index, the superior grid body for 8 grid bodies which as newly marks off;
(26) grid body come is marked off for described, indicates its position in superior grid body using relative position coordinates;
(27) (23) are returned to step.
3. non-topological coherence three-dimensional grid block method for tracing according to claim 2, which is characterized in that the step (24) the judgement current grid body in whether meet continue divide condition refers to: check current grid whether in the model space Curved surface have collision and depth value is not up to that user specifies it is maximum divide depth, if the song in current grid and the model space There is collision in face and depth value is not up to the maximum division depth that user specifies, then current grid body satisfaction continues division condition.
4. non-topological coherence three-dimensional grid block method for tracing according to claim 1, which is characterized in that the step (323) use in adds up relative position coordinates and calculates the target gridding body integer three-dimensional coordinate of grade grid body thereon relatively Refer to: directly the relative position coordinates of current grid body and assigned direction vector adding up, obtains a new three-dimensional integer Coordinate;The spillover refers to: if there is " -1 " or " 2 " in three-dimensional integer coordinate, then it is assumed that coordinate is in the direction On have spillover.
5. non-topological coherence three-dimensional grid block method for tracing according to claim 1, which is characterized in that the step (324) in is by the actual relative position coordinates of relative position coordinates calculation overflow direction and goal grid body of spilling Refer to:
Any one in tri- dimensions of x, y or z is indicated with letter " i ", then to all dimension i, if relative position coordinates exist Dimension i upper value is " -1 ", then the value of dimension i is value " 1 " bigger than normal;If relative position coordinates are " 2 " in dimension i upper value, tie up The value for spending i is value " 0 " less than normal;
It overflows direction and refers to a three-dimensional integer coordinate, value and accumulative relative position coordinates phase in each dimension of the coordinate It is corresponding, it bears and overflows on dimension i when accumulative relative position coordinates, then the value for overflowing dimension i in direction is " -1 ";When accumulative phase Position coordinates are just being overflowed on dimension i, then the value for overflowing dimension i in direction is " 1 ";When accumulative relative position coordinates are in dimension It is not overflowed on i, then the value for overflowing dimension i in direction is " 0 ";
The last one element that the actual relative position coordinates are added to path list refers to: path list is for recording The list in the path from minimum subtree root grid body to target gridding body, in the path, the superior grid body of target gridding body It is the final step in the path to target gridding body.
6. non-topological coherence three-dimensional grid block method for tracing according to claim 1, which is characterized in that the step (326) adjoining on the assigned direction of physical presence is found out by the record in minimum subtree root grid body and path list in Grid body refers to:
(3261) using the minimum subtree root grid body as current grid body;
(3262) if there are junior's grid bodies for the current grid body, first element is taken out from path list and obtains this yuan The relative position coordinates of element storage;
(3263) the sub-grid body at the relative position coordinates of the current grid body is found;
(3264) if path list is not at this time sky, the sub-grid body as new current grid body and is returned and executes step Suddenly (3262), it is no to then follow the steps (3267);
(3267) if current grid body does not have sub-grid body, no matter whether path list is sky, and current grid body is reality Adjacent grid body;If current grid body has sub-grid body, but path list has been sky, then needs to be implemented trial search operation.
7. non-topological coherence three-dimensional grid block method for tracing according to claim 6, which is characterized in that the step (3267) the trial search operation in specifically refers to:
(32671) if current grid body has sub-grid body, (32672) are thened follow the steps, otherwise current grid body is a reality Border abuts grid body;
(32672) the sub-grid body for going out in the current grid body to meet assigned direction by following Rules Filtering, if designated parties It is " -1 " to the value of middle dimension i, then it is not centainly symbol that the value of relative position coordinates dimension i, which is not the grid of " 1 ", in sub-grid body Close the grid body of assigned direction;If the value of dimension i is " 1 " in assigned direction, relative position coordinates dimension i in sub-grid body Value is not centainly the grid body for meeting assigned direction for the grid of " 0 ";
(32673) the sub-grid body filtered out described in each executes step (32671).
CN201610806317.3A 2016-09-07 2016-09-07 A kind of non-topological coherence three-dimensional grid block tracing algorithm Expired - Fee Related CN106373192B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610806317.3A CN106373192B (en) 2016-09-07 2016-09-07 A kind of non-topological coherence three-dimensional grid block tracing algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610806317.3A CN106373192B (en) 2016-09-07 2016-09-07 A kind of non-topological coherence three-dimensional grid block tracing algorithm

Publications (2)

Publication Number Publication Date
CN106373192A CN106373192A (en) 2017-02-01
CN106373192B true CN106373192B (en) 2019-03-26

Family

ID=57900106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610806317.3A Expired - Fee Related CN106373192B (en) 2016-09-07 2016-09-07 A kind of non-topological coherence three-dimensional grid block tracing algorithm

Country Status (1)

Country Link
CN (1) CN106373192B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107886572B (en) * 2017-11-09 2021-04-27 成都理工大学 Non-topological consistency three-dimensional geological block tracking method based on visual observation
CN111474579B (en) * 2020-05-07 2022-08-30 成都理工大学 Automatic view changing method based on uniform coverage times
CN116049924B (en) * 2023-03-07 2023-07-04 武汉益模科技股份有限公司 Three-dimensional part difference analysis method based on Cuda

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819865A (en) * 2012-08-09 2012-12-12 成都理工大学 Modeling method for magnetotelluric three-dimensional geologic structure model
CN105310776A (en) * 2014-12-02 2016-02-10 复旦大学 Soft tissue surface deformation tracking method based on sub-blocks

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2768033T3 (en) * 2010-12-22 2020-06-19 Zspace Inc Three-dimensional tracking of a user control device in a volume

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819865A (en) * 2012-08-09 2012-12-12 成都理工大学 Modeling method for magnetotelluric three-dimensional geologic structure model
CN105310776A (en) * 2014-12-02 2016-02-10 复旦大学 Soft tissue surface deformation tracking method based on sub-blocks

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"三维地质建模中的关键技术研究";吴广;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160415(第4期);论文全文
"复杂地层结构模型三维重构与可视化方法研究";黄地龙等;《成都理工大学学报(自然科学版)》;20081031;第35卷(第5期);553-558

Also Published As

Publication number Publication date
CN106373192A (en) 2017-02-01

Similar Documents

Publication Publication Date Title
CN109685914A (en) Cutting profile based on triangle grid model mends face algorithm automatically
CN106373192B (en) A kind of non-topological coherence three-dimensional grid block tracing algorithm
CN104635262B (en) A kind of positive reversed fault isopleth automatic generation method based on extended rectangular grid
CN107886564A (en) The method shown for realizing three-dimensional scenic
Acharya et al. A parallel and memory efficient algorithm for constructing the contour tree
CN102855661B (en) Large-scale forest scene quick generation method based on space similarity
CN110033519A (en) Three-dimensional modeling method, device, system and storage medium based on Implicitly function
CN110032771B (en) DEM accurate cutting method considering local detail characteristics for opencast coal mine
CN108537803B (en) A kind of CT image interactive segmentation method and device
CN104183021B (en) A kind of method of utilizing removable space lattice to simplify cloud data
CN109147050A (en) Road grid creation method and device based on Unity engine topography system
CN110110154A (en) A kind of processing method of map file, device and storage medium
CN109685844B (en) Method and device for optimizing marking and direction calibration of woven grids
Mubarak et al. A parallel ghosting algorithm for the flexible distributed mesh database
CN111695281A (en) Particle rapid positioning method for tetrahedral mesh division finite element particle simulation
CN108133234A (en) Community detection method, device and equipment based on sparse subset selection algorithm
CN107644422A (en) Massive point cloud Delaunay triangulation network construction method based on dual space data tissue
CN110968930A (en) Geological variable attribute interpolation method and system
CN108446343A (en) The method, apparatus and electronic equipment of region clustering
CN106548512B (en) The generation method of grid model data
CN114332322A (en) Big data rendering method of monomer model in three-dimensional scene
CN107886572B (en) Non-topological consistency three-dimensional geological block tracking method based on visual observation
CN114049387A (en) Tree skeleton extraction method based on 3D point cloud
CN107393019A (en) A kind of cloth simulation method and apparatus based on particle
CN109726895B (en) Multi-target-point task execution planning method and device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190326

Termination date: 20200907