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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/21—Collision 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
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).
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)
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)
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)
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 |
-
2016
- 2016-09-07 CN CN201610806317.3A patent/CN106373192B/en not_active Expired - Fee Related
Patent Citations (2)
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)
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 |