CN102360515A - Progressive mesh data organization method for three-dimensional model - Google Patents

Progressive mesh data organization method for three-dimensional model Download PDF

Info

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
Application number
CN2011103179310A
Other languages
Chinese (zh)
Other versions
CN102360515B (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.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
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 Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN201110317931.0A priority Critical patent/CN102360515B/en
Publication of CN102360515A publication Critical patent/CN102360515A/en
Application granted granted Critical
Publication of CN102360515B publication Critical patent/CN102360515B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

The progressive grid data method for organizing of a kind of three-dimensional model
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 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-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 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-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;
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 the 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, 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:
w = max { w ij } i ≠ j i , j ∈ ( 0 , m )
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
ϵ i = 1 m + 1 Σ j = 0 m dot ( n j , n j ′ )
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:
Figure BDA0000099982810000092
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:
Figure BDA0000099982810000102
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
Figure BDA0000099982810000103
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
Figure 574764DEST_PATH_IMAGE001
, 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
Figure 2011103179310100001DEST_PATH_IMAGE002
Draw the level of detail grid on the basis
Figure 429588DEST_PATH_IMAGE003
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
CN201110317931.0A 2011-10-19 2011-10-19 Progressive mesh data organization method for three-dimensional model Expired - Fee Related CN102360515B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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