CN106373192A - Non-topology-consistency three-dimensional grid block tracking algorithm - Google Patents

Non-topology-consistency three-dimensional grid block tracking algorithm Download PDF

Info

Publication number
CN106373192A
CN106373192A CN201610806317.3A CN201610806317A CN106373192A CN 106373192 A CN106373192 A CN 106373192A CN 201610806317 A CN201610806317 A CN 201610806317A CN 106373192 A CN106373192 A CN 106373192A
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.)
Granted
Application number
CN201610806317.3A
Other languages
Chinese (zh)
Other versions
CN106373192B (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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

The invention relates to a non-topology-consistency three-dimensional grid block tracking algorithm, is applicable to the three-dimensional geological modeling field and solves a problem that a traditional block tracking algorithm utilized for geological modeling can not process non-topology-consistency models. The method comprises steps that (1), a non-topology-consistency three-dimensional geological model is inputted, and largest division depth for space grid body division of the three-dimensional geological model space is set; (2), a space grid body division algorithm on the basis of an octree data structure is utilized to carry out non-fixed grid body division of the three-dimensional geological model space to acquire grid bodies with scales which are not all identical; and (3), a water overflowing block tracking algorithm is utilized, block tracking on the basis of the grid bodies is carried out, and a grid body set corresponding to each block is acquired. Through the method, grid block tracking for the three dimensional geological model is carried out, the storage space is saved, and influence of topology relationship consistency of the three dimensional geological model can be prevented.

Description

A kind of non-topological coherence three-dimensional grid block tracing algorithm
Technical field
The present invention relates to three-dimensional geological modeling field, specifically related to a kind of non-topological coherence three-dimensional grid block tracking calculation Method.
Background technology
In three-dimensional geological modeling, curved surface is all represented by the triangulation network.When the situation that many levels intersect occurs, if many The situation of topological structure entanglement in the triangle of individual aspect intersection, then claim these aspects to have topological coherence.
Traditional block tracing algorithm, in order to guarantee the topological coherence of surface model before execution, needs march Friendship and trimming operation are asked in face.When geological model is complex, multiple ask friendship and cutting make the triangulation network become near intersection Obtain intensive and uneven, triangulation network difference in size mutation is greatly it is difficult to obtain the triangulation network curved surface of topological coherence.
Using traditional block chase after clock algorithm the model of the non-topological coherence in this local is carried out block follow the trail of occur not Expected mistake: the block do not closed may be drawn, the phenomenon that canine tooth interlocks occurs at intersection;It is likely to lose completely Block.
Content of the invention
The technical problem to be solved is to provide a kind of non-topological coherence three-dimensional grid block tracing algorithm, is Used in solving the problems, such as traditionally matter modeling, algorithm cannot be processed to the model of non-topological coherence, and the present invention adopts Algorithm grid block tracking is carried out to three-dimensional geological model, memory space can be saved and three-dimensional geological mould will not be subject to The whether consistent impact of type topological relation.
The technical scheme is that a kind of non-topological coherence three-dimensional grid block is followed the trail of Algorithm, including step:
(1) import the three-dimensional geological model of non-topological coherence, setting carries out space networks to described three-dimensional geological model space The maximum division depth that lattice body divides;
(2) with the space lattice body partitioning algorithm based on octotree data structure, to described three-dimensional geological model space Carry out on-fixed grid body division, obtain the grid body of different scales;
(3) with unrestrained water block tracing algorithm, described grid body is tracked, obtains the grid corresponding to each block Body set.
The invention has the beneficial effects as follows: the present invention introduces a kind of non-topological coherence three dimensions net in Geologic modeling Lattice block tracing algorithm, this algorithm follows the trail of block space structure and border it is not necessary to model has using unrestrained water block tracking method Strict topological structure, and do not need to input intersection topological structure, the geometric shape just with curved surface itself can achieve Block is followed the trail of, and carries out grid block tracking using the method to three-dimensional geological model, can save memory space, avoid by topology Relationship affect.
On the basis of technique scheme, the present invention can also do following improvement.
Enter one, the maximum division depth in described step (1) refers to the maximum of the depth value of the grid body marking off, The depth value of wherein 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, the space lattice body partitioning algorithm based on octotree data structure for the utilization in described step (2) is to institute State three-dimensional geological model space and carry out the detailed process of on-fixed grid body division and be:
(21) set up an empty node queue;
(22) using described three-dimensional geological model space as root grid body, and set up its corresponding node, by described node It is added in described node queue;Described node refers to: gridding information is saved as an entirety, including grid Body depth, grid body size, grid body the absolute coordinate in the model space, grid body access labelling, relative position coordinates, on Level grid body node index and inferior grid body node index list.Wherein, save institute 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 of existing node index.
(23) if described node queue is not empty, it is taken out first node as present node execution step (24), otherwise grid body division completes;
(24) judge whether the corresponding grid body of present node meets the condition continuing to divide, if it is, execution step (25), otherwise, execution step (23);
(25) on the basis of the midpoint in x, y, z direction, average divide current grid body, it is identical to obtain 8 scales, and with former The similar sub-grid body of grid body, and set up corresponding node, the described new index setting up node is added to current grid body In node inferior grid body node index queue, the superior grid body of 8 grid body that current grid body as newly marks off;
(26) for the described grid body dividing out, represent its position in superior grid body using relative position coordinates Put;
Further, whether the judgement current grid body in described step (24) meets the condition continuing to divide and refers to: checks Current grid whether with the model space in curved surface have collision and not up to user specify maximum divide depth, if current net Curved surface in lattice and the model space exist collision and not up to user specify maximum divide depth then it is assumed that current grid body is full Foot divides condition.
Further, the unrestrained water block tracing algorithm in described step (3) concretely comprises the following steps:
(31) grid body not comprising any triangle is added in a null set, is accessed labelling and be set to Do not access;
(32) using adjacent grid body searching algorithm, travel through all directions of described grid body, find out described all directions On adjacent grid body, be added in described null set and the described grid body azimuth mark found out be set to and do not access, afterwards The access labelling of described grid body is set to and accesses;
(33) grid body not being accessed, execution step (32) are found out from set, if can not look for from set Go out the grid body do not crossed by orientation, then carry out step (34);
(34) the grid body set corresponding to the grid body of triangle is comprised using the judgement of boundary mesh body decision algorithm.
Further, the adjacent grid body searching algorithm detailed process in described step (32) is:
(321) assume that having one on assigned direction adjoins grid body as target with described grid body depth value identical Grid body;
(322) represent the direction of search specified using offset coordinates, record minimum subtree root grid using a list Body to described target gridding body path as path list, described use offset coordinates represent that the direction of search specified refers to: Each grid body at most can have 26 adjacent grid body, and wherein face adjoins grid body 6, and side adjoins grid body 12, and point is adjacent Connect grid body 8, these grid body and former grid body all have a relative position, represented using a three-dimensional integer number vector To the direction of target gridding body, each coordinate of this vector all can only take " -1 ", " 0 " or " 1 " thrin to former grid body.
(323) calculate target gridding body phase using accumulative relative position coordinates three-dimensional to the integer of level grid body thereon Coordinate, if the relative position coordinates of the target gridding body calculating have spillover, illustrates current grid body and target network Lattice body does not have same superior grid body, then execution step (324);If the relative position of the target gridding body calculating is sat Mark does not overflow, then execution step (325);
(324) pass through the actual relative position seat of the relative position coordinates calculation overflow direction and goal grid body of spilling Mark, and actual relative position coordinates are added to last element of path list, by the superior grid of current grid body Body is as new current grid body, then execution step (321);
(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 last element of path list;
(326) found out in esse assigned direction by the record in minimum subtree root grid body and path list Adjacent grid body.
Further, the accumulative relative position coordinates of the use in described step (323) calculate target gridding body phase to thereon The integer three-dimensional coordinate of level grid body refers to: directly the relative position coordinates of current grid body and assigned direction added up, can To obtain a new three-dimensional integer coordinate;Described spillover refers to: if occurring in that " -1 " in three-dimensional integer coordinate Or " 2 " are 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 described step (324) The actual relative position coordinates of body refer to: represent any one in tri- dimensions of x, y or z with alphabetical " i ", then to all of dimension Degree i, if relative position coordinates are worth for " -1 " in dimension i, the value of dimension i is value " 1 " bigger than normal;If relative position coordinates exist It is worth for " 2 " in dimension i, then the value of dimension i is value " 0 " less than normal;Overflow direction and refer to a three-dimensional integer coordinate, this coordinate The value being worth in each dimension is corresponding with accumulative relative position coordinates, overflows when accumulative relative position coordinates are negative in dimension i, The value then overflowing dimension i in direction is " -1 ";When accumulative relative position coordinates are just overflowed in dimension i, then overflow in direction and tie up The value of degree i is " 1 ";When not overflowing in accumulative relative position coordinates again dimension i, then the value overflowing dimension i in direction is " 0 "; Last element that described actual relative position coordinates are added to path list refers to: path list is from for record The list in the path to target gridding body for the little subtree root grid body, in the path, the superior grid body of target gridding body is to mesh Mark grid body is the final step in this path.
Further, in described step (326), reality is found out by the record in minimum subtree root grid body and path list The adjacent grid body on assigned direction that border exists refers to:
(3261) using minimum subtree root grid body as current grid body;
(3262) if current grid body has subordinate's grid body, take out first element from path list and draw this yuan The relative position coordinates of element storage;
(3263) directly find described relative position coordinates virgin's grid body of current grid body;
(3263) if path list is not now empty, described sub-grid body as new current grid body and is returned and holds Row step (3262), otherwise execution step (3267);
(3267) current grid body does not have sub-grid body, then no matter whether path list is empty, and current grid body is reality Border adjoins grid body;If current grid body has sub-grid body, but path list has been sky, then need execution to attempt search operation.
Further, the trial search operation in described step (3267) refers to:
(32671) if current grid body has a sub-grid body, execution step (32672), otherwise current grid body be one Individual actual adjacent grid body;
(32672) go out the sub-grid body meeting assigned direction of described current grid body by following Rules Filtering, afterwards Execution step (32673):
If the value of dimension i is " -1 " in assigned direction, in sub-grid body, the value of relative position coordinates dimension i is not " 1 " Grid be not necessarily the grid body meeting assigned direction;If in assigned direction, the value of dimension i is " 1 ", phase in sub-grid body Value to position coordinate dimensions i is not the grid of " 0 " is not necessarily the grid body meeting assigned direction.
(32673) to sub-grid body execution step (32671) filtering out described in each.
Further, the boundary mesh decision algorithm in described step (34) refers to, comprises the grid body of triangle in judgement During corresponding discrete grid block body set, always carried out by designated parties, with perpendicular to assigned direction, be in assigned direction vector The face of initial point position, as entering surface, does one with assigned direction with vectorial ray from entering surface center, first with this ray The grid body that the triangle of collision is located just belongs to this discrete grid block body set.
Brief description
Fig. 1 is flow chart of the present invention;
Fig. 2 is that non-topological coherence grid block follows the trail of schematic diagram;
Fig. 3 is Octree partitioning algorithm flow chart;
Fig. 4 represents schematic diagram for relative position coordinates;
Fig. 5 is octotree data structure schematic diagram;
Fig. 6 is that topological coherence model traditional method block follows the trail of design sketch;
Fig. 7 is that topological coherence model meshes block follows the trail of design sketch;
Fig. 8 is that non-topological coherence model traditional method block follows the trail of design sketch;
Fig. 9 is that non-topological coherence grid block follows the trail of design sketch;
Figure 10 is to import modelling effect figure;
Figure 11 follows the trail of design sketch for grid block.
Specific embodiment
Below in conjunction with accompanying drawing, the principle of the present invention and feature are described, example is served only for explaining the present invention, and Non- for limiting the scope of the present 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, in order to solve algorithm used in traditional Geologic modeling cannot be to the model of non-topological coherence at The problem of reason.During three-dimensional geological modeling, Block Model is a kind of effective three-dimensional geological model, and it can be retouched exactly State and express geometric properties, topological structure and the property parameters of geological object, and in Geologic modeling software, Block Model is permissible Followed the trail of by grid block and obtain.
The non-topological coherence three-dimensional grid block tracing algorithm that the present invention introduces is first by based on Octree data knot The space lattice body partitioning algorithm of structure carries out on-fixed grid body division to space, using the method, three-dimensional geological model is carried out Divide, the quantity of grid body can be greatly reduced, save memory space.On this basis, the three-dimensional block of introduction of the present invention chases after Track method can carry out block and follow the trail of operation to the three-dimensional geological model of non-topological coherence.Certainly, for the three-dimensional of topological coherence Geological model, the algorithm of introduction of the present invention still can normal work obtain correct result.
A kind of non-topological coherence three-dimensional grid block tracing algorithm, including step:
(1) import the three-dimensional geological model of non-topological coherence, setting carries out grid body division to three-dimensional geological model space Maximum divide depth, that is, the maximum of the depth value of the grid body marking off, the wherein depth value of arbitrary mess body are thereon The depth value of level grid body adds 1, and the depth value of root grid body is 0;
(2) with the space lattice body partitioning algorithm based on octotree data structure, 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 a kind of with respect to fixed mesh body divide method, fixed mesh body divide refer to by Space is divided into the essentially equal grid body of volume, and on-fixed grid body divides, that is, divide the space into what scale was not quite similar Grid body, its detailed process is:
(21) set up an empty node queue;
I.e. to one memory headroom of computer application, for temporarily depositing the grid body segment that ensuing operation will access , at the beginning of setting up, in this memory headroom, should not there is any grid body node in point;
(22) using three-dimensional geological model space as root grid body, and set up its corresponding node, node is added to institute State in node queue;
Entirely the model space as a grid, gridding information will be saved as an entirety, hereinafter referred to as " node ".By this means it is ensured that computer may have access to the grid preserving in this node while finding node For information about, it is easy to ensuing operation rapidly to carry out.In octree nodes, save grid body depth, grid body Absolute coordinate in the model space of size, grid body, grid body access labelling, relative position coordinates, superior grid body node Index and inferior grid body node index list.Wherein, save the institute of described grid body in inferior grid body index list There is the index of inferior grid body.Grid body node can be directly found in the case of existing node index.
(23) if above-mentioned node queue is not empty, it is taken out first node as present node execution step (24), otherwise grid body division completes;
(24) judge whether the corresponding grid body of present node meets the condition continuing to divide, if it is, execution step (25), otherwise, execution step (23);
Judge whether current grid body meets the condition continuing to divide and refers to: check current grid whether with the model space in Curved surface have a collision and depth value is not up to that user specifies maximum divides depth, if the song in current grid and the model space The maximum depth that divides that face presence is collided and depth value not up to user specifies is then it is assumed that current grid body meets division condition;
(25) on the basis of the midpoint in x, y, z direction, average divide current grid body, it is identical to obtain 8 scales, and with former The similar sub-grid body of grid body, and set up corresponding node, the described new index setting up node is added to current grid body In node inferior grid body node index queue, the superior grid body of 8 grid body that current grid body as newly marks off;
(26) for the described grid body dividing out, represent its position in superior grid body using relative coordinates;
Represent that its position in superior grid body refers to using relative coordinates: grid body place space is sat by right hand canonical Mark system is described, and former hexahedral every rib is necessarily parallel with one of x-axis, y-axis or z-axis coordinate axess, so each net Certainly exist all minimum point of an x, y, z coordinate in 8 summits of lattice body, with this point as initial point, make coordinate along x, y, z axle Axle, can set up a coordinate system as shown in Figure 4.Under this local coordinate system, for each sub-grid body according to residing for it An integer three-dimensional coordinate is distributed in position.Value in each dimension of this three-dimensional coordinate all can only take one of " 0 " or " 1 " Value.For example, the grid body that in Fig. 4, local coordinate system initial point is located all in the position near initial point, then should in the x, y, z-directions The integer three-dimensional coordinate that grid body is allocated is (0,0,0).In the case of as shown in Figure 4, for 8 sub- grid body all Its corresponding relative position coordinates on labelling.Wherein, in z-axis coordinate figure four grid body bigger than normal relative position coordinates It has been marked on the position of its upper surface;In z-axis, the relative position coordinates of coordinate figure four grid body less than normal are marked on 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 whole model space corresponding grid body node.C0, c1, c2 and c3 continue to divide for sub-grid body again, say This four grid body bright create collision with original curved surface in the model space.And c4, c5, c6 and c7 do not continue to draw Point, illustrate that this 4 grid body do not produce collision with original curved surface in the model space.
(27) return execution step (23).
(3) with unrestrained water block tracing algorithm, described grid body is tracked, obtains the grid body collection corresponding to block Close, its unrestrained water block tracing algorithm concretely comprises the following steps:
(31) grid body not comprising any triangle is added in a null set, is accessed labelling and be set to Do not access;
(32) using adjacent grid body searching algorithm, travel through all directions of described grid body, find out described all directions On adjacent grid body, be added in described null set and the described grid body azimuth mark found out be set to and do not access, afterwards The access labelling of described grid body is set to and accesses;
(33) find out a grid body execution step (32) not being accessed from set, if can not find out from set The grid body not being accessed, then carry out step (34);
The specific practice of adjacent grid body searching algorithm is:
(321) assume that having one on assigned direction adjoins grid body as target with described grid body depth value identical Grid body;
(322) represent the direction of search specified using offset coordinates, record minimum subtree root grid using a list Body to described target gridding body path as path list;
Wherein, represent that using offset coordinates the direction of search specified refers to: each grid body at most can have 26 to adjoin Grid body, wherein face adjoin grid body 6, and side adjoins grid body 12, individual 8 of the adjacent net of point.These grid body and former net Lattice body all has a relative position.Now represent former grid body to the side of target gridding body using a three-dimensional integer number vector To each coordinate of this vector all can only take " -1 ", " 0 " or " 1 " thrin.
Wherein, path list refers to the path of target gridding body recording minimum subtree root grid body: Road of the present invention The least unit in footpath is the relative position coordinates that represent of three-dimensional integer of a non-overflow.If target gridding body is in Model Space Interior, then inevitable and current grid body belongs to some grid body altogether.At these, current grid body is wrapped with target gridding body simultaneously In grid body in being contained in, a minimum as minimum subtree root grid body of scale, is also that only one just can be current Grid body and target gridding body are simultaneously contained in interior grid body.When target gridding body is within 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 boy Tree root grid body.So, the path of minimum subtree root grid body to target gridding body can be divided into minimum subtree root grid Body is to the path of the superior grid body of target gridding body and target gridding body superior grid body to the path of target gridding body.Wherein The path of the superior grid body of target gridding body to target gridding body is 1, that is, have found higher level's net of target gridding body It is only necessary to know that the relative position coordinates of target gridding body just can directly find target gridding body in the case of lattice body.But it is actual 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 of superior grid body is probably random natural number.Path list is used for depositing from the beginning of minimum subtree root grid body, The relative position coordinates that each step needs of target gridding body are used can be obtained.
(323) calculate target gridding body phase using accumulative relative position coordinates three-dimensional to the integer of level grid body thereon Coordinate, if the relative position coordinates of the target gridding body calculating have spillover, illustrates current grid body and target network Lattice body does not have same superior grid body, then execution step (324);If the relative position of the target gridding body calculating is sat Mark does not overflow, then execution step (325);
Wherein, calculate that target gridding body phase is three-dimensional to the integer of level grid body thereon using accumulative relative position coordinates Coordinate refers to: directly the relative position coordinates of current grid body and assigned direction adds up, can obtain a new three-dimensional whole Type number coordinate.If occurring in that " -1 " or " 2 " then it is assumed that coordinate has spillover in this direction in three-dimensional integer coordinate.
(324) pass through the actual relative position seat of the relative position coordinates calculation overflow direction and goal grid body of spilling Mark, and actual relative position coordinates are added to last element of path list, by the superior grid of current grid body Body is as new current grid body, then execution step (321);
Wherein, the relative position coordinates of the relative position coordinates calculation overflow direction and goal grid body reality by overflowing Refer to: any one in tri- dimensions of x, y or z is represented with alphabetical " i ", then to all of dimension i, if relative position coordinates exist In dimension i, negative spilling (being worth for " -1 "), then must have the value of dimension i to should be value (" 1 ") bigger than normal;If relative position coordinates are in dimension (being worth for " 2 ") is just overflowed on i, then the value of dimension i must be had to should be value (" 0 ") less than normal.Overflow direction and refer to a three-dimensional integer Number coordinate, the value in each dimension of this coordinate figure is corresponding with accumulative relative position coordinates, when accumulative relative position coordinates exist Negative spilling in dimension i, then the value overflowing dimension i in direction is " -1 ";When accumulative relative position coordinates are just overflowed in dimension i, The value then overflowing dimension i in direction is " 1 ";When not overflowing in accumulative relative position coordinates again dimension i, then overflow in direction and tie up The value of degree i is " 0 ".
Wherein, actual relative position coordinates are added to last element of path list and refer to: path list is to use In the list in the path from minimum subtree root grid body to target gridding body for the record, in the path, the higher level of target gridding body The final step that grid body is this path to target gridding body.When path list is empty, current relative position is actual It is added for the first step.It is contemplated that, every time relative position coordinates are added to last element of path list, finally The inverse path from minimum subtree root grid body to target gridding body can be obtained.
Wherein, the superior grid body of current grid body is referred to as new current grid body execution step (321): to work as The superior grid body of front grid body as benchmark, finds the superior grid body of the current grid body adjacent grid on overflowing direction Body.Due to having drawn the relative position coordinates to level grid body thereon for the target gridding body phase before, so only needing to look for Superior grid body to target gridding body can find target gridding body.By the rule referring to before, the higher level of target gridding body Grid body necessarily current grid body superior grid body overflow direction on adjacent 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 last element of path list;
When execution step (325), have already been through one or many execution above-mentioned steps, and now current grid body Superior grid body and its superior grid body necessarily same grid body of the adjacent grid body on overflowing direction, i.e. boy Tree root grid body.Now have recorded in path list from current grid body overflow direction adjacent grid body to target gridding body Path.Only need to obtain the path that minimum subtree root grid body overflows the adjacent grid body on direction to current grid body again, Can get minimum subtree root grid body to the path of target gridding body, and minimum subtree root grid body is overflowed to current grid body The relative position of adjacent grid body on direction is overflowed in the path of the adjacent grid body on direction again by a single current grid body Put coordinate to constitute, so the relative position coordinates that only current grid body need to be overflowed adjacent grid body on direction are added to path column In table, you can obtain minimum subtree root grid body to the fullpath of target gridding body.
(326) found out in esse assigned direction by the record in minimum subtree root grid body and path list Adjacent grid body.
When execution step (326), actual depositing is found out by the record in minimum subtree root grid body and path list Assigned direction on adjacent grid body refer to:
(3261) using minimum subtree root grid body as current grid body;
(3262) if current grid body has subordinate's grid body, take out first element from path list and draw this yuan The relative position coordinates of element storage;
(3263) directly find described relative position coordinates virgin's grid body of current grid body;
(3263) if path list is not now empty, described sub-grid body as new current grid body and is returned and holds Row step (3262), otherwise execution step (3267);
(3267) current grid body does not have sub-grid body, then no matter whether path list is empty, and current grid body is reality Border adjoins grid body;If current grid body has sub-grid body, but path list has been sky, then need execution to attempt search operation.
Trial search operation in described step (3267) refers to:
(32671) if current grid body has a sub-grid body, execution step (32672), otherwise current grid body be one Individual actual adjacent grid body;
(32672) go out the sub-grid body meeting assigned direction of described current grid body by following Rules Filtering, afterwards Execution step (32673):
If the value of dimension i is " -1 " in assigned direction, in sub-grid body, the value of relative position coordinates dimension i is not " 1 " Grid be not necessarily the grid body meeting assigned direction;If in assigned direction, the value of dimension i is " 1 ", phase in sub-grid body Value to position coordinate dimensions i is not the grid of " 0 " is not necessarily the grid body meeting assigned direction.
(32673) to sub-grid body execution step (32671) filtering out described in each.
(33) find out the grid body of a grid body not being accessed from set, execution step (32), if can not be from Find out the grid body not being accessed in set, then carry out step (34);
(34) judge which grid body set is the grid body comprising triangle belong to using boundary mesh body decision algorithm, its Boundary mesh decision algorithm refers to, when which grid body set is the grid body judging to comprise triangle should belong to, by referring to Determine direction to carry out, using perpendicular to assigned direction, be in assigned direction vector initial point position face as entering surface, from entrance Face center does one with assigned direction with vectorial ray, triangle first and in which grid body set boundaries aspect for this ray Collision, then which grid body set current grid body just belongs to.
Fig. 6 illustrates common block tracing algorithm and follows the trail of effect to the block of topological coherence model;
Fig. 7 illustrates algorithm of the present invention and follows the trail of effect to the grid block of topological coherence model;
Fig. 8 illustrates common block tracing algorithm and follows the trail of effect to the block of non-topological coherence model;
Fig. 9 illustrates inventive algorithm and follows the trail of effect to the grid block of non-topological coherence model.
Embodiment 1
The non-topological coherence grid block tracer technique of the present invention, its specific embodiment is:
(1) import archetype information, as in the case illustrated in figure 10 in, imported the geological model of non-topological coherence, should Model x direction length is 32000, y direction length is 15800 for 18000, z direction depth, and model does not carry out asking friendship and cutting Process, stratum and tomography curved surface have cross_over phenomena;The maximum depth that divides that setting carries out grid body division to the model space is 9 it is contemplated that the value that the x direction value of minimum grid body is 62.50, y direction is 30.86 for the value in 35.16, z direction;
(2) grid block demarcation is carried out to the model space, now the x direction value of minimum grid body is 62.50, y direction Being worth the value for 35.16, z direction is 30.86;
(3) carry out block tracking using unrestrained network of rivers lattice block tracing algorithm.In the case of as shown in figure 11, draw The grid block of non-topological coherence.
The foregoing is only presently preferred embodiments of the present invention, not in order to limit the present invention, all spirit in the present invention and Within principle, any modification, equivalent substitution and improvement made etc., should be included within the scope of the present invention.

Claims (10)

1. a kind of non-topological coherence three-dimensional grid block tracing algorithm is it is characterised in that include step:
(1) import the three-dimensional geological model of non-topological coherence, setting carries out space lattice body to described three-dimensional geological model space The maximum division depth dividing;
(2) with the space lattice body partitioning algorithm based on octotree data structure, described three-dimensional geological model space is carried out On-fixed grid body divides, and obtains the grid body that scale is not quite similar;
(3) with unrestrained water block tracing algorithm, block tracking is carried out based on described grid body, obtains the net corresponding to each block Lattice body set.
2. non-topological coherence three-dimensional grid block tracing algorithm according to claim 1 is it is characterised in that described step (2) the space lattice body partitioning algorithm based on octotree data structure for the utilization in, is carried out to described three-dimensional geological model space The detailed process that on-fixed grid body divides is:
(21) set up an empty node queue;
(22) using described three-dimensional geological model space as root grid body, and set up its corresponding node, described node is added To in described node queue;
(23) if described node queue is not empty, it is taken out first node as present node, execution step (24), Otherwise, grid body divides and completes;
(24) judge whether the corresponding grid body of present node meets the condition continuing to divide, if it is, execution step (25), Otherwise, execution step (23);
(25) on the basis of the midpoint in x, y, z direction, average divide current grid body, obtain 8 scales identical and with former grid Sub-grid body as body phase, and set up corresponding node, the described new index setting up node is added to the subordinate of described node In grid body node index, the superior grid body of 8 grid body that this grid body as newly marks off;
(26) for the described grid body dividing out, represent its position in superior grid body using relative position coordinates;
(27) return execution step (23).
3. non-topological coherence three-dimensional grid block tracing algorithm according to claim 2 is it is characterised in that described step (24) judge whether current grid body meets the condition continuing to divide and refers in: check current grid whether with the model space in Curved surface have a collision and depth value is not up to that user specifies maximum divides depth, if the song in current grid and the model space Face presence is collided and depth value is not up to the maximum division depth that user specifies, then current grid body satisfaction continuation division condition.
4. non-topological coherence three-dimensional grid block tracing algorithm according to claim 1 is it is characterised in that described step (3) the unrestrained water block tracing algorithm in concretely comprises the following steps:
(31) grid body not comprising any triangle is added in a null set, is accessed labelling and be set to and do not visit Ask;
(32) using adjacent grid body searching algorithm, travel through all directions of described grid body, find out in described all directions Adjacent grid body, is added in described null set, and the described grid body azimuth mark found out is set to does not access, then by institute The access labelling stating grid body is set to and accesses;
(33) from set find out a grid body execution step (32) not being accessed, if can not from set find out not by The grid body accessing, then carry out step (34);
(34) the grid body set corresponding to the grid body of triangle is comprised using the judgement of boundary mesh body decision algorithm.
5. non-topological coherence three-dimensional grid block tracing algorithm according to claim 4 is it is characterised in that described step (32) the adjacent grid body searching algorithm detailed process in is:
(321) assume that having one on assigned direction adjoins grid body with described grid body depth value identical, and as target Grid body;
(322) represent the direction of search specified using offset coordinates, record minimum subtree root grid body using a list and arrive As path list, described use offset coordinates, the path of described target gridding body represents that the direction of search specified refers to: each Grid body is up to 26 adjacent grid body, and wherein face adjoins grid body 6, and side adjoins grid body 12, the adjacent grid body 8 of point Individual, these grid body and former grid body all have a relative position, represent former grid body using a three-dimensional integer number vector To the direction of target gridding body, each coordinate of this vector all can only take " -1 ", " 0 " or " 1 " thrin.
(323) calculate the three-dimensional seat of integer to level grid body thereon for the target gridding body phase using accumulative relative position coordinates Mark, if the relative position coordinates of the target gridding body calculating have spillover, current grid body is with target gridding body not Have same superior grid body, then execution step (324);If the relative position coordinates of the target gridding body calculating do not have Overflow, then execution step (325);
(324) the actual relative position coordinates of the relative position coordinates calculation overflow direction and goal grid body of spilling are passed through, and Actual relative position coordinates are added to last element of path list, using the superior grid body of current grid body as New current grid body, and execution 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 last element of path list;
(326) neighbour in esse assigned direction is found out by the record in minimum subtree root grid body and path list Connect grid body.
6. non-topological coherence three-dimensional grid block tracing algorithm according to claim 5 is it is characterised in that described step (323) the accumulative relative position coordinates of the use in calculate the integer three-dimensional coordinate to level grid body thereon for the target gridding body phase Refer to: directly that the relative position coordinates of current grid body are cumulative with assigned direction vector, obtain a new three-dimensional integer Coordinate;Described spillover refers to: if occurring in that " -1 " or " 2 " then it is assumed that coordinate is in the direction in three-dimensional integer coordinate On have spillover.
7. non-topological coherence three-dimensional grid block tracing algorithm according to claim 5 is it is characterised in that described step (324) relative position coordinates actual by the relative position coordinates calculation overflow direction and goal grid body overflowed in are Refer to:
Any one in tri- dimensions of x, y or z is represented with alphabetical " i ", then to all of dimension i, if relative position coordinates exist It is worth for " -1 " in dimension i, then the value of dimension i is value " 1 " bigger than normal;If relative position coordinates are worth for " 2 " in dimension i, tie up The value of degree i is value " 0 " less than normal;
Overflow direction and refer to a three-dimensional integer coordinate, the value in each dimension of this coordinate figure and accumulative relative position coordinates Corresponding, overflow when accumulative relative position coordinates are negative in dimension i, then the value overflowing dimension i in direction is " -1 ";When accumulative phase Position coordinateses are just overflowed in dimension i, then the value overflowing dimension i in direction is " 1 ";When accumulative relative position coordinates are in dimension Do not overflow on i, then the value overflowing dimension i in direction is " 0 ";
Last element that described actual relative position coordinates are added to path list refers to: path list is for recording From the list in the path to target gridding body for the minimum subtree root grid body, in the path, the superior grid body of target gridding body The final step being this path to target gridding body.
8. non-topological coherence three-dimensional grid block tracing algorithm according to claim 5 is it is characterised in that described step (326) found out adjacent in esse assigned direction in by the record in minimum subtree root grid body and path list Grid body refers to:
(3261) using described minimum subtree root grid body as current grid body;
(3262) if described current grid body has subordinate's grid body, take out first element from path list and draw this yuan The relative position coordinates of element storage;
(3263) find the sub-grid body at the relative position coordinates of described current grid body;
(3263) if path list is not now empty, described sub-grid body as new current grid body and is returned and executes step Suddenly (3262), otherwise execution step (3267);
(3267) if current grid body does not have sub-grid body, no matter whether path list is empty, and current grid body is reality Adjacent grid body;If current grid body has sub-grid body, but path list has been sky, then need execution to attempt search operation.
9. non-topological coherence three-dimensional grid block tracing algorithm according to claim 8 is it is characterised in that described step Suddenly the trial search operation in (3267) specifically refers to:
(32671) if current grid body has sub-grid body, execution step (32672), an otherwise current grid body as reality Border adjoins grid body;
(32672) go out to meet the sub-grid body of assigned direction in described current grid body by following Rules Filtering, if designated parties To middle dimension i value be " -1 ", then in sub-grid body the value of relative position coordinates dimension i be not " 1 " grid necessarily be not symbol Close the grid body of assigned direction;If in assigned direction, the value of dimension i is " 1 ", relative position coordinates dimension i in sub-grid body Value is not the grid of " 0 " is not necessarily the grid body meeting assigned direction.
(32673) to sub-grid body execution step (32671) filtering out described in each.
10. non-topological coherence three-dimensional grid block tracing algorithm according to claim 4 is it is characterised in that described step Suddenly the boundary mesh decision algorithm in (34) refers to,
When judging to comprise the grid body set corresponding to the grid body of triangle, always carried out by designated parties, with perpendicular to Assigned direction, be in assigned direction vector initial point position face as entering surface, be one and designated parties from entering surface center To the ray with vector, this grid body belongs to the block corresponding grid body set using the triangle first colliding as border.
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 true CN106373192A (en) 2017-02-01
CN106373192B 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107886572A (en) * 2017-11-09 2018-04-06 成都理工大学 A kind of non-topological coherence three-dimensional geological block method for tracing of view-based access control model observation
CN111474579A (en) * 2020-05-07 2020-07-31 成都理工大学 Automatic view changing method based on uniform coverage times
CN116049924A (en) * 2023-03-07 2023-05-02 武汉益模科技股份有限公司 Three-dimensional part difference analysis algorithm based on Cuda

Citations (3)

* 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
US20150169173A1 (en) * 2010-12-22 2015-06-18 Zspace, Inc. Three-Dimensional Tracking of a User Control Device in a Volume
CN105310776A (en) * 2014-12-02 2016-02-10 复旦大学 Soft tissue surface deformation tracking method based on sub-blocks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150169173A1 (en) * 2010-12-22 2015-06-18 Zspace, Inc. Three-Dimensional Tracking of a User Control Device in a Volume
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
吴广: ""三维地质建模中的关键技术研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
黄地龙等: ""复杂地层结构模型三维重构与可视化方法研究"", 《成都理工大学学报(自然科学版)》 *

Cited By (5)

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

Also Published As

Publication number Publication date
CN106373192B (en) 2019-03-26

Similar Documents

Publication Publication Date Title
CN106327577B (en) Dimensional topography optimal method based on local curvature's entropy and quad-tree structure
CN109685914A (en) Cutting profile based on triangle grid model mends face algorithm automatically
CN104635262B (en) A kind of positive reversed fault isopleth automatic generation method based on extended rectangular grid
CN101976468B (en) Method and system for visualizing multiresolution dynamic landform
CN111275633B (en) Point cloud denoising method, system, device and storage medium based on image segmentation
CN106095907A (en) Based on the laser point cloud data management method that Octree is integrated with three-dimensional R star tree
CN107886564A (en) The method shown for realizing three-dimensional scenic
CN110033519A (en) Three-dimensional modeling method, device, system and storage medium based on Implicitly function
CN103871102A (en) Road three-dimensional fine modeling method based on elevation points and road outline face
CN110032771B (en) DEM accurate cutting method considering local detail characteristics for opencast coal mine
CN107330903A (en) A kind of framework extraction method of human body point cloud model
CN102855661B (en) Large-scale forest scene quick generation method based on space similarity
CN106373192A (en) Non-topology-consistency three-dimensional grid block tracking algorithm
CN112150610A (en) Retaining wall modeling method and system based on dimension marking
CN109872390A (en) A kind of method for organizing of magnanimity threedimensional model
CN107818338A (en) A kind of method and system of building group pattern-recognition towards Map Generalization
CN112116709B (en) Terrain characteristic line processing method for improving terrain expression precision
CN105512194A (en) Game scene management method and device
CN113342999A (en) Variable-resolution-ratio point cloud simplification method based on multi-layer skip sequence tree structure
CN110738726B (en) Robot vision-guided three-dimensional object reconstruction method based on octree
CN116246069B (en) Method and device for self-adaptive terrain point cloud filtering, intelligent terminal and storage medium
CN117034051A (en) Water conservancy information aggregation method, device and medium based on BIRCH algorithm
CN106202247A (en) A kind of collision checking method based on longitude and latitude
CN109685844A (en) A kind of weave mesh label and direction calibration optimization method and device
CN114332322A (en) Big data rendering method of monomer model in three-dimensional scene

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