CN102360515B - Progressive mesh data organization method for three-dimensional model - Google Patents
Progressive mesh data organization method for three-dimensional model Download PDFInfo
- Publication number
- CN102360515B CN102360515B CN201110317931.0A CN201110317931A CN102360515B CN 102360515 B CN102360515 B CN 102360515B CN 201110317931 A CN201110317931 A CN 201110317931A CN 102360515 B CN102360515 B CN 102360515B
- Authority
- CN
- China
- Prior art keywords
- data
- index
- triangle
- level
- detail
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
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 geography information visualization technique field, particularly relates to a kind of Progressive mesh data organization method for net environment city complex three-dimensional model.
Background technology
In addition, along with the development of network technology with popularize, three-dimensional model not only need to be stored and draw in this locality, also needs to transmit by the internet.Therefore, how at net 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 a large amount of research work for above problem, wherein, Progressive Mesh (the Progressive Mesh that proposes with the H.Hoppe of Microsoft company, PM) concept is the most famous, related documents: 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] and .Proceedings of SIGGRAPH ' 97.1997:189-198. provides a solution for the progressive transmission of three-dimensional model.
Hoppe proposes the Progressive Mesh concept and provides a kind of realization approach for the network progressive transmission of complex three-dimensional model, can play up simultaneously and the download model data, compares with display packing after the traditional first download, has very strong real-time.And, compare with the method for traditional structure resolution simplified model, more level and smooth and continuous aspect the model hierarchy transition.
But in actual applications, this method still exists certain defective and weak point, is mainly reflected in the following aspects:
(1) the Progressive mesh data amount that generates after the simplification is larger.
The complex three-dimensional model data amount of using in some applications is up to tens MB, may comprise several ten thousand even hundreds of thousands triangular piece unit, adopting Edge collapse algorithm to generate in the process of simplified model, may need to carry out up to tens thousand of inferior folding operations, and in the process that makes up Progressive Mesh, the recovery information of folding operation is all recorded each time, therefore vertex split in the Progressive Mesh that generates (Vertex Split is called for short vsplit) sequence information need to take a large amount of additional storage spaces.
In addition, each time in the folding process, all need to generate a new summit and record, therefore the final Progressive mesh 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) model reconstruction frequent operation.
In three-dimensional grid model rejuvenation, a vsplit operation of every execution all needs to send a secondary data request to service end, and after downloading to data the client grid is rebuild and plays up.In the application of digital earth, usually need to play up the three-dimensional modeling data of magnanimity, number is very harsh for the performance requirement of client with ten thousand times reconstruction calculations, has greatly limited the real-time display efficiency of three-dimensional model.For the progressive display of magnanimity complex three-dimensional model, a large amount of data request 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 a kind of Progressive mesh data organization method for three-dimensional model.
Technical scheme of the present invention is a kind of Progressive mesh data organization method for three-dimensional model, according to the original mesh M of three-dimensional model
nGenerate Progressive mesh 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 the Progressive Mesh 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 mesh data may further comprise the steps,
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, need the vertex set V that removes after being simplified
mIf vertex set V after simplifying
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 consist of triangle set NT;
Step 3, traversing triangle set NT, when in three summit pointers in the triangle any two when pointing to same summit, then this triangle is invalid triangle; All invalid triangle attribute Removed values are set are true, expression has removed;
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-1Add among the detail index LodVertexList at different levels;
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-1If, if k=0 enters step 7;
Step 7, all properties Removed value is consisted of set by the summit of true and is basic grid M among the Progressive Mesh 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 of the present invention is to make up the multiple dimensioned Progressive Mesh of three-dimensional model, realizes irredundant, the multiple dimensioned increment type Organization of Data of net environment three-dimensional modeling data, is conducive to the fast transport of complex three-dimensional model and efficiently visual.
Description of drawings
Fig. 1 is the complex three-dimensional model generation multilevel data structure figure of the embodiment of the invention.
Fig. 2 is the Progressive mesh data illustraton of model of the embodiment of the invention.
Fig. 3 is that the Progressive Mesh of the embodiment of the invention makes up process flow diagram.
Fig. 4 is the Progressive mesh data organization method for three-dimensional model of the embodiment of the invention.
Embodiment
The present invention proposes a kind of Progressive mesh data organization method for three-dimensional model, describes technical solution of the present invention in detail below in conjunction with drawings and Examples:
For reducing reconstruct and the solicit operation of three-dimensional model gridding rejuvenation in making up the Progressive Mesh process, embodiment is according to original mesh M
nGenerate Progressive mesh 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 implementation, n belongs to positive integer, is the progression of Progressive mesh data, can be by user's self-defining during implementation.
The Progressive mesh data structure is with original mesh M
iGenerate according to the actual requirements multi-stage data, as shown in Figure 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 respectively three triangles, this moment is without incremental data.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 index data { Index corresponding to 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 edge contraction Progressive Mesh construction method that Hoppe proposes, each step edge contraction action need generates a new summit with two original vertices, need to open up the data that newly-generated summit is stored in certain storage space space, causes the waste of storage space.Therefore, for reducing the redundant data amount, in carrying out the model simplification process, the generation on new summit be should avoid, but two or more summits of needs simplification, i.e. any one-level incremental data Δ Data in the Progressive Mesh replaced with a certain summit in the original mesh data
iAll are original mesh M
nSubset.
Referring to Fig. 3, the three-dimensional model Progressive Mesh product process step of embodiment is as follows:
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, need the vertex set V that removes after being simplified
mIf vertex set V after simplifying
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 consist of triangle set NT.
Step 3, traversing triangle set NT, when in three summit pointers in the triangle any two when pointing to same summit, then this triangle is invalid triangle; All invalid triangle attribute Removed values are set are true, expression removes.Embodiment is designated as Vertex[1 with three summit pointers in the triangle], Vertex[2], Vertex[3], as Vertex[1]==Vertex[2] || Vertex[1]==Vertex[3] || Vertex[2]==Vertex[3] time, then this triangle is invalid triangle.
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-1Add among the detail index LodVertexList at different levels.
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-1If, if k==0 enters step 7.
Step 7, all properties Removed value is consisted of set by the summit of true and is basic grid M among the Progressive Mesh 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 mesh 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 in storage order; Then export the vertex data increment of every one-level and index data to file according to the Progressive Mesh vertex set VertexList behind the generic sequence and LOD index LodVertexList at different levels.Be convenient to like this carry out multiple dimensioned tissue storage.
During implementation, step 2 is simplified can adopt various ways, such as shortcut calculation of Edge Collapse Simplification, wavelet decomposition etc.Embodiment adopts the method for simplifying vertex clustering of three-dimensional models with texture constraint, texture error metrics method and how much simplification organic unities of complex three-dimensional model are got up, 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 2, big or small according to default geometric units lattice size and texture cell lattice, with three-dimensional model according to (x, y, z, u, v) five dimensions are divided, namely divide according to the geometric units lattice first and obtain some leaf nodes, according to the texture cell lattice above-mentioned some leaf node Further Divisions are obtained more leaf node, wherein (x on this basis, y, z) expression geometric space coordinate, (u, v) represents texture space coordinates;
Step 3 checks 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 default number threshold value, is then carried out the node split operation to leaf node;
If number of vertices is greater than 1 and be less than or equal to default number threshold value, according to step 1 gained weight of vertex value, the geometric error ε that produces after the cluster is calculated as the cluster representative point in the summit of selecting the weights maximum in the leaf node
sWith texture error ε '
s, as geometric error ε
sGreater than default geometric error threshold epsilon
MaxOr texture error ε '
sGreater than default texture error threshold ε '
MaxThe Shi Jinhang splitting operation;
Step 5 is for all geometric error ε
sWith texture error ε '
sAll the leaf node in threshold range is replaced the summit in the leaf node with cluster representative point, and upgrades index data, then the triangle of degenerating is removed from the triangle tabulation of three-dimensional model.
In step 1, weight of vertex value account form is as follows,
If summit weights scope w ∈ (0,1), weights are larger, and then to represent this summit more important, for the arbitrary summit Q that is not positioned at boundary in the three-dimensional model, relevant triangle set T arranged
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 larger, expression triangle t
iWith t
jAngle less, 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 specific implementation whether summit is positioned at boundary is, 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 only have unique triangle t to comprise this limit, this summit Q namely is frontier point so; If limit set L
SIn all limits do not satisfy this condition, this summit is not frontier point so.
In step 3, the computational geometry error adopts the error of curvature measure, and specific implementation is as follows,
Be set in the vertex set Q in the leaf node
S={ Q
w, Q
0, Q
1... Q
n, summit Q wherein
wBe cluster representative point, vertex set Q
SOther any one 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 be
Dot represents the vector dot computing in the formula, and the j value is 0,1 ... m;
This vertex set Q
SGeometric error after the cluster is
ε
s=max{ε
i}
In the formula, max{} represents to get maximal value, and the i value is 0,1 ... n.
In step 3, the specific implementation of calculating the texture error is as follows,
Be set in the vertex set Q in the leaf node
S={ Q
w, Q
0, Q
1... Q
n, summit Q wherein
wBe cluster representative point, summit Q
wTexture coordinate be (u
w, v
w), vertex set Q
SOther any one summit Q in interior
iTexture coordinate be (u
i, v
i), with summit Q
iUse summit Q
wTexture error after the replacement is
ε′
i=(u
i-u
w)
2+(v
i-v
w)
2
This vertex set Q
STexture error after the cluster is
ε′
s=max{ε′
i}
Wherein, max{} represents to get maximal value, and the i value is 0,1 ... n.
In order to realize the multiple dimensioned tissue of three-dimensional model Progressive mesh data, 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 from 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 must consider both expression when making up the three-dimensional model Multi-scale model.To this, the Progressive Mesh method that the multiple dimensioned method for organizing of three-dimensional model Progressive mesh data adopts the present invention to propose is stored.The most complicated three-dimensional model is generated the Progressive Mesh 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 the 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 because model detail changes the texture crenellated phenomena that causes simultaneously.
Therefore, the embodiment of the invention according to its how much features with texture, is set up three-dimensional model corresponding multistage geometric model storehouse and Mipmap storehouse, thereby is made up multiple dimensioned Organization of Data, with basic grid M
0With basic index data Index
0, the respective texture data store 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
n, the respective texture data store in the 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 lower 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 lower 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 successively increase of texture resolution.Obtaining of data texturings at different levels belongs to prior art, and resampling by texture to form multistage data texturing, and it will not go into details in the present invention.
In order to realize the drafting of three-dimensional model Progressive Mesh, embodiment is in the Progressive Mesh 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
1The 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 Mesh that has just consisted of three-dimensional model is drawn.This method for drafting has been avoided frequently model meshes reconstruction and data request operation, reduced the data volume to Internet Transmission, it is clear nearby also to meet in the viewpoint observation world, at a distance fuzzy rule, can improve simultaneously the display efficiency of client, reduce user's stand-by period.
For the purpose of the enforcement reference, the Progressive mesh data concrete model design recommendation scheme that the invention provides three-dimensional model is as follows:
In the structure of three-dimensional model Progressive Mesh, not only be a simplification process, or the dynamic ordering procedure of a vertex data, for the vertex data that needs after simplifying each time to remove, it is not removed from internal memory, but determine its memory location by its place of mark LOD rank.After all simplification processes finish, vertex data in the Progressive Mesh 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 mesh data model of three-dimensional model, as shown in Figure 2.
In Fig. 2, a complex model (Complex Model) is made of Progressive Mesh (Progress Mesh), comprises model attributes and ID.Progressive Mesh comprises the three basic data structure: (1) triangle data structure Triangle, the triangle data structure of composition Progressive Mesh model comprises ID and attribute.(2) vertex data structure PMVertex, the vertex data structure of composition Progressive Mesh 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 mesh data model of its three-dimensional model, each spatial object has unique ID identifier, and has its association attributes, such as volume coordinate, normal vector, color etc.; Relation then represents the corresponding relation that all kinds of spatial objects form, such as one-to-many (1:n), many-one (n:1) with shine upon one by one (1:1) etc.It is 1 pair 3 corresponding relation between triangle data structure Triangle and the vertex data structure PMVertex.
For a complex model, may be combined by a plurality of Progressive Meshs; For a Progressive Mesh, 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 for other index of storage 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 Mesh is defined as follows:
Vertex weights Weight is the quantized value of summit importance, determines whether removing this summit by comparing the Weihgt value in shortcut calculation.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 close relationship is arranged.Therefore need to preserve the adjacent vertex set and in abutting connection with the triangle aggregate information.In addition, vertex texture mapping point (u, v) is used for calculating the texture error under the texture coordinate space, thereby guarantees to simplify result's textural characteristics.
2) triangle T riangle, the triangular structure of Progressive Mesh comprises three summits, organization definition is as follows:
3) vertex index data I ndexList, the vertex index of storing LOD at different levels, organization definition is as follows:
struct?IndexList{
Std::vector<PMVertex*〉VertexList // summit pointer chained list is the elongated array of PMVertex structured fingers
}
4) Progressive Mesh ProgressMesh, Progressive Mesh, organization definition is as follows:
More than C Plus Plus is adopted in definition, utilizes those skilled in the art's common terminology.* represent pointer, PMVertex* represents to point to the pointer of PMVertex structure, and PMTriangle* represents 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 test, use C Plus Plus to write three-dimensional model Progressive Mesh generating algorithm, come implementation by 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, 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 to the explanation for example of the present invention's spirit.Those skilled in the art can make various modifications or replenish 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 (1)
1. Progressive mesh data organization method for three-dimensional model is characterized in that:
Original mesh M according to three-dimensional model
nGenerate Progressive mesh 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 the Progressive Mesh 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
The concrete mode of described generation Progressive mesh 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 Mesh 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, need the vertex set V that removes after being simplified
mIf vertex set V after simplifying
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 consist of triangle set NT;
Step 3, traversing triangle set NT, when in three summit pointers in the triangle any two when pointing to same summit, 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 Mesh 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 Δ Data of k level
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-1Add among the detail index LodVertexList at different levels;
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-1If, if k=0 enters step 7;
Step 7, all properties Removed value is consisted of set by the summit of true and is basic grid M among the Progressive Mesh 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
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 CN102360515A (en) | 2012-02-22 |
CN102360515B true 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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11854145B2 (en) | 2020-04-08 | 2023-12-26 | Speed Technology Co., Ltd. | Octree-based three-dimensional building model LOD method |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682103B (en) * | 2012-04-28 | 2014-03-26 | 北京建筑工程学院 | Three-dimensional space index method aiming at massive laser radar point cloud models |
JP5983550B2 (en) * | 2012-11-30 | 2016-08-31 | 株式会社デンソー | 3D image generation apparatus and 3D image generation method |
CN103324783B (en) * | 2013-05-30 | 2015-12-23 | 国家电网公司 | Based on the LOD model Real-time Generation of edge contraction |
CN103425787B (en) * | 2013-08-26 | 2016-06-22 | 中国人民解放军国防科学技术大学 | The triangle gridding of a kind of asymptotic optimization repeats the quick minimizing technology in summit |
CN106296794A (en) * | 2015-05-12 | 2017-01-04 | 十维度(厦门)网络科技有限公司 | A kind of self adaptation stream loading technique with the high-strength compression of 3D data |
CN107808417A (en) * | 2016-09-08 | 2018-03-16 | 索尼公司 | Message processing device and information processing method |
CN106447778A (en) * | 2016-11-09 | 2017-02-22 | 苏州希格玛科技有限公司 | A method of realizing a dynamic level-of-detail model |
WO2019200141A1 (en) * | 2018-04-12 | 2019-10-17 | Google Llc | Vertex split connectivity prediction for improved progressive mesh compression |
CN109410332B (en) * | 2018-09-17 | 2022-12-23 | 广西大学 | Three-dimensional space geometric virtual model detail level cutting method based on point, line and surface |
CN109829974B (en) * | 2019-02-28 | 2023-05-05 | 中山大学 | Three-dimensional graph self-adaptive display method of intelligent glasses |
CN110211234B (en) * | 2019-05-08 | 2023-09-22 | 上海索辰信息科技有限公司 | Grid model stitching system and method |
CN110716999B (en) * | 2019-09-05 | 2021-10-22 | 武汉大学 | POI positioning method based on position description containing qualitative position and quantitative distance |
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 |
Family Cites Families (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
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11854145B2 (en) | 2020-04-08 | 2023-12-26 | Speed Technology Co., Ltd. | Octree-based three-dimensional building model LOD method |
Also Published As
Publication number | Publication date |
---|---|
CN102360515A (en) | 2012-02-22 |
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 | |
De Floriani et al. | Multiresolution mesh representation: Models and data structures | |
CN102682103B (en) | Three-dimensional space index method aiming at massive laser radar point cloud models | |
CN102930597B (en) | Processing method for three-dimensional model of external memory | |
CN102509339B (en) | Method for simplifying vertex clustering of three-dimensional models with texture constraint | |
Floriani et al. | VARIANT: a system for terrain modeling at variable resolution | |
CN102930594B (en) | Rendering method for computer three-dimensional terrain grid based on boundary maintenance | |
CN1936962A (en) | Large-landform generation method based on PC platform in 3-D game | |
CN105405166A (en) | LOD model generation method based on linear quadtree | |
CN103077549A (en) | Real-time large-scale terrain visualization implementation method based on kd tree | |
JP3184785B2 (en) | 3D shape model transmission method and device, 3D shape model compression method and device, 3D shape model display method and device | |
CN114529633A (en) | Method for supporting continuous LOD (level of detail) drawing of GIS (geographic information system) line object and surface object | |
CN103268221A (en) | Three-dimensional weather data volume display method and device based on WEB technique | |
CN101403909A (en) | Triangular gridding subdivision curved surface NC tool track fast generation method | |
Franklin et al. | Smugglers and border guards: the geostar project at RPI | |
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 | |
Álvarez et al. | A mesh optimization algorithm based on neural networks | |
Allegre et al. | The hybridtree: Mixing skeletal implicit surfaces, triangle meshes, and point sets in a free-form modeling system | |
CN116258804A (en) | BIM model light weight method based on digital-analog separation and compression optimization | |
CN106097447A (en) | A kind of curve reestablishing method of extensive geological data | |
CN101504777A (en) | Analysis method for topology relation between tri-dimensional composite body objects |
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 |