CN105389851B - A kind of Loop subdivision implementation method based on vertex and the unified adjustment of new edge point - Google Patents

A kind of Loop subdivision implementation method based on vertex and the unified adjustment of new edge point Download PDF

Info

Publication number
CN105389851B
CN105389851B CN201510689989.6A CN201510689989A CN105389851B CN 105389851 B CN105389851 B CN 105389851B CN 201510689989 A CN201510689989 A CN 201510689989A CN 105389851 B CN105389851 B CN 105389851B
Authority
CN
China
Prior art keywords
vertex
subdivision
loop subdivision
point
loop
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.)
Active
Application number
CN201510689989.6A
Other languages
Chinese (zh)
Other versions
CN105389851A (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN201510689989.6A priority Critical patent/CN105389851B/en
Publication of CN105389851A publication Critical patent/CN105389851A/en
Application granted granted Critical
Publication of CN105389851B publication Critical patent/CN105389851B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

The Loop subdivision implementation method based on vertex and the unified adjustment of new edge point that the present invention provides a kind of, it is characterised in that initially set up the half of data store organisation of triangle grid model.It is then based on the data structure and realizes 14 subdivisions, then all vertex positions of the grid model after 14 subdivisions are adjusted by unified calculation formula, to realize 1 Loop subdivision.Finally, to realizing that the grid progress estimation error after Loop subdivision stops segmenting if the grid meets error requirements, otherwise continue subdivision until meeting error requirements.The Loop subdivision method of the present invention is realized simply, efficient.

Description

A kind of Loop subdivision implementation method based on vertex and the unified adjustment of new edge point
Technical field
The Loop subdivision implementation method based on vertex and the unified adjustment of new edge point that the present invention relates to a kind of, and in particular to half Loop subdivision is fast implemented under the data structure of side, the signified Loop subdivision of the present invention is a kind of subdivision based on tringle coal Method, i.e. Loop subdivision belong to computer graphics and Curves and Surfaces Modeling Technology field.
Background technology
Modeling Technology of Subdivision Surface is a kind of by the way that initial control grid is obtained a smooth pole by refining many times Curved surface is limited, is a kind of common technology in surface modeling, has obtained widely answering in computer animation and reverse-engineering field With.Loop subdivision is one of most common method in Modeling Technology of Subdivision Surface, referring to Loop C.Smooth subdivision surfaces based on triangles.1987.The characteristics of Loop subdivision segments template due to it, for newly-generated side Point and original vertices must use different subdivision templates.In order to distinguish existing vertex and newly-generated edge point, Loop is being realized Generally understand opposite vertexes when subdivision and edge point is handled by different level, newly-generated edge point is made to be in highest level, opposite vertexes and side The processing by different level of point increases the amount of storage for realizing Loop subdivision program.Additionally due to the position of newly-generated edge point is by level The position on existing vertex lower than it determines that this makes the specific location for calculating edge point become complex.
Loop subdivision belongs to the subdivision of 1-4 triangles from subdivision mode, i.e., a triangle point in segmenting each time At four triangles.So Loop subdivision can be realized in two steps, first, by three on three sides of each tri patch A midpoint is connected two-by-two as the edge point newly increased, realizes that the 1-4 that a tri patch is subdivided into four tri patch is segmented. Then, the position of original vertices and the edge point newly increased is adjusted.Need to find a kind of unified method to original for this The position of beginning control vertex and the edge point newly increased is adjusted, this is not by original control vertex and newly-generated edge point It is handled respectively to realize that Loop subdivision provides possibility.
Invention content
The Loop subdivision implementation method based on vertex and the unified adjustment of new edge point that the purpose of the present invention is to provide a kind of, it It is a kind of simple, the Loop subdivision realization side of introducing control vertex hierarchical information and control vertex type need not be passed through Method needs by the way that level is arranged to control vertex and to push up new edge point and original control to solve existing Loop subdivision algorithm The problem of point uses different subdivision templates to be calculated to realize Loop subdivision.
A kind of Loop subdivision implementation method based on vertex and the unified adjustment of new edge point of the present invention, it includes the following steps:
Step 1:The half of data store organisation based on tringle coal is built, specifically:By triangle grid model text The data of part are read by computer program in memory, and according in model data vertex coordinates data and each dough sheet Three vertex numbers establish vertex linear linked list based on vertex, one side of something and dough sheet, half of linear linked list and face respectively Piece linear linked list.And according to the relationship between point, one side of something and dough sheet, build the half of data store organisation between three.
Step 2:Midpoint on three sides of each tri patch is connected two-by-two as newly-generated edge point, realization will be every A tri patch is divided into four tri patch.It should increase new life in the linear linked list of corresponding vertex, one side of something and dough sheet at this time At point, one side of something and new dough sheet, with realize 1-4 segment.
Step 3:Newly-generated edge point after 1-4 is segmented and original control vertex coordinate are counted using formula (1) It calculates.
Wherein V represents the coordinate value without the vertex before adjustment,Apex coordinate value after adjustment, Vi(i=0,1 ... N-1 the coordinate value on n vertex in its field 1- of vertex V) is represented.
Step 4:Using all vertex of the grid model after completion Loop subdivision as new original control vertex, repeat Step 2 and three after model reaches precision prescribed, completes entire Loop subdivision process to realize multiple Loop subdivision.
Wherein, " the triangle grid model file " described in step 1 refers to containing owning for triangle grid model The computer documents of topological relation between the vertex point coordinate information and vertex knead dough of tri patch, it can be OBJ, PLY etc. Computer file format, it is only necessary to the coordinate on three vertex, vertex and face on each tri patch are contained in model file Topological relation.
It is 3D modeling and animation software " Advanced that wherein obj file format, which refers to by Alias/Wavefront companies, A kind of Standard File Format of Visualizer " exploitations, comprising just like the triangle gridding described in step 1 in this file format Topological relation between the vertex point coordinate information and vertex knead dough of all tri patch in model.
Wherein PLY file formats refer to by being a set of three-dimensional grid model data format of Stanford universities exploitation.This In kind of file format comprising the vertex point coordinate information just like all tri patch in the triangle grid model described in step 1 with And topological relation between the knead dough of vertex.
Wherein, the half of data store organisation described in step 1 can also be replaced by other types of data structure, Only require that data structure can be good at embodying the topological relation between vertex, side and dough sheet.
Wherein, described in step 2 1-4 subdivision refer to by three midpoints on a three sides of a triangle two-by-two It interconnects, and a triangle is divided into the process of four triangles.
Wherein, the 1- neighborhood points on the vertex described in step 3 refer to all and this is connected with each other with a line Point, the number of vertices in the fields 1- on the vertex are known as the valence on the vertex.The side that the internal point and vertex valence that vertex valence is 6 are 4 Boundary's point is known as regular point, is otherwise irregular point.
Wherein, Loop subdivision is a limit process, i.e., Loop subdivision model is by Loop subdivision rule many times The limit model obtained after being finely divided, but in practical applications, obtained after the initial subdivision for controlling grid progress limited number of time Loop subdivision grid is in close proximity to Loop subdivision model.Therefore, the specific number of Loop subdivision depends on user institute It is required that model accuracy and run Loop subdivision program computer performance.
The present invention is based on the Loop subdivision implementation methods on vertex and the unified adjustment of new edge point, and advantage and effect are:It is logical Crossing the new edge point generated after 1-4 subdivisions and control vertex can be adjusted by unified computational methods, without right Newly-generated edge point and control vertex is distinguished by way of level is arranged, and has saved memory, also simplifies realization edge point The difficulty of position adjustment algorithm.Enable and is engaged in Loop subdivision researcher and fast implements Loop subdivision algorithm.
Description of the drawings
Fig. 1 (a), (b) are half of data store organisation schematic diagrames.
Fig. 2 is 1-4 subdivision schematic diagrames.
Fig. 3 is new summit and the unified adjustment algorithm schematic diagram of new edge point in Loop subdivision method proposed by the present invention.
Fig. 4 is the flow chart of Loop subdivision method proposed by the present invention.
Serial number, symbol, code name are described as follows in figure:
Forerunner in Fig. 1 (a), (b) with it is subsequent refer in Computer Subject the forerunner of single-track link table with it is subsequent.In a list Into linear linked list, forerunner refers to the previous data before current signified data, and subsequent refers in current signified data The latter data.
Serial number 1,2 in Fig. 1 (b) refers respectively to two triangles up and down, and 1 refers to the triangle in Fig. 1 (b) above, and 2 It refer to the triangle in lower section in Fig. 1 (b).
Two circles in Fig. 1 (b) represent two vertex in the common edge of two triangles, two sides with the arrow point Two one side of something of a common edge are not represented.
The vertex subordinate being connected with one side of something in Fig. 1 (b) and the one side of something.
Open circles in Fig. 2 represent the original control vertex before being segmented without 1-4, and concentric circles is represented to be segmented by 1-4 The edge point newly increased afterwards.
When α representatives in Fig. 3 are adjusted the vertex, the weights on this vertex.β represents all of the fields 1- on this vertex The weights on vertex.
Specific implementation mode
With reference to operating procedure and attached drawing 1 (a), (b) --- Fig. 3, the present invention is further illustrated.
A kind of Loop subdivision implementation method based on vertex and the unified adjustment of new edge point of the present invention, includes the following steps:
Step 1 builds the half of data store organisation based on tringle coal, specifically:By triangle grid model text The data of part are read by computer program in memory, and according in model data vertex coordinates data and each dough sheet Three vertex numbers establish vertex linear linked list based on vertex, one side of something and dough sheet, half of linear linked list and face respectively Piece linear linked list.And according to the relationship between point, one side of something and dough sheet, build the half of data store organisation between three.
Midpoint on three sides of each tri patch is connected by step 2 two-by-two as newly-generated edge point, and realization will be each Tri patch is divided into four tri patch.It should increase in the linear linked list of corresponding vertex, one side of something and dough sheet at this time newly-generated Point, one side of something and new dough sheet, with realize 1-4 segment.
Step 3 counts newly-generated edge point after 1-4 is segmented and original control vertex coordinate using formula (1) It calculates.
Wherein V represents the coordinate value without the vertex before adjustment,Apex coordinate value after adjustment, Vi(i=0,1 ... N-1 the coordinate value on n vertex in its field 1- of vertex V) is represented.
Step 4 repeats to walk using all vertex of the grid model after completing Loop subdivision as new original control vertex Rapid two and three, to realize multiple Loop subdivision, after model reaches precision prescribed, complete entire Loop subdivision process.
The core concept of half of data structure is to regard a line as two opposite one side of something in direction.Two in a line Vertex is belonging respectively to different one side of something, opposite one side of something of this two one side of something other side each other.As shown in Fig. 1 (a), (b), with direction to The connected vertex of right one side of something belongs to the one side of something of this direction to the right, and belongs to this direction to the left with the vertex of direction to the left It is half of.This two one side of something are belonging respectively to different dough sheets, and green one side of something belongs to dough sheet 2, and red one side of something belongs to dough sheet 1.It is logical Vertex and the dough sheet data read in grid model file are crossed, the linear linked list of vertex, one side of something and dough sheet is established.Every half The vertex information and dough sheet information for being included in side include all half side informations for forming the dough sheet in each dough sheet. To realize the data access structure as shown in Fig. 1 (a), (b), lay the foundation for subsequent 1-4 subdivisions.
As shown in Fig. 2, 1-4 subdivision core concept be take the midpoint on three sides on each tri patch be newly increase it is new These three new edge points are connected by edge point two-by-two, to which a tri patch is divided into four tri patch.Specifically in a program, Double of side linear linked list is traversed, and first determines whether the one side of something has stepped through, if not traversing, takes the midpoint on one side of something to be New vertex increases to the tail portion of vertex linear linked list, while this one side of something and opposite one side of something corresponding to it being marked Traversal.After having traversed all one side of something, the midpoint for forming all sides of grid model has been all increased in the linear linked list on vertex. Then new half of chained list is established by the relationship between vertex and vertex.Such as the midpoint on arbitrary two sides of a dough sheet Two new one side of something are formed, two vertex at midpoint and the side in arbitrary a line form new one side of something.Establish new one side of something After linear linked list, new sub- dough sheet linear linked list is established according to the correlation between half of.In this way, after 1-4 is segmented, obtain New vertex linear linked list, edge point linear linked list and sub- dough sheet linear linked list are arrived, they still use half of data structure It is handled, realizes 1-4 subdivisions.
After carrying out 1-4 subdivisions, the topological structure after a Loop subdivision is had been obtained for.But all tops Point position is all incorrect, needs to be adjusted.And the coordinate on all vertex is only needed through its own apex coordinate and is somebody's turn to do Point weighted average in all fields 1- on vertex obtains.As shown in figure 3, all apex coordinates all pass through vertex own coordinate MultiplyAnd all vertex (new edge point and original control vertex) coordinate in its field 1- It takesIt is weighted the coordinate value for averagely obtaining the vertex after once segmenting, Middle n is the valence on the vertex (new edge point and original control vertex).
Segment a limit process, i.e., subdivision curved surface is that initial control grid carries out refining many times in some way The Limit Surface arrived.In practical application, due to initially control grid by it is a small number of segment several times after obtained refined net Visually smooth enough, therefore the general subdivision refined net approximation generation for taking subdivision to meet certain error afterwards several times For limit subdivision curved surface.Therefore, as shown in figure 4, the subdivided meshes needs that initially control grid has obtained after once segmenting Judge whether to meet error condition, stop segmenting if meeting error condition, otherwise has to the intermediate mesh that will be obtained again It is secondary to be finely divided, just stop subdivision until meeting given error condition.
In conclusion the software flow pattern of Loop subdivision implementation method is as shown in figure 4, first should be by given grid mould In type, such as OBJ PLY grid model file read-in programmes.By vertex coordinates data in grid model and each The serial number on three vertex that dough sheet is included is established based on vertex linear linked list, half of linear linked list and dough sheet linear linked list Half of data store organisation.Then 1-4 subdivisions are carried out to initially controlling grid, obtain and initially controls grid into a Loop excessively The upper model of equal value of topology after subdivision.Later by unified vertex adjustment algorithm, all vertex positions are adjusted.From And realize a Loop subdivision.And then error-detecting is carried out to the grid model after a Loop subdivision, whether full seen Sufficient assigned error stops segmenting if the grid model has met assigned error, otherwise continues Loop to the model Subdivision, until meeting assigned error.Finally stop subdivision.

Claims (7)

1. a kind of Loop subdivision implementation method based on vertex and the unified adjustment of new edge point, it is characterised in that:It includes following step Suddenly:
Step 1:The half of data store organisation based on tringle coal is built, specifically:By triangle grid model file Data are read by computer program in memory, and according to three of the vertex coordinates data and each dough sheet in model data A vertex number establishes vertex linear linked list, half of linear linked list and dough sheet line based on vertex, one side of something and dough sheet respectively Property chained list, and according to the relationship between point, one side of something and dough sheet, build the half of data store organisation between three;
Step 2:Midpoint on three sides of each tri patch is connected two-by-two as newly-generated edge point, is realized each three Edged surface piece is divided into four tri patch, should increase in the linear linked list of corresponding vertex, one side of something and dough sheet at this time newly-generated Point, one side of something and new dough sheet, to realize that 1-4 is segmented;
Step 3:Newly-generated edge point after 1-4 is segmented and control vertex coordinate are calculated using formula (1):
Wherein, V represents the coordinate value without the vertex before adjustment,Apex coordinate value after adjustment, ViRepresent its of vertex V The coordinate value on n vertex in the fields 1-;Wherein, i=0,1 ... n-1;
Step 4:Using all vertex for completing the grid model after Loop subdivision as new control vertex, repeat step 2 and Step 3, to realize that plural number time Loop subdivision completes entire Loop subdivision process after model reaches precision prescribed.
2. a kind of Loop subdivision implementation method based on vertex and the unified adjustment of new edge point according to claim 1, special Sign is:" triangle grid model file " described in step 1 refers to all tri patch for containing triangle grid model Vertex point coordinate information and vertex knead dough between topological relation computer documents, it is OBJ, PLY computer file format, The coordinate on three vertex on each tri patch, vertex and the topological relation in face are contained in model file.
3. a kind of Loop subdivision implementation method based on vertex and the unified adjustment of new edge point according to claim 1, special Sign is:Obj file format is for a kind of normative document of 3D modeling and animation software " AdvancedVisualizer " exploitation Format includes the apex coordinate letter of all tri patch in the triangle grid model described in step 1 in this file format Topological relation between breath and vertex knead dough.
4. a kind of Loop subdivision implementation method based on vertex and the unified adjustment of new edge point according to claim 1, special Sign is:PLY file formats are a set of three-dimensional grid model data formats of exploitation, include step 1 in this file format Topological relation between the vertex point coordinate information and vertex knead dough of all tri patch in the triangle grid model.
5. a kind of Loop subdivision implementation method based on vertex and the unified adjustment of new edge point according to claim 1, special Sign is:Half of data store organisation described in step 1 can also be replaced by other types of data structure, only require number It can be good at embodying the topological relation between vertex, side and dough sheet according to structure.
6. a kind of Loop subdivision implementation method based on vertex and the unified adjustment of new edge point according to claim 1, special Sign is:Vertex in its field 1- of vertex V described in step 3 refers to all being connected with each other with a line with the point Point, the number of vertices in its field 1- of vertex V is known as the valence on the vertex, and the internal point and vertex valence that vertex valence is 6 are 4 Boundary point be known as regular point, be otherwise irregular point.
7. a kind of Loop subdivision implementation method based on vertex and the unified adjustment of new edge point according to claim 1, special Sign is:Loop subdivision is a limit process, i.e., Loop subdivision model is carried out carefully by Loop subdivision rule many times The limit model obtained after point, in practical applications, the Loop subdivision obtained after the initial subdivision for controlling grid progress limited number of time Grid is in close proximity to Loop subdivision model, and therefore, the specific number of Loop subdivision depends on the model required by user The performance of the computer of precision and operation Loop subdivision program.
CN201510689989.6A 2015-10-22 2015-10-22 A kind of Loop subdivision implementation method based on vertex and the unified adjustment of new edge point Active CN105389851B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510689989.6A CN105389851B (en) 2015-10-22 2015-10-22 A kind of Loop subdivision implementation method based on vertex and the unified adjustment of new edge point

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510689989.6A CN105389851B (en) 2015-10-22 2015-10-22 A kind of Loop subdivision implementation method based on vertex and the unified adjustment of new edge point

Publications (2)

Publication Number Publication Date
CN105389851A CN105389851A (en) 2016-03-09
CN105389851B true CN105389851B (en) 2018-07-27

Family

ID=55422099

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510689989.6A Active CN105389851B (en) 2015-10-22 2015-10-22 A kind of Loop subdivision implementation method based on vertex and the unified adjustment of new edge point

Country Status (1)

Country Link
CN (1) CN105389851B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106296824B (en) * 2016-08-18 2019-04-16 北京航空航天大学 A kind of T-mesh local refinement implementation method based on half of data structure
CN110956699B (en) * 2019-11-27 2022-10-25 西安交通大学 GPU (graphics processing unit) parallel slicing method for triangular mesh model

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1430184A (en) * 2001-12-29 2003-07-16 田捷 Simplified method of realizing three dimensional network model using half of data structure
US6859202B2 (en) * 2002-04-23 2005-02-22 Alias Systems Corp. Conversion of a hierarchical subdivision surface to nurbs
CN1877640A (en) * 2006-07-05 2006-12-13 中山大学 Geometric data subdivision method based on triangle interpolation surface subdivision

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1430184A (en) * 2001-12-29 2003-07-16 田捷 Simplified method of realizing three dimensional network model using half of data structure
US6859202B2 (en) * 2002-04-23 2005-02-22 Alias Systems Corp. Conversion of a hierarchical subdivision surface to nurbs
CN1877640A (en) * 2006-07-05 2006-12-13 中山大学 Geometric data subdivision method based on triangle interpolation surface subdivision

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于曲面细分技术的三维可视化研究;王伟;《中国优秀硕士学位论文全文数据库(电子期刊)》;20100630;论文第8-19、36-39页 *

Also Published As

Publication number Publication date
CN105389851A (en) 2016-03-09

Similar Documents

Publication Publication Date Title
Liang et al. An improved loop subdivision to coordinate the smoothness and the number of faces via multi-objective optimization
Takayama et al. Sketch-based generation and editing of quad meshes.
CN109377561A (en) A kind of digital-to-analogue surface mesh generation method based on conformal geometry
CN105069226B (en) A kind of three-dimensional modeling modeling method based on template
CN105741355B (en) A kind of block dividing method of triangle grid model
CN102306396B (en) Three-dimensional entity model surface finite element mesh automatic generation method
CN103714577B (en) Three-dimensional model simplification method suitable for model with textures
KR102040988B1 (en) Creating a surface from a plurality of 3d curves
CN109584357A (en) Three-dimensional modeling method, device, system and storage medium based on more contour lines
CN101408991B (en) Curved surface molding method combing interpolation type subdivision and approach type subdivision
CN104361632A (en) Triangular mesh hole-filling method based on Hermite radial basis function
CN106981097A (en) A kind of T spline surface approximating methods based on subregion Local Fairing weight factor
CN107038308B (en) A kind of regular grid terrain modeling method based on linear interpolation
CN107273543A (en) A kind of conversion method of DGN data formats
CN116126809B (en) Building information model data storage conversion method based on national standard
CN105389851B (en) A kind of Loop subdivision implementation method based on vertex and the unified adjustment of new edge point
CN106445981A (en) Wavelet transform-based self-adaptive compression method for STL (Standard Template Library) grid model slicing data
CN102298787A (en) Control method and control system for animation object motion
CN106803280A (en) A kind of subdivision curved surface method for reconstructing perceived based on variation frame feature
CN104504758B (en) Artificial tooth is preced with surface curve generation method
CN107330209B (en) Modeling wall intelligent template implementation method based on parametric design
Falcidieno et al. Natural surface approximation by constrained stochastic interpolation
CN114119628B (en) Point cloud accurate segmentation method based on feature template
Shang et al. Effective re-parameterization and GA based knot structure optimization for high quality T-spline surface fitting
CN104504719A (en) Image edge detection method and equipment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant