CN102360515A - Progressive mesh data organization method for three-dimensional model - Google Patents
Progressive mesh data organization method for three-dimensional model Download PDFInfo
- Publication number
- CN102360515A CN102360515A CN2011103179310A CN201110317931A CN102360515A CN 102360515 A CN102360515 A CN 102360515A CN 2011103179310 A CN2011103179310 A CN 2011103179310A CN 201110317931 A CN201110317931 A CN 201110317931A CN 102360515 A CN102360515 A CN 102360515A
- Authority
- CN
- China
- Prior art keywords
- data
- index
- grid
- triangle
- level
- 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
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
The invention provides a progressive mesh data organization method for a three-dimensional model. Progressive mesh data are generated according to an original mesh of the three-dimensional model and are layered and organized in a multi-dimension manner, and the progressive mesh data consist of a foundation mesh, foundation index data, various levels of incremental data and various levels of detailed layer mesh index data. In a progressive mesh visualization process, the foundation mesh and the foundation index data are firstly transmitted to a client side and are subjected to drawing, the incremental data and the index data are transmitted to the client side along with decrease of the distance between a viewpoint and the model, and detailed layer meshes of corresponding layers are drawn. Non-redundancy multi-dimension incremental type data organization of the three-dimensional model is realized by the aid of the progressive mesh data organization method, and the progressive mesh data organization method is favorable for quick transmission and high-efficiency visualization of complicated three-dimensional models.
Description
Technical field
Patent of the present invention relates to network three-dimensional geographic information visualization technique field, particularly relates to a kind of progressive grid data method for organizing to city complex three-dimensional model under the network environment.
Background technology
In addition, along with the continuous development of network technology with popularize, three-dimensional model not only need be stored and draw in this locality, also need transmit through the internet.Therefore, how under network environment, the different levels detail model is effectively transmitted, also become a critical problem.
Since the nineties in 20th century, the researchist has carried out number of research projects to above problem, wherein; Progressive grid (the Progressive Mesh that proposes with the H.Hoppe of Microsoft company; PM) notion is the most famous, relevant document: Hoppe, H.Progressive Meshes [C] .Proceedings of SIGGRAPH ' 96; Computer Graphics Proceedings; Annual Conference Series, ACM SIGGRAPH, ACM Press.1996; 8:99-108.Hoppe H.View-Dependent Refinement of Progressive Meshes [C] .Proceedings of SIGGRAPH ' 97.1997:189-198. is that the progressive transmission of three-dimensional model provides a solution.
The network progressive transmission that it is the complex three-dimensional model that Hoppe proposes progressive grid notion provides a kind of realization approach, can play up simultaneously and the download model data, compares with traditional back display packing of downloading earlier, has very strong real-time.And, compare with the method for traditional structure resolution simplified model, level and smooth more and continuous aspect the model hierarchy transition.
But in practical application, this method still exists certain defective and weak point, is mainly reflected in the following aspects:
(1) the progressive grid data amount of simplification back generation is bigger.
The complex three-dimensional model data amount of using in some applications is up to tens MB; Possibly comprise several ten thousand even hundreds of thousands triangular piece unit; Adopting the edge contraction algorithm to generate in the process of simplified model; Possibly carry out up to tens thousand of times folding operation, and in the process that makes up progressive grid, the recovering information of folding operation is all noted each time; Therefore vertex split in the progressive grid that generates (Vertex Split is called for short vsplit) sequence information need take a large amount of additional storage spaces.
In addition, each time in the folding process, all need generate a new summit and note, the therefore final progressive grid data amount that generates will be far longer than the data volume of original three-dimensional model, has increased the burden of service end model data store.
(2) the model reconstructed operation is frequent.
In three-dimensional grid model rejuvenation, a vsplit operation of every execution all need be sent a secondary data request to service end, and after downloading to data, the client grid rebuild and plays up.In the application of digital earth, need play up the three-dimensional modeling data of magnanimity usually, number is very harsh for the performance requirement of client with ten thousand times reconstruction calculations, big limitations the real-time display efficiency of three-dimensional model.For the progressive demonstration of magnanimity complex three-dimensional model, the lot of data solicit operation can take more Internet resources undoubtedly in addition, also can cause huge load to server simultaneously.
Summary of the invention
The object of the invention is to overcome the prior art deficiency, has proposed the progressive grid data method for organizing of a kind of three-dimensional model.
Technical scheme of the present invention is the progressive grid data method for organizing of a kind of three-dimensional model, according to the original mesh M of three-dimensional model
nGenerate progressive grid data, comprise basic grid M
0With basic index data Index
0, incremental datas at different levels { Δ Data
1, Δ Data
2... Δ Data
n, and level of detail grid M at different levels
1, M
2... M
nCorresponding index data { Index
1, Index
2... Index
n; Wherein, the detail rank is the level of detail grid M of i
i=M
I-1+ Δ Data
i, the i value is 1,2 ... n;
With basic grid M
0With basic index data Index
0Store top layer into, along with the increase of yardstick, successively with increment geometric data { Δ Data at different levels
1, Δ Data
2... Δ Data
nAnd level of detail grid M at different levels
1, M
2... M
nCorresponding index data { Index
1, Index
2... Index
nStore in the corresponding level;
In progressive grid visualization process, at first with basic grid M
0With basic index data Index
0Be transferred to client, and draw; According to current required detail rank i, the incremental data Δ Data that transmission is corresponding
iWith index data Index
iTo client, at other level of detail grid of upper level M
I-1Draw level of detail grid M on the basis
i
And the concrete mode that generates progressive grid data may further comprise the steps,
Step 1 reads original three-dimensional model, with the original mesh of original three-dimensional model as level of detail grid M
n, all summits of original three-dimensional model are added among the progressive grid vertex set VertexList, and the attribute Level value on all summits of initialization is 0; All summits and leg-of-mutton attribute Removed value that original three-dimensional model is set are false, and expression is not removed; List all triangles of original three-dimensional model in triangle chained list TriangleList, traversing triangle chained list TriangleList obtains index data Index
n, with index data Index
nAdd among the detail index LodVertexList at different levels; If level of detail grid current to be simplified is M
k, make k=n;
Step 2 is with level of detail grid M current to be simplified
kSimplify the level of detail grid M that obtains last layer
K-1, the vertex set V that need remove after obtaining simplifying
mIf simplify back vertex set V
mIn arbitrary summit V
aBy summit V
bSubstitute, traversal comprises summit V
aIn abutting connection with triangle set, will point to summit V in abutting connection with all triangles in the triangle set
aPointer all point to summit V
b, form V
aSensing triangle set; Vertex set V
mIn the sensing triangle set on all summits constitute triangle set NT;
Step 3, traversing triangle set NT, when in three summit pointers in the triangle any two when pointing to same summits, then this triangle is invalid triangle; All invalid triangle attribute Removed values are set are true, expression has removed;
Step 4, mark vertex set V in progressive grid vertex set VertexList
mThe attribute Removed value on interior all summits is true, and expression removes; Vertex set V is set
mThe attribute Level value on interior all summits is k, and expression detail rank is k, this vertex set V
mBe the incremental data Δ Datak of k level;
Step 6 if k>0 makes k=k-1, is returned step 2 and is continued to calculate incremental data Δ Data
kWith index data Index
K-1, if if k=0 gets into step 7;
Step 7, all properties Removed value is constituted to gather by the summit of true and is basic grid M among the progressive grid vertex set VertexList
0, attribute Removed value is the triangle of false among the traversing triangle chained list TriangleList, the gained index data is basic index data Index
0
Innovation part of the present invention is to make up the multiple dimensioned progressive grid of three-dimensional model, realizes irredundant, the multiple dimensioned increment type data organization of three-dimensional modeling data under the network environment, helps the quick transmission of complex three-dimensional model and efficiently visual.
Description of drawings
Fig. 1 is that the complex three-dimensional model of the embodiment of the invention generates multilevel data structure figure.
Fig. 2 is the progressive grid data illustraton of model of the embodiment of the invention.
Fig. 3 is that the progressive grid of the embodiment of the invention makes up process flow diagram.
Fig. 4 is the progressive grid data method for organizing of the three-dimensional model of the embodiment of the invention.
Embodiment
The present invention proposes the progressive grid data method for organizing of a kind of three-dimensional model, specifies technical scheme of the present invention below in conjunction with accompanying drawing and embodiment:
For reducing the reconstruct and the solicit operation of three-dimensional model gridding rejuvenation in making up progressive grid process, embodiment is according to original mesh M
nGenerate progressive grid data, comprise basic grid M
0With basic index data Index
0, incremental datas at different levels { Δ Data
1, Δ Data
2... Δ Data
n, and level of detail grid M at different levels
1, M
2... M
nCorresponding index data { Index
1, Index
2... Index
n; Wherein, the detail rank is the level of detail grid M of i
i=M
I-1+ Δ Data
i, the i value is 1,2 ... n.During practical implementation, n belongs to positive integer, is the progression of progressive grid data, can be defined voluntarily by the user during practical implementation.
Progressive grid data structure is with original mesh M
iGenerate multi-stage data according to the actual requirements, shown in accompanying drawing 1, for example: the original mesh model M
iComprise 7 vertex data collection { V
1, V
2, V
3, V
4, V
5, V
6, V
7; M
iIndex Index
iBe { { V
1, V
2, V
3; { V
1, V
4, V
5; { V
1, V
6, V
7, retrieve three triangles respectively, there is not incremental data this moment.Through simplifying one-level, next rank grid M
I-1Comprise 5 vertex data collection { V
1, V
2, V
3, V
4, V
5; Index Index
I-1Be { { V
1, V
2, V
3; { V
1, V
4, V
5, incremental data is Δ Data
iBe { V
6, V
7.Streamline any further one-level, next rank grid M
I-2Comprise 3 vertex data collection { V
1, V
2, V
3; Index Index
I-2Be { { V
1, V
2, V
3, incremental data Δ Data
I-1Be { V
4, V
5.
Thus, the multistage simplification through grid model comprises basic grid M
0With basic index Index
0, incremental datas at different levels { Δ Data
1, Δ Data
2... Δ Data
n, and the corresponding index data { Index of incremental data at different levels
1, Index
2... Index
n; The adjacent mesh relationship model can be expressed as:
M
i=M
i-1+ΔData
i
In the progressive grid construction method of edge contraction that Hoppe proposes, each step edge contraction action need generates a new summit with two original vertices, need open up the data that newly-generated summit is stored in certain storage space space, causes the waste of storage space.Therefore,, in carrying out the model simplification process, the generation on new summit be should avoid, but two or more summits of needs simplification, any one-level incremental data Δ Data in the promptly progressive grid replaced with a certain summit in the original mesh data for reducing the redundant data amount
iAll are original mesh M
nSubclass.
Referring to Fig. 3, the progressive grid product process of the three-dimensional model of embodiment step is following:
Step 1 reads original three-dimensional model, initialization level of detail grid M
n, the original mesh that is about to original three-dimensional model is as level of detail grid M
n, level of detail grid M
nThe detail rank be n.All summits of original three-dimensional model are added among the progressive grid vertex set VertexList, and the attribute Level value on all summits of initialization is 0; All summits and leg-of-mutton attribute Removed value that original three-dimensional model is set are false, and expression is not removed; List all triangles of original three-dimensional model in triangle chained list TriangleList, traversing triangle chained list TriangleList obtains index data Index
n, with index data Index
nAdd among the detail index LodVertexList at different levels; If level of detail grid current to be simplified is M
k, make k=n.
Step 2 is with level of detail grid M current to be simplified
kSimplify the level of detail grid M that obtains last layer
K-1, the vertex set V that need remove after obtaining simplifying
mIf simplify back vertex set V
mIn arbitrary summit V
aBy summit V
bSubstitute, traversal comprises summit V
aIn abutting connection with triangle set (embodiment is designated as NeighborTriangle), will point to summit V in abutting connection with all triangles in the triangle set
aPointer all point to summit V
b, form V
aSensing triangle set; Vertex set V
mIn the sensing triangle set on all summits constitute triangle set NT.
Step 3, traversing triangle set NT, when in three summit pointers in the triangle any two when pointing to same summits, then this triangle is invalid triangle; All invalid triangle attribute Removed values are set are true, expression removes.Embodiment is designated as Vertex [1], Vertex [2], Vertex [3] with three summit pointers in the triangle; When Vertex [1]==Vertex [2] || Vertex [1]==Vertex [3] || Vertex [2]==during Vertex [3], then this triangle is invalid triangle.
Step 4, mark vertex set V in progressive grid vertex set VertexList
mThe attribute Removed value on interior all summits is true, and expression removes, and the simplification that does not participate in next time on this part summit is calculated.Vertex set V is set
mThe attribute Level value on interior all summits is k, and expression detail rank is k, this vertex set V
mBe the incremental data Δ Data of k level
k
Step 6 if k>0 makes k=k-1, is returned step 2 and is continued to calculate incremental data Δ Data
kWith index data Index
K-1, if if k==0 gets into step 7.
Step 7, all properties Removed value is constituted to gather by the summit of true and is basic grid M among the progressive grid vertex set VertexList
0, attribute Removed value is the triangle of false among the traversing triangle chained list TriangleList, the gained index data is basic index data Index
0
Progressive grid data can carry out ascending sort to vertex set according to summit Level value, thereby make basic grid M after generating
0With incremental datas at different levels be generic sequence on storage order; Then according to the vertex data increment of the set VertexList of the progressive grid vertex behind the generic sequence and each grade of LOD index LodVertexList at different levels output and index data to file.Be convenient to carry out multiple dimensioned tissue storage like this.
During practical implementation, step 2 is simplified can adopt multiple mode, for example shortcut calculation of edge contraction shortcut calculation, wavelet decomposition etc.Embodiment adopts the three-dimensional model summit cluster short-cut method of band texture constraint; The texture error metrics method of complex three-dimensional model is got up with how much simplification organic unities; Realize the quick simplification of magnanimity complex three-dimensional model, and effectively kept the textural characteristics after the model simplification.This short-cut method comprises the following steps:
Step 1, the weights on each summit in the Calculation of Three Dimensional model;
Step 2, big or small according to preset geometric units lattice size with the texture cell lattice, with three-dimensional model according to (x, y; Z, u, v) five dimensions are divided, and promptly divide according to the geometric units lattice earlier and obtain some leaf nodes; According to the texture cell lattice above-mentioned some leaf nodes are further divided on this basis and obtained more leaf node, wherein (x, y; Z) expression geometric space coordinate, (u v) representes texture space coordinates;
Step 3 is checked each leaf node inner vertex number,
If number of vertices is empty or is 1, then do not do any operation;
If number of vertices greater than preset number threshold value, is then carried out the node splitting operation to leaf node;
If number of vertices is greater than 1 and be less than or equal to preset number threshold value, according to the weights on step 1 gained summit, in leaf node, select the maximum summit of weights as the cluster representative point, calculate the geometric error ε that produces after the cluster
sWith texture error ε '
s, as geometric error ε
sGreater than preset geometric error threshold epsilon
MaxOr texture error ε '
sGreater than preset texture error threshold ε '
MaxThe Shi Jinhang splitting operation;
Step 4, the leaf node that splitting operation is produced returns execution in step 3, and the number of vertices in all leaf nodes is for empty or be 1, perhaps geometric error ε
sWith texture error ε '
sAll in threshold range;
In step 1, the weights account form on summit is following,
If summit weights scope w ∈ (0,1), weights more greatly then represent this summit important more,, relevant triangle set T is arranged for the arbitrary summit Q that is not positioned at boundary in the three-dimensional model
S={ t
0, t
1... t
m, suppose triangle set T
SIntermediate cam shape t
iWith t
jAdjacent, definition w
IjAs follows
w
ij=(1-dot(n
i,n
j))/2
N wherein
i, n
jBe respectively triangle t
i, t
jNormal vector, dot is the vector dot computing, w
IjThe value scope is (0,1), w
IjBe worth big more, expression triangle t
iWith t
jAngle more little, the weight w of summit Q is expressed as:
For the summit that is positioned at boundary, its weights are directly given maximal value 1.Judge that the concrete the implementation whether summit is positioned at boundary does, establishing summit Q has relevant limit set L
SWith triangle set T
SIf, limit set L
SIn have limit l and satisfy triangle set T
SIn have only unique triangle t to comprise this limit, this summit Q promptly is a frontier point so; If limit set L
SIn all limits do not satisfy this condition, this summit is not a frontier point so.
In step 3, the computational geometry error adopts the error of curvature measure, and concrete implementation is following,
Be set in the vertex set Q in the leaf node
S={ Q
w, Q
0, Q
1... Q
n, summit Q wherein
wBe the cluster representative point, vertex set Q
SOther any summit Q in interior
iRelevant triangle set Ts={t is arranged
0, t
1... t
m, triangle is gathered all vertex of a triangle Q among the Ts
iUse summit Q
wObtain triangle set Ts '={ t after the replacement
0', t
1' ... t
m'; If triangle set Ts intermediate cam shape t
jNormal vector be n
j, triangle set Ts ' intermediate cam shape t
j' normal vector be n
j', this summit Q
iGeometric error do
Dot representes the vector dot computing in the formula, and the j value is 0,1 ... m;
This vertex set Q
SGeometric error after the cluster does
ε
s=max{ε
i}
In the formula, max{} representes to get maximal value, and the i value is 0,1 ... n.
In step 3, the concrete implementation of calculating the texture error is following,
Be set in the vertex set Q in the leaf node
S={ Q
w, Q
0, Q
1... Q
n, summit Q wherein
wBe the cluster representative point, summit Q
wTexture coordinate be (u
w, v
w), vertex set Q
SOther any summit Q in interior
iTexture coordinate be (u
i, v
i), with summit Q
iUse summit Q
wTexture error after the replacement does
ε′
i=(u
i-u
w)
2+(v
i-v
w)
2
This vertex set Q
STexture error after the cluster does
ε′
s=max{ε′
i}
Wherein, max{} representes to get maximal value, and the i value is 0,1 ... n.
In order to realize the multiple dimensioned tissue of the progressive grid data of three-dimensional model, the present invention proposes basic grid M
0With basic index data Index
0Store top layer into, along with the increase of yardstick, successively with increment geometric data { Δ Data at different levels
1, Δ Data
2... Δ Data
nAnd level of detail grid M at different levels
1, M
2... M
nCorresponding index data { Index
1, Index
2... Index
nStore in the corresponding level.
Because the singularity of three-dimensional model, concrete organizational form has many different with spatial datas such as landform, images.Three-dimensional modeling data comprises mainly that on space expression data texturing is expressed and geometric data is expressed, so when making up the multiple dimensioned structure of three-dimensional model, must consider both expression.To this, the progressive grid method that the multiple dimensioned method for organizing of the progressive grid data of three-dimensional model adopts the present invention to propose is stored.The most complicated three-dimensional model is generated the progressive grid that obtains correspondence through multistage simplification; The model data store of simplifying is the most arrived detail (Level of Detail; LOD) the 0th layer, and along with the increase of yardstick, successively incremental datas at different levels are stored in the corresponding level.For the three-dimensional model texture, set up texture storehouse based on the pyramid structure of multiresolution, can satisfy the texture needs of visual middle MIP-MAP.With the texture of the corresponding different resolutions of how much LOD models of different level of detail, avoided simultaneously because model detail changes the texture crenellated phenomena that causes.
Therefore, the embodiment of the invention according to its how much characteristics with texture, is set up three-dimensional model corresponding multistage geometric model storehouse and multistage texture storehouse, thereby is made up multiple dimensioned data organization, with basic grid M
0With basic index data Index
0, the respective texture data storage is to top layer, along with the increase of yardstick, successively with increment geometric data { Δ Data at different levels
1, Δ Data
2... Δ Data
nAnd level of detail grid M at different levels
1, M
2... M
nCorresponding index data { Index
1, Index
2... Index
n, the respective texture data storage is in corresponding level.Its structure is as shown in Figure 4: basic grid M
0With basic index data Index
0, the respective texture data storing is at top layer, this layer is designated as LOD 0; The detail rank is 1 level of detail grid M
1With incremental data Δ Data
1, the respective texture data storing is at following one deck LOD 1; The detail rank is 2 level of detail grid M
2With incremental data Δ Data
2, the respective texture data storing is the level of detail grid M of n in following one deck LOD 2... detail rank
nWith incremental data Δ Data
n, the respective texture data storing is at bottom LOD n.Along with the increase of the LOD number of plies, its how much and the also increase successively of texture resolution.Obtaining of data texturings at different levels belongs to prior art, and resampling through texture to form multistage data texturing, and the present invention will not give unnecessary details.
In order to realize the progressive grid drafting of three-dimensional model, embodiment is in progressive grid visualization process, at first with basic grid M
0With basic index Index
0Being transferred to client draws.Along with the distance of viewpoint and model diminishes, ask the level of detail grid M of a high rank LOD
1Corresponding incremental data Δ Data
1With index Index
1, directly draw level of detail grid M
1, M
1=M
0+ Δ Data
1And the like, according to current required detail rank i, the incremental data Δ Data that transmission is corresponding
iWith index data Index
iTo client, at the level of detail grid M of upper level other (detail rank i-1)
I-1Draw level of detail grid M on the basis
i, i.e. M
i=M
I-1+ Δ Data
iThe continuous variation of viewpoint, the progressive grid that has just constituted three-dimensional model is drawn.This method for drafting has avoided frequent model meshes to rebuild and data request operation; Reduced data volume, also met viewpoint and observe in the world clear, fuzzy rule nearby at a distance Network Transmission; Can improve simultaneously the display efficiency of client, reduce user's stand-by period.
For the purpose of the enforcement reference, the present invention provides the progressive grid data concrete model design recommendation scheme of three-dimensional model following:
In the structure of the progressive grid of three-dimensional model; Not only be a simplification process, or the dynamic ordering procedure of a vertex data, for the vertex data that need remove after simplifying each time; It is not removed from internal memory, but confirm its memory location through its place LOD rank of mark.After all simplification processes finish, vertex data in the progressive grid that makes up is sorted according to the LOD rank, thus the sequential storage of realization vertex data.To this, embodiment has designed the progressive grid data model of three-dimensional model, and is as shown in Figure 2.
In Fig. 2, a complex model (Complex Model) is made up of progressive grid (Progress Mesh), comprises model attributes and ID.Progressive grid comprises three Data Structures: (1) triangle data structure Triangle, form the triangle data structure of progressive grid model, and comprise ID and attribute.(2) vertex data structure PMVertex forms the vertex data structure of progressive grid model, comprises ID and attribute.(3) vertex index data structure IndexList, the index data structure on LOD summit comprises ID and attribute.
In the progressive grid data model of its three-dimensional model, each spatial object all has unique ID identifier, and has its association attributes, like volume coordinate, normal vector, Vehicle; Relation is then represented the corresponding relation that all kinds of spatial objects are formed, like one-to-many (1:n), many-one (n:1) with shine upon (1:1) etc. one by one.It between triangle data structure Triangle and the vertex data structure PMVertex 1 pair 3 corresponding relation.
For a complex model, possibly combine by a plurality of progressive grids; For a progressive grid, comprise the basic geometric space object set of component model, i.e. triangle set and vertex set simultaneously, also comprise a plurality of vertex index data, are used to store other index of Different L OD level; For each summit, also stored its adjacent vertex, the leg-of-mutton relation table of adjacency in its attribute information, thus the relation between each spatial object of complete expression.
1) vertex data PMVertex, vertex data structure in the progressive grid defines as follows:
Vertex weights Weight is the quantized value of summit importance, in shortcut calculation, determines whether removing this summit through comparing the Weihgt value.The vertex weights size is not only relevant with the geometric coordinate on summit, simultaneously also and its adjacent vertex, in abutting connection with triangle confidential relation is arranged.Therefore need to preserve the adjacent vertex set and in abutting connection with the triangle aggregate information.In addition, (u v) is used under the texture coordinate space, calculating the texture error vertex texture mapping point, thereby guarantees to simplify result's textural characteristics.
2) triangle T riangle, the triangular structure of progressive grid comprises three summits, organization definition is following:
3) vertex index data I ndexList, the vertex index of storing LOD at different levels, organization definition is following:
struct?IndexList{
Std::vector < PMVertex*>VertexList // summit pointer chained list is the elongated array of PMVertex structured fingers
}
4) progressive grid ProgressMesh, progressive grid, organization definition is following:
More than C Plus Plus is adopted in definition, utilizes those skilled in the art's common terminology.* represent pointer, PMVertex* representes to point to the pointer of PMVertex structure, and PMTriangle* representes to point to the pointer of PMTriangle structure.
For the purpose of understanding effect of the present invention, adopt method of the present invention to experimentize, use C Plus Plus to write the progressive grid generating algorithm of three-dimensional model, come practical implementation through typical 3 D complex building model.Original three-dimensional model triangle number is 101983, and number of vertex is 140809.According to the inventive method, practical implementation is divided into 3 grades yardstick.Result of implementation is as shown in table 1:
Table 1: LOD three-dimensional data amounts at different levels
Wherein the aggregate data of triangle and triangular apex is for making up the needed total amount of data of this LOD level model.
Specific embodiment described herein only is that the present invention's spirit is illustrated.Person of ordinary skill in the field of the present invention can make various modifications or replenishes or adopt similar mode to substitute described specific embodiment, but can't depart from spirit of the present invention or surmount the defined scope of appended claims.
Claims (2)
1. progressive grid data method for organizing of three-dimensional model is characterized in that:
Original mesh according to three-dimensional model
M n Generate progressive grid data, comprise basic grid
M 0 With basic index data
Index 0 , incremental datas at different levels
Δ Data 1 , Δ Data 2 ... Δ Data n , and level of detail grid at different levels
M 1 , M 2 ... M n Corresponding index data
Index 1 , Index 2 ... Index n ; Wherein, the detail rank does
iThe level of detail grid
,
iValue does
1,2 ... N
With basic grid
M 0 With basic index data
Index 0 Store top layer into, along with the increase of yardstick, successively with increment geometric datas at different levels
Δ Data 1 , Δ Data 2 ... Δ Data n And level of detail grid at different levels
M 1 , M 2 ... M n Corresponding index data
Index 1 , Index 2 ... Index n Store in the corresponding level;
In progressive grid visualization process, at first with basic grid
M 0 With basic index data
Index 0 Be transferred to client, and draw; According to current required detail rank
i, the incremental data that transmission is corresponding
Δ Data i And index data
Index i To client, at other level of detail grid of upper level
Draw the level of detail grid on the basis
2. the progressive grid data method for organizing of three-dimensional model according to claim 1, it is characterized in that: the concrete mode that generates progressive grid data may further comprise the steps,
Step 1 reads original three-dimensional model, with the original mesh of original three-dimensional model as the level of detail grid
M n , all summits of original three-dimensional model are added among the progressive grid vertex set VertexList, and the attribute Level value on all summits of initialization does
0All summits and leg-of-mutton attribute Removed value that original three-dimensional model is set are false, and expression is not removed; List all triangles of original three-dimensional model in triangle chained list TriangleList, traversing triangle chained list TriangleList obtains index data
Index n , with index data
Index n Add among the detail index LodVertexList at different levels; If level of detail grid current to be simplified does
M k , order
k=
n
Step 2 is with level of detail grid current to be simplified
M k Simplify the level of detail grid that obtains last layer
M K-1 , the vertex set that need remove after obtaining simplifying
V m If simplify the back vertex set
V m In arbitrary summit
V a By the summit
V b Substitute, traversal comprises the summit
V a In abutting connection with triangle set, will point to summits in abutting connection with all triangles in the triangle set
V a Pointer all point to the summit
V b , form
V a Sensing triangle set; Vertex set
V m In the sensing triangle set on all summits constitute triangle set NT;
Step 3, traversing triangle set NT, when in three summit pointers in the triangle any two when pointing to same summits, then this triangle is invalid triangle; All invalid triangle attribute Removed values are set are true, expression has removed;
Step 4, mark vertex set in progressive grid vertex set VertexList
V m The attribute Removed value on interior all summits is true, and expression removes; Vertex set is set
V m The attribute Level value on interior all summits does
k, expression detail rank does
k, this vertex set
V m Be
kThe incremental data of level
Data k
Step 5, attribute Removed value is the triangle of false among the traversing triangle chained list TriangleList, obtains index data
Index K-1, With index data
Index K-1 Add among the detail index LodVertexList at different levels;
Step 6, if
k>0, order
k=
k-1, return step 2 and continue to calculate incremental data
Data k And index data
Index K-1 If, if
k=0, get into step 7;
Step 7, all properties Removed value is constituted to gather by the summit of true and is basic grid among the progressive grid vertex set VertexList
M 0 , attribute Removed value is the triangle of false among the traversing triangle chained list TriangleList, the gained index data is basic index data
Index 0
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110317931.0A CN102360515B (en) | 2011-10-19 | 2011-10-19 | Progressive mesh data organization method for three-dimensional model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110317931.0A CN102360515B (en) | 2011-10-19 | 2011-10-19 | Progressive mesh data organization method for three-dimensional model |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102360515A true CN102360515A (en) | 2012-02-22 |
CN102360515B CN102360515B (en) | 2013-04-24 |
Family
ID=45585840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110317931.0A Expired - Fee Related CN102360515B (en) | 2011-10-19 | 2011-10-19 | Progressive mesh data organization method for three-dimensional model |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102360515B (en) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682103A (en) * | 2012-04-28 | 2012-09-19 | 北京建筑工程学院 | Three-dimensional space index method aiming at massive laser radar point cloud models |
CN103324783A (en) * | 2013-05-30 | 2013-09-25 | 国家电网公司 | LOD model real-time generation method based on side folding |
CN103425787A (en) * | 2013-08-26 | 2013-12-04 | 中国人民解放军国防科学技术大学 | Gradient optimal method for rapidly removing repeated top points from triangular grid |
CN104937639A (en) * | 2012-11-30 | 2015-09-23 | 株式会社电装 | Three-dimensional image generating device and three-dimensional image generating method |
CN106296794A (en) * | 2015-05-12 | 2017-01-04 | 十维度(厦门)网络科技有限公司 | A kind of self adaptation stream loading technique with the high-strength compression of 3D data |
CN106447778A (en) * | 2016-11-09 | 2017-02-22 | 苏州希格玛科技有限公司 | A method of realizing a dynamic level-of-detail model |
WO2018045853A1 (en) * | 2016-09-08 | 2018-03-15 | 索尼公司 | Information processing device and information processing method |
CN109410332A (en) * | 2018-09-17 | 2019-03-01 | 广西大学 | Three-dimensional space geometry dummy model level of detail method of cutting out based on point-line-surface |
CN109829974A (en) * | 2019-02-28 | 2019-05-31 | 中山大学 | A kind of 3-D graphic adaptive display method of intelligent glasses |
CN110211234A (en) * | 2019-05-08 | 2019-09-06 | 上海索辰信息科技有限公司 | A kind of grid model sewing system and method |
CN110716999A (en) * | 2019-09-05 | 2020-01-21 | 武汉大学 | POI positioning method based on position description containing qualitative position and quantitative distance |
CN111046005A (en) * | 2019-11-01 | 2020-04-21 | 宝略科技(浙江)有限公司 | Gridding coding method for urban three-dimensional live-action data |
CN111788607A (en) * | 2018-04-12 | 2020-10-16 | 谷歌有限责任公司 | Batch density increase for improved progressive mesh compression |
CN113593031A (en) * | 2021-05-24 | 2021-11-02 | 北京建筑大学 | Multi-scale expression method of urban three-dimensional model considering local features |
CN113890675A (en) * | 2021-09-18 | 2022-01-04 | 聚好看科技股份有限公司 | Self-adaptive display method and device of three-dimensional model |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111161411B (en) | 2020-04-08 | 2020-07-14 | 速度时空信息科技股份有限公司 | OctreeImage-based three-dimensional building model L OD method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108006A (en) * | 1997-04-03 | 2000-08-22 | Microsoft Corporation | Method and system for view-dependent refinement of progressive meshes |
-
2011
- 2011-10-19 CN CN201110317931.0A patent/CN102360515B/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108006A (en) * | 1997-04-03 | 2000-08-22 | Microsoft Corporation | Method and system for view-dependent refinement of progressive meshes |
Non-Patent Citations (4)
Title |
---|
《Proceedings of SIGGRAPH'96,Computer Graphics Proceedings,Annual Conference Series,ACM SIGGRAPH,ACM Press》 19961231 Hugues Hoppe Progressive Meshes 全文 1-2 , * |
《Proceedings of SIGGRAPH'97》 19971231 Hugues Hoppe View-Dependent Refinement of Progressive Meshes 第190页左栏第7段,第191页右栏第1段,第192页右栏最后1段,第194页右栏倒数第1段 1 , * |
HUGUES HOPPE: "Progressive Meshes", 《PROCEEDINGS OF SIGGRAPH’96,COMPUTER GRAPHICS PROCEEDINGS,ANNUAL CONFERENCE SERIES,ACM SIGGRAPH,ACM PRESS》, 31 December 1996 (1996-12-31) * |
HUGUES HOPPE: "View-Dependent Refinement of Progressive Meshes", 《PROCEEDINGS OF SIGGRAPH’97》, 31 December 1997 (1997-12-31) * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682103A (en) * | 2012-04-28 | 2012-09-19 | 北京建筑工程学院 | Three-dimensional space index method aiming at massive laser radar point cloud models |
CN104937639B (en) * | 2012-11-30 | 2017-06-27 | 株式会社电装 | 3-dimensional image creation device and three-dimensional image generating method |
CN104937639A (en) * | 2012-11-30 | 2015-09-23 | 株式会社电装 | Three-dimensional image generating device and three-dimensional image generating method |
CN103324783A (en) * | 2013-05-30 | 2013-09-25 | 国家电网公司 | LOD model real-time generation method based on side folding |
CN103425787A (en) * | 2013-08-26 | 2013-12-04 | 中国人民解放军国防科学技术大学 | Gradient optimal method for rapidly removing repeated top points from triangular grid |
CN106296794A (en) * | 2015-05-12 | 2017-01-04 | 十维度(厦门)网络科技有限公司 | A kind of self adaptation stream loading technique with the high-strength compression of 3D data |
WO2018045853A1 (en) * | 2016-09-08 | 2018-03-15 | 索尼公司 | Information processing device and information processing method |
US10733809B2 (en) | 2016-09-08 | 2020-08-04 | Sony Corporation | Information processing device and information processing method |
CN106447778A (en) * | 2016-11-09 | 2017-02-22 | 苏州希格玛科技有限公司 | A method of realizing a dynamic level-of-detail model |
CN111788607A (en) * | 2018-04-12 | 2020-10-16 | 谷歌有限责任公司 | Batch density increase for improved progressive mesh compression |
CN109410332A (en) * | 2018-09-17 | 2019-03-01 | 广西大学 | Three-dimensional space geometry dummy model level of detail method of cutting out based on point-line-surface |
CN109410332B (en) * | 2018-09-17 | 2022-12-23 | 广西大学 | Three-dimensional space geometric virtual model detail level cutting method based on point, line and surface |
CN109829974A (en) * | 2019-02-28 | 2019-05-31 | 中山大学 | A kind of 3-D graphic adaptive display method of intelligent glasses |
CN109829974B (en) * | 2019-02-28 | 2023-05-05 | 中山大学 | Three-dimensional graph self-adaptive display method of intelligent glasses |
CN110211234A (en) * | 2019-05-08 | 2019-09-06 | 上海索辰信息科技有限公司 | A kind of grid model sewing system and method |
CN110211234B (en) * | 2019-05-08 | 2023-09-22 | 上海索辰信息科技有限公司 | Grid model stitching system and method |
CN110716999A (en) * | 2019-09-05 | 2020-01-21 | 武汉大学 | POI positioning method based on position description containing qualitative position and quantitative distance |
CN111046005A (en) * | 2019-11-01 | 2020-04-21 | 宝略科技(浙江)有限公司 | Gridding coding method for urban three-dimensional live-action data |
CN111046005B (en) * | 2019-11-01 | 2023-09-01 | 宝略科技(浙江)有限公司 | Gridding coding method for urban three-dimensional live-action data |
CN113593031A (en) * | 2021-05-24 | 2021-11-02 | 北京建筑大学 | Multi-scale expression method of urban three-dimensional model considering local features |
CN113890675A (en) * | 2021-09-18 | 2022-01-04 | 聚好看科技股份有限公司 | Self-adaptive display method and device of three-dimensional model |
Also Published As
Publication number | Publication date |
---|---|
CN102360515B (en) | 2013-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102360515B (en) | Progressive mesh data organization method for three-dimensional model | |
CN102306180B (en) | Modeling method based on mass laser radar grid point cloud data | |
CN102930594B (en) | Rendering method for computer three-dimensional terrain grid based on boundary maintenance | |
Floriani et al. | VARIANT: a system for terrain modeling at variable resolution | |
CN102509339B (en) | Method for simplifying vertex clustering of three-dimensional models with texture constraint | |
CN105405166A (en) | LOD model generation method based on linear quadtree | |
CN101377857A (en) | Method for simplifying three-dimensional model based on octree space division and culmination deletion | |
CN102930597A (en) | Processing method for three-dimensional model of external memory | |
Zhang et al. | Adaptive hexahedral mesh generation based on local domain curvature and thickness using a modified grid-based method | |
CN101354788A (en) | One-dimensional nondestructive geometric compressing method of three-dimensional grid model | |
CN101169871A (en) | HLOD pretreatment method facing to large scale static scene real-time rendering | |
CN100583160C (en) | A physical distortion method based on details coding and reconstruction | |
Franklin et al. | Smugglers and border guards: the geostar project at RPI | |
Bao et al. | LOD-based clustering techniques for efficient large-scale terrain storage and visualization | |
Yang et al. | Constructing multi-resolution triangulated irregular network model for visualization | |
Danovaro et al. | Level-of-detail for data analysis and exploration: A historical overview and some new perspectives | |
CN106097446A (en) | A kind of three dimensional geological curved surface method for reconstructing based on extensive geological data | |
Velho | A dynamic adaptive mesh library based on stellar operators | |
CN110727746A (en) | Buffer analysis parallel scheduling method and device based on secondary task division strategy | |
CN106097447A (en) | A kind of curve reestablishing method of extensive geological data | |
Suárez et al. | Four-triangles adaptive algorithms for RTIN terrain meshes | |
Hanjianga et al. | A strategy to build a seamless multi-scale TIN-DEM database | |
Ponchio et al. | Interactive rendering of dynamic geometry | |
CN113593031A (en) | Multi-scale expression method of urban three-dimensional model considering local features | |
CN113094460B (en) | Three-dimensional building progressive coding and transmission method and system of structure level |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130424 Termination date: 20211019 |
|
CF01 | Termination of patent right due to non-payment of annual fee |