WO2012037863A1 - Method for simplifying and progressively transmitting 3d model data and device therefor - Google Patents

Method for simplifying and progressively transmitting 3d model data and device therefor Download PDF

Info

Publication number
WO2012037863A1
WO2012037863A1 PCT/CN2011/079727 CN2011079727W WO2012037863A1 WO 2012037863 A1 WO2012037863 A1 WO 2012037863A1 CN 2011079727 W CN2011079727 W CN 2011079727W WO 2012037863 A1 WO2012037863 A1 WO 2012037863A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
dimensional model
control parameter
view
model data
Prior art date
Application number
PCT/CN2011/079727
Other languages
French (fr)
Chinese (zh)
Inventor
董福田
Original Assignee
Dong futian
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 Dong futian filed Critical Dong futian
Publication of WO2012037863A1 publication Critical patent/WO2012037863A1/en

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering

Definitions

  • the present invention relates to the fields of spatial information technology, computer graphics, virtual reality technology, and computer operating systems, and more particularly to a three-dimensional model data cylinder, progressive transmission method and apparatus. Background technique
  • the model is an abstraction or simulation of various laws or processes in the objective world.
  • the spatial data model is an abstraction of spatial entities and their interconnections in the real world. It is the basis for describing and organizing spatial data and designing spatial database patterns.
  • three-dimensional objects are usually described using a three-dimensional spatial data model (a three-dimensional model), which is then displayed by a computer or other video device.
  • the displayed 3D model can be a real-world entity or a fictional thing that can be as small as an atom or as large as a large size. Anything that exists in physics and nature can be represented by a three-dimensional model.
  • the 3D model consists of two parts, geometry and texture.
  • the geometric part is mainly divided into three types: a vector model based on a vector, a solid model based on a voxel, and a mixed model.
  • the vector-based surface model can also be called vector model, panel model or surface model. It mainly aims at the object boundary and realizes the complete and explicit interface description method by defining and describing the external geometry of the object.
  • a polygon is used to express a geometric part of a vector-based surface model, that is, a polygon is used to represent or approximate a surface of an object.
  • Its basic object is the vertices in three-dimensional space.
  • the line connecting two vertices is called an edge.
  • the three vertices are connected by three sides to form a triangle.
  • the triangle is the most single polygon in Euclidean space. Multiple triangles can make up a more complex polygon, or a single object that produces more than three vertices.
  • Quadrilaterals and triangles are the most commonly used shapes in a three-dimensional model of polygon expression.
  • a three-dimensional model of a triangulation is due to its data knot.
  • the uniqueness of the stencil and easy drawing by all graphics hardware devices has become a popular choice for 3D model expressions, where each triangle is a surface, so the triangle is also called a triangular patch.
  • point cloud has become one of the main means of representation of 3D models.
  • the voxel-based entity model is also called voxel model, solid model or mosaic model. Based on 3D space voxel segmentation and true 3D entity representation, voxel attributes can be independently described and stored, where voxel model, octree Models and tetrahedral grid models are the three most common models.
  • Hybrid models also known as integrated models or integrated models, aim to combine the advantages of multiple models and complement each other.
  • Texture is an image, but it makes the model more detailed and looks more realistic.
  • three-dimensional model data such as three-dimensional spatial data, geometric data and texture data of a three-dimensional model, and corresponding attribute data, and the like.
  • the present invention provides a three-dimensional model dataization cylinder, a progressive transmission method and apparatus.
  • the specific plan is as follows:
  • a three-dimensional model data cylinder method includes:
  • a three-dimensional model data cylinder device includes:
  • a parameter setting module configured to set a view control parameter corresponding to the view window, where the view control parameter includes at least: an outsourcing rectangle, a view point parameter, and a projection parameter of the view window;
  • An analysis obtaining module configured to analyze the three-dimensional model data according to the view control parameter, and obtain three-dimensional model data visible in the view window;
  • a determining module configured to determine the three-dimensional model data visible in the view window as post-initial data.
  • a method for progressive transmission of three-dimensional model data comprising:
  • the requesting sender sends an incremental data request, where the incremental data request includes at least a view control parameter, and the view control parameter includes at least: a current view control parameter; And the incremental data is that the request receiving end analyzes the three-dimensional model data according to the view control parameter, acquires three-dimensional model data visible in a view window corresponding to the current view control parameter, and controls according to the view The parameters were obtained after analysis.
  • a method for progressive transmission of three-dimensional model data comprising:
  • the incremental data request includes at least a view control parameter
  • the view control parameter includes at least: a current view control parameter
  • Determining that the three-dimensional model data visible in the view window is data after the cylinder;
  • the data after the cylinder is analyzed, and the three-dimensional model data that meets the incremental condition is determined to be incremental data; and the incremental data is sent to the request sending end.
  • a three-dimensional model data progressive transmission device comprising:
  • a request sending module configured to: when the incremental data needs to be requested, the requesting end sends an incremental data request, where the incremental data request includes at least a view control parameter, and the view control parameter includes at least: a current view control parameter;
  • An incremental data receiving module configured to receive incremental data sent by the request receiving end, where the incremental data is used by the request receiving end to analyze the three-dimensional model data according to the view control parameter, and obtain the corresponding control parameter in the current view.
  • the 3D model data visible in the view window is obtained after analysis based on the view control parameters.
  • a three-dimensional model data progressive transmission device comprising:
  • a request receiving module configured to receive an incremental data request sent by the requesting sender, where the incremental data request includes at least a view control parameter, where the view control parameter includes at least: a current view control parameter;
  • An acquiring module configured to analyze the three-dimensional model data according to the view control parameter, and obtain three-dimensional model data that is visible in a view window corresponding to the view control parameter;
  • a determining module configured to determine that the three-dimensional model data visible in the view window is post-initial data
  • An analysis module configured to analyze the data after the cylinder, and determine the three-dimensional model data that meets the incremental condition as incremental data
  • An incremental data sending module configured to send the incremental data to the request sending end.
  • the three-dimensional model data cylinder method disclosed in the embodiment of the present invention analyzes the three-dimensional model data by using preset view control parameters, and is invisible under the view window corresponding to the view control parameter.
  • the 3D model data is discarded, which reduces the amount of data during data transmission and improves the data transmission speed.
  • FIG. 1 is a flowchart of a method for digitizing a three-dimensional model data cylinder according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of analyzing three-dimensional model data according to the view control parameter according to an embodiment of the present invention, and obtaining the visible in the view window. Flow chart of the process of 3D model data;
  • FIG. 3 is a flowchart of a process for analyzing three-dimensional model data according to the view control parameter according to the embodiment, and discarding the three-dimensional model data of the three-dimensional model data that is occluded by other three-dimensional model data in the three-dimensional model;
  • FIG. 4 is a flowchart of a process of analyzing three-dimensional model data according to the view control parameter and discarding three-dimensional model data occluded by three-dimensional model data of other three-dimensional models according to the view control parameter according to an embodiment of the present invention
  • FIG. 5 is a flowchart of a process for analyzing three-dimensional model data according to the view control parameter and acquiring three-dimensional model data visible in the view window according to an embodiment of the present disclosure
  • FIG. 6 is a flowchart of a process for performing a three-dimensional model of a triangulation network according to an embodiment of the present invention
  • FIG. 7 is a flow chart of a process for preprocessing a three-dimensional model of a triangulation network according to an embodiment of the present invention
  • FIG. 8 is a flowchart of a process for implementing the three-dimensional model data according to the result of the blanking analysis according to an embodiment of the present disclosure
  • FIG. 9 is a flowchart of determining data of the three-dimensional model data visible in the view window as a post-initiator according to an embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of a three-dimensional model dataization cylinder device according to an embodiment of the present invention
  • FIG. 11 is a flowchart of a three-dimensional model data progressive transmission method according to an embodiment of the present invention
  • FIG. 13 is a flowchart of still another three-dimensional model data progressive transmission method disclosed in the embodiment of the present invention
  • FIG. 14 is a flow chart of another three-dimensional model data progressive transmission method disclosed by the embodiment of the present invention
  • FIG. 15 is a flowchart of still another method for progressive transmission of three-dimensional model data disclosed in an embodiment of the present invention
  • FIG. 16 is a schematic diagram of a structure of a three-dimensional model data progressive transmission device according to an embodiment of the present invention.
  • FIG. 17 is a schematic structural diagram of still another three-dimensional model data progressive transmission apparatus according to an embodiment of the present invention. detailed description
  • the display process of the 3D model in the view window is generally: firstly, the 3D model conforming to the given spatial condition is taken out through the spatial data index and transmitted to the 3D model user (such as the client) through the transmission medium; and then the 3D model data is performed. After the coordinate transformation and processing of the series, it is transformed into coordinate points on the two-dimensional image; according to the display parameters, the three-dimensional model is finally rasterized into image pixels by a drawing algorithm, drawn into a raster image, displayed or output on the client (such as a computer Screen display, printout on paper, and generation of image file output, etc.). The rendering of the 3D model is ultimately reduced by the drawing algorithm to the operation of one pixel.
  • the present invention proposes to study the adaptive tube and progressive transmission of the three-dimensional model from the perspective of the view (the abstraction of the display output device), and thoroughly solve the problem of network transmission and display of the massive three-dimensional model data.
  • the invention is based on the following principle: In the case of the view angle, in the case where the resolution of the view window finally used for display is determined, the total number of pixels that the view window can display is fixed, regardless of the massive amount of three-dimensional model data, for final transmission or The maximum visible 3D model data required for display is constant, ie the visible 3D model data required to fill all the pixels of the view window is constant. Because the 3D model is displayed in the view window:
  • the 3D model may not be transmitted and mapped
  • the blocked part of the 3D model may not be transmitted and drawn;
  • the 3D model itself may also have occlusion (for example, when the 3D model is displayed, some of the surfaces obscure the other part of the surface), the blocked part of the 3D model can be transmitted and plotted.
  • the three-dimensional model that we can display after drawing the pixels in the view window is called a visible three-dimensional model.
  • the data used to express the visible part of the three-dimensional model is called visible three-dimensional model data.
  • FIG. 1 The flow of a three-dimensional model dataization cylinder method disclosed in the embodiment of the present invention is as shown in FIG. 1, which includes:
  • Step S11 Set a view control parameter corresponding to the view window, where the view control parameter includes at least: an outsourcing rectangle, a view point parameter, and a projection parameter of the view window;
  • the view control parameters include: an outer bounding rectangle of the view window, a viewpoint parameter and a projection parameter; the viewpoint parameter includes a position 6 ⁇ of the viewpoint in the world coordinate system. , 37 . , 2 . ), where ⁇ . , 2 . Indicates the three components of the viewpoint in the world coordinate system, and the target position observed by the viewpoint ⁇ , ⁇ . ) and the virtual camera up vector " ⁇ , , ) ; a transformation matrix can be determined by the viewpoint parameter, and the coordinates of the vertex in the original coordinate system are transformed into the viewpoint coordinate system.
  • the projection parameters include: orthogonal projection and perspective projection. It is the view matrix and projection matrix obtained by the above parameters.
  • the view control parameters are determined based on the view window for displaying the three-dimensional model data. Therefore, the data processed according to the view control parameter can meet the requirements in the displayed view window, so as to ensure that the three-dimensional model data after the chemical cylinder is displayed in the actual display window without loss, and the three-dimensional model data after the chemical cylinder is ensured. The correct display of the spatial relationship.
  • Step S12 Analyze the three-dimensional model data according to the view control parameter, and obtain the three-dimensional model data visible in the view window;
  • the 3D model data that is invisible under the view window corresponding to the preset view control parameter is removed, and only the visible 3D model data is transmitted to the client through the network, thereby reducing the amount of data in the data network transmission process.
  • the removed 3D model data is not visible under the view window, the data after the cylinder does not change the display effect of the original data, and the lossless display of the data after the cylinder is ensured.
  • the blanking algorithms are usually divided into three categories:
  • Blanking algorithm for object space Object space is the three-dimensional space in which a user defines a three-dimensional shape, that is, the world coordinate system space. It is the space in which the three-dimensional shape has not been projected into the two-dimensional space. According to the geometric relationship of the three-dimensional model of each object in the space, compare each face in the scene with each other face, and find the occlusion relationship of all points, edges, faces, and bodies, such as ray casting algorithm, backface culling algorithm, table priority Algorithm, Roberts algorithm, etc.
  • Image space blanking algorithm is a two-dimensional space into which a three-dimensional model is projected, that is, what we call a screen space. Each pixel on the screen is judged to determine which polygon is visible in the pixel, such as the scan line algorithm, the Z-buffer algorithm (ie, the depth buffer algorithm), and the like.
  • Blanking algorithm for object space and image space Pre-calculate the visibility priority of the surface in the object space, and then generate the blanking map in the image space.
  • the object space method is that an object must be compared to other objects in the space to determine if it is visible.
  • the image space method is to decompose the projection of each object into pixels, and compare the pixels.
  • Step S13 Determine that the three-dimensional model data visible in the view window is post-synaptic data.
  • the data obtained after the processing in step S12 is the data after the cylinder.
  • the three-dimensional model data cylinder method disclosed in this embodiment reduces the data by using the preset view control parameters to analyze the three-dimensional model data, and the three-dimensional model data that is invisible under the view window corresponding to the view control parameter is discarded.
  • the amount of data in the transmission process increases the data transmission speed.
  • the data of the chemical cylinder is data that is not visible in the view window, the display effect of the original three-dimensional model data is not changed, and the lossless display of the data after the chemical cylinder is realized.
  • Step S21 analyzing the three-dimensional model data according to the view control parameter, and discarding the three-dimensional model data of the three-dimensional model data that is occluded by other three-dimensional model data in the three-dimensional model in which the data is located;
  • the 3D model data of the 3D model data occluded by other 3D model data in the 3D model in which it is located is eliminated, that is, the faces and edges of the 3D model that are occluded by itself, that is, the faces of the 3D model that face away from the viewpoint and the related edges.
  • the three-dimensional model A includes a plurality of three-dimensional model data Al, A2, A3, etc., and if A1 is occluded by A2 in the three-dimensional model A, Al is discarded.
  • Step S22 Analyze the three-dimensional model data according to the view control parameter, and discard the three-dimensional model data of the three-dimensional model data that is occluded by the three-dimensional model data of the other three-dimensional model;
  • the three-dimensional model data occluded by the data of other three-dimensional models is discarded in the three-dimensional model data. For example, if the three-dimensional model data A1 in the three-dimensional model A is occluded by the three-dimensional model data B1 in the three-dimensional model B, A1 is discarded.
  • Step S23 Determine, according to the view control parameter, the three-dimensional model data in the remaining three-dimensional model data that is visible in the view window as the post-booster data.
  • the remaining three-dimensional model data is three-dimensional model data without occlusion between each other, and then three-dimensional model data without occlusion between each other is analyzed by using view control parameters, and the corresponding control parameters are discarded.
  • the 3D model data that is not visible in the view window determines the 3D model data visible in the view window as the post-booster data.
  • the process of analyzing the three-dimensional model data according to the view control parameter and discarding the three-dimensional model data occluded by the other three-dimensional model data in the three-dimensional model of the three-dimensional model data is as shown in FIG. 3, and includes:
  • Step S31 determining that any one of the polyhedrons of the three-dimensional model is a current to-be-processed surface, and determining that any point on the current to-be-processed surface is a test point;
  • Step S32 Calculate an angle between a line of sight vector obtained by the test point according to the viewpoint parameter and an outer plane normal vector of the test point;
  • Step S33 determining whether the cosine of the angle is greater than or equal to 0, and if so, executing step S34a, and if not, executing step S34b;
  • Step S34a determining that the current to-be-processed surface is visible, and performing step S35;
  • Step S34b determining that the current to-be-processed surface is invisible, and the invisible three-dimensional model data corresponding to the current to-be-processed surface is discarded, and step S35 is performed;
  • Step S35 Determine whether there is an unprocessed surface on the three-dimensional model, and if yes, execute step S36, and if no, end;
  • step S36 it is determined that the next unprocessed surface is the current to-be-processed surface, and any point on the current to-be-processed surface is a test point, and the process returns to step S32.
  • the occlusion relationship between the faces in the three-dimensional model is analyzed, the visible surface and the invisible surface are determined, and then the invisible surface is discarded, thereby occluding the three-dimensional model data of the three-dimensional model in the three-dimensional model data.
  • the 3D model data is discarded.
  • FIG. 4 the specific process of the 3D model data occluded by the 3D model data of the other 3D model data is shown in FIG. 4, and includes:
  • Step S41 sorting the three-dimensional model data in order of distance and near distance
  • step S42 sequentially analyzing the three-dimensional model data in order of near and far, and occluding the occluded after analyzing the three-dimensional model data. Live 3D model data.
  • the three-dimensional model data occluded between the three-dimensional models is sequentially processed.
  • the process of eliminating hidden lines of a 3D model is: Starting from the farthest object, for each 3D model, such as 3D model A, checking and determining the occlusion relationship with each of the other 3D models (such as 3D model B) and calculating Hidden lines, first determine whether the enclosing areas of the two-dimensional model on the projection plane intersect, if there is no intersection, there is no occlusion relationship; otherwise, first determine and record whether the two-dimensional model has a mutual penetration relationship in the two coordinate axes of the projection plane And then, for each ridgeline of the three-dimensional model A, by calculating and detecting the intersection of each polygon of the three-dimensional model B on the projection plane, to determine the line segment of the ridge line that is blocked by the detected polyhedron; determining the visible through-line between the through-body .
  • the specific cylinder method is to analyze and process the three-dimensional model by using preset view control parameters in the original environment of the three-dimensional model, and finally obtain the data after the cylinder.
  • the embodiment of the present invention simultaneously discloses another image space-based blanking algorithm for implementing a method for analyzing three-dimensional model data according to the view control parameter, and acquiring a three-dimensional model data visible in the view window, and the specific process thereof is as follows: As shown in Figure 5, it includes:
  • Step S51 Convert the original coordinate of the three-dimensional model data to the view coordinate of the view window according to the preset view control parameter, and the view window uses the data structure according to the preset view. Control parameters are represented;
  • the pixel of the view window is represented by a raster data structure according to the view control parameter, where the pixel is a uniform mesh unit divided into a view window plane, and the pixel is a basic information storage unit in the raster data.
  • the coordinate position of the pixel is determined according to the corresponding row number and column number of the pixel in the view window; setting an initial value of the raster data for indicating the serial number of the three-dimensional model data corresponding to the pixel is 0,
  • the initial value of the raster data representing the pixel depth is the value farthest from the viewpoint. According to different systems, if the pixel depth value is smaller, the closer to the viewpoint, the maximum value of the raster data representing the pixel depth is maximized. Value, if the pixel depth value is closer to the viewpoint, the initial value of the raster data representing the pixel depth is given a minimum value.
  • Each pixel can be represented by the following data structure:
  • ModelDatalndex is used to represent the serial number (or identification number) of the 3D model data, similar to the frame buffer, such as the irregular triangulation (TIN) 3D model, ModelDatalndex is expressed as the serial number of the triangle; zValue is the depth of the pixel (ie z coordinate) ), similar to depth caching.
  • TIN irregular triangulation
  • Step S52 blanking analysis of the coordinate transformed 3D model data
  • the image space-based blanking algorithm such as the Z-buffer algorithm, is used to perform blanking analysis on the coordinate-transformed three-dimensional model data.
  • Step S53 Perform, according to the result of the blanking analysis, the three-dimensional model data before the coordinate transformation of the cylinder;
  • Step S54 Acquire the three-dimensional model data after the cylinder as the three-dimensional model data visible in the view window.
  • the three-dimensional model data after the coordinate transformation may be subjected to degradation analysis as needed.
  • the degradation analysis of a polygon that is, if the 3D model data cannot form a valid polygon in the "model" view window coordinate system, the polygon is rounded off, and if the vertices constituting the polygon are not used by other visible polygons, The vertices are also gone.
  • Triangulation 3D model when displaying from the original coordinate system to the "model" view window coordinate system, the three coordinate points of the triangle mesh in the "model" view window coordinate system may be the same, or three The coordinate points on the same line can no longer form a triangle, and the triangle mesh data can be directly discarded.
  • the Z-buffer blanking method is the most commonly used kind of blanking analysis method. It replaces the far object with the near object at the pixel level, which has nothing to do with the order of appearance of the form on the screen.
  • the three-dimensional model data structure is easy to be drawn by all graphics hardware devices.
  • a three-dimensional model of a triangulation network is used as a cylinder object, and a process of performing a three-dimensional model of a triangulation network by using a Z-buffer blanking analysis method is described. The flow is shown in FIG.
  • Step S61 determining a three-dimensional model of the triangulation to be analyzed from the three-dimensional model of the tribe to be analyzed; selecting a three-dimensional model TMi of the triangulation, wherein i is a serial number of the three-dimensional model of the triangulation, greater than 0, and i is less than or equal to n, n
  • i is a serial number of the three-dimensional model of the triangulation, greater than 0, and i is less than or equal to n, n
  • the number of triangles of TMi is m
  • Step S62 Select a current triangle to be analyzed from the triangles that constitute the selected three-dimensional model of the triangulation to be analyzed, and determine the identification number, the three vertices, and the original coordinates of each vertex;
  • a triangle j consisting of TMi is taken out, j is the sequence number of the triangle, j is greater than 0, and j is less than or equal to m.
  • Step S63 transforming the original coordinates of the three vertices according to the view control parameter to obtain view coordinates of the view window;
  • P h , P z , P k are transformed into coordinate points P h , P z ', P k in the view window coordinate system, where each coordinate point of Ph, P z ', Pk contains a depth value, that is, a z coordinate.
  • Step S64 determining whether the coordinates of the three vertices after the transformation of coordinates can form an effective triangle, and if so, executing step S65, and if not, executing step S614;
  • This step is to perform degradation analysis on the 3D model data.
  • the triangle corresponding to the coordinates of the three vertices can be directly discarded, and no processing is performed to improve the processing efficiency.
  • This embodiment does not limit the necessity to include the degradation analysis process.
  • Step S65 Obtain a current pixel to be analyzed on a triangular surface of the current triangle to be analyzed; in this step, a pixel point P p ' on a triangular patch formed by all Tjs may be sequentially obtained by a “scan line filling algorithm”.
  • Step S66 Calculate a depth value corresponding to the current pixel to be analyzed according to the coordinates of the three vertices after the transformation of the coordinate;
  • the depth value z corresponding to ⁇ ⁇ ' is calculated from the depth values of P h , P z ', and P k .
  • Step S67 The triangle sequence number and the pixel depth value in the raster data corresponding to the current pixel to be analyzed are read, and it is determined whether the read triangle number is 0. If yes, step S610 is performed. If not, proceed to step S68;
  • ModelDatalndex the values of the data ModelDatalndex and zValue of the pixel of ⁇ ⁇ ' are read, and then it is judged whether ModelDatalndex is equal to 0 or greater than 0.
  • Step S68 respectively obtaining the depth value in the raster data corresponding to the currently read pixel to be analyzed and the first distance calculated by the viewpoint, and the current calculated according to the three vertex coordinates after the transformation coordinate a depth value corresponding to the pixel to be analyzed and a second distance calculated by the viewpoint;
  • Step S69 determining whether the first distance is greater than the second distance, and if yes, executing step S610; if not, executing step S611;
  • step S610 the triangle number in the raster data corresponding to the current pixel to be analyzed is replaced by the identifier of the current triangle to be analyzed, and the read current value to be analyzed is replaced by the calculated depth value of the pixel.
  • Step S611 the triangle sequence number and the pixel depth value in the raster data corresponding to the pixel point are retained, and step S612 is performed;
  • Step S612 determining whether there is an unanalyzed pixel point on the triangular patch formed by the current triangle to be analyzed, and if yes, executing step S613; if not, executing step S614;
  • Step S613 obtaining the next unanalyzed pixel on the triangular slice formed by the current triangle to be analyzed as the current pixel to be analyzed, and performing step S66;
  • Step S614 determining the selected three-dimensional model of the current triang to be analyzed Whether there is an unanalyzed triangle in the triangle, if yes, step S615 is performed, if no, step S616 is performed; step S615, determining that the next triangle to be analyzed is the current triangle to be analyzed, and returning to the execution step
  • Step S616 determining whether there is an unanalyzed three-dimensional model of the triangulation in the three-dimensional model of the tribe to be analyzed, and if yes, executing step S617; if not, executing step S618;
  • Step S617 determining that the three-dimensional model of the next triangle to be analyzed is the three-dimensional model of the tribe to be analyzed, and returning to step S61;
  • Step S618, sequentially acquiring the triangle number corresponding to all the pixel points, and setting the triangle larger than 0.
  • the sequence number is saved to the preset array.
  • the serial numbers of all the visible triangles in the three-dimensional model of the triangulation to be analyzed are stored in a preset array, as a basis for purifying the three-dimensional model data of the triangulation network.
  • the following steps may be included to preprocess the original triangulated three-dimensional model, and the preprocessing is performed.
  • the 3D model data as the 3D model data of the triangulation to be analyzed, the specific process is shown in Figure 7, including:
  • Step S71 Convert original coordinates of the minimum bounding box of the three-dimensional model to be processed into view coordinates in the view window coordinate system according to the view control parameter;
  • the bounding box in this embodiment is a cube or a two-dimensional rectangular shape that accommodates a three-dimensional model of a triangulation.
  • Step S72 Calculate an outer bounding rectangle of the minimum bounding box of the three-dimensional model in the view window coordinate system and a Z coordinate closest to the distance viewpoint;
  • Step S73 Sort the three-dimensional models to be processed according to the distance viewpoint from near to far.
  • the three-dimensional model data is sequentially taken from the near and far distances according to the distance viewpoint, and it is determined whether the Z coordinate of the three-dimensional model closest to the viewpoint is larger than the minimum bounding box of the three-dimensional model in the view window.
  • the depth value of all corresponding pixels and the distance calculated by the viewpoint if yes, the three-dimensional model is discarded, and the blanking analysis is not participated. If not, the three-dimensional model is subjected to blanking analysis for the current three-dimensional model to be processed.
  • the above-mentioned steps are used to block the 3D model data already existing in the view window.
  • the 3D model is rounded off, and there is no need to participate in the blanking analysis, which improves the processing efficiency of the data to a certain extent.
  • FIG. 8 After the blanking analysis is performed on the three-dimensional model data of the triangulation, according to the result of the blanking analysis, the process of the three-dimensional model data is shown in FIG. 8, which includes:
  • Step S81 selecting a three-dimensional model of the triangulation to be analyzed from the three-dimensional model of the tribe to be analyzed;
  • Step S82 Select a current triangle to be analyzed from the triangles that constitute the selected three-dimensional model of the tribe to be analyzed, and determine the identification number thereof;
  • the method of determining the identification number is the same as the method of step S62.
  • Step S83 determining whether the identification number exists in the preset array, if yes, executing step S84, if not, executing step S85;
  • Step S84 retaining the triangle, performing step S86;
  • Step S85 rounding off the triangle, performing step S86;
  • step S86 it is determined whether there is an unanalyzed triangle in the triangle constituting the three-dimensional model of the tribe to be analyzed, if yes, step S87 is performed, if not, step S88 is performed; step S87, determining the next triangle to be analyzed Return to the execution step for the current triangle to be analyzed
  • Step S88 determining whether the triangle of the current three-dimensional model of the triangulation to be analyzed is all rounded off, if yes, executing step S89, and if not, executing step S810;
  • Step S89 rounding off the current three-dimensional model of the triangulation to be analyzed, performing step S811, step S810, determining the retained triangle and the corresponding three-dimensional model data as the data of the current three-dimensional model cylinder of the tribe to be analyzed, and performing steps S811 ;
  • Step S811 determining whether there is an unanalyzed triangulation three-dimensional model in the three-dimensional model of the tribe to be analyzed, and if yes, executing step S812; if not, ending;
  • Step S812 Determine that the three-dimensional model of the next to-be-analyzed triangulation is the three-dimensional model of the tribe to be analyzed, and return to step S81.
  • the three-dimensional model may be taken out of order, as long as the TMi is taken, The TQ is simultaneously taken out to calculate the identification number ID; the scan line filling algorithm is a prior art, and details are not described herein again.
  • the attributes of the 3D model should be considered, such as the transparency of the 3D model, to avoid the transparent part of the 3D model to participate in the blanking analysis; in the Z-buffer of the blanking algorithm, the object space method can be combined. Such as back culling, to remove some apparently invisible surface, thereby improving the efficiency of the blanking algorithm.
  • the visible three-dimensional model data includes: visible three-dimensional model geometric data and visible three-dimensional model texture data.
  • the blanking analysis of the 3D model is mainly based on the geometric data of the 3D model.
  • the specific process of determining the data of the three-dimensional model data visible in the view window as the post-cylinder data is as shown in FIG. 9, and includes:
  • Step S91 determining that the three-dimensional model geometric data visible in the view window is the data of the chemical cylinder
  • Step S92 Determine visible three-dimensional model texture data corresponding to the visible three-dimensional model geometric data as post-booster data.
  • the visible three-dimensional model geometric data is first determined as the post-booster data, and then the visible three-dimensional model texture data corresponding to the visible three-dimensional model geometric data is determined as the post-booster data.
  • the preset display rule is: when the range of the three-dimensional model texture data displayed in the view window is less than a preset value, and the texture data corresponding to the visible three-dimensional model geometric data is not displayed, according to the visible three-dimensional Determining, by the display range of the model geometric data, when the view window is displayed, whether the range of the three-dimensional model texture data displayed in the view window is smaller than the preset value, and if not, discarding the visible three-dimensional If the texture data corresponding to the model geometric data is not smaller, the texture data corresponding to the geometric data of the visible three-dimensional model is retained;
  • the texture data is used according to the texture data.
  • the display range when the view window is displayed is compressed.
  • the compressed texture data is finally determined to be texture data corresponding to the visible three-dimensional model geometric data.
  • the preset display rules in this embodiment may be set according to actual conditions, for example, The number of pixels displayed for the texture data in the view window corresponding to the current view parameter is five, and if the number of pixels required for the three-dimensional model texture data to be displayed in the view window is less than five, the texture is The data does not need to be displayed.
  • the texture data corresponding to the visible three-dimensional model geometric data is preprocessed by a preset display rule, and the texture data that does not need to be displayed is first removed, thereby reducing the data transmission amount.
  • the visible texture data When the visible texture data is displayed, if the size of the visible texture displayed in the view window (which can be represented by the width of the texture multiplied by the height of the texture) is smaller than the size of the original texture, it means that the texture has multiple data. Draw on the same pixel of the view window. Therefore, the visible texture data corresponding to the pixel can be normalized, and only one data that is visible when displayed in the view window is retained, and the rest is removed, that is, determined and determined. Visible to the visible pixels of the visible three-dimensional model geometric data corresponding to the three-dimensional model texture data, the plurality of data in the visible three-dimensional model texture data corresponding to the pixel are purified, and only three-dimensional is retained. Data visible in the model texture data when displayed in the view window.
  • the method further includes: synthesizing the visible three-dimensional model texture data into a texture according to the view control parameter and the three-dimensional model geometric data; and recalculating the texture coordinates of the visible three-dimensional model.
  • the calculation method of the texture coordinates of the vertices in the geometric data of the 3D model is:
  • the view coordinate is the texture coordinate corresponding to the visible three-dimensional model geometric data
  • the geometric data of the three-dimensional model is cropped by using the outer-out rectangle of the view window represented by the view control parameter, and the cropped three-dimensional image is
  • the vertex coordinates in the geometric data of the model are determined as the texture coordinates corresponding to the visible 3D model geometric data.
  • the method further includes: normalizing the texture coordinates corresponding to the visible 3D model geometric data. Processing, dividing the abscissa of the texture coordinate by the view in the view control parameter The width of the window, the ordinate divided by the height of the view window in the view control parameter. This ensures that the amount of texture data of the three-dimensional model after the cylinder is independent of the size of the original texture data, and is only related to the resolution of the view window.
  • the process of synthesizing the visible three-dimensional model texture data into a synthetic texture according to the view control parameter and the three-dimensional model geometric data includes:
  • the image is determined to be a composite texture of the visible three-dimensional model texture data.
  • the three-dimensional model is not limited to a three-dimensional model of a triangulation network, and may be any other three-dimensional model, and the blanking algorithm adopted by the embodiment is not limited to the Roberts algorithm or Z-
  • the buffer algorithm can also use other types of blanking algorithms, or an algorithm that combines object space and image space blanking algorithms, or other algorithms, any three-dimensional model and any data that can be analyzed based on view control parameters.
  • An algorithm that can analyze the three-dimensional model data visible in the view window corresponding to the view control parameter is also suitable for the present invention.
  • the invention also discloses a three-dimensional model data cylinder device, the structure of which is shown in FIG. 10, which includes:
  • the parameter setting module 101 is configured to set a view control parameter corresponding to the view window, where the view control parameter includes at least: an outsourcing rectangle, a view point parameter, and a projection parameter of the view window;
  • the analysis obtaining module 102 is configured to analyze the three-dimensional model data according to the view control parameter, and obtain the three-dimensional model data visible in the view window;
  • the determining module 103 is configured to determine the three-dimensional model data that is visible in the view window as post-initial data.
  • the analysis obtaining module includes: a coordinate transformation unit, configured to convert the original coordinate of the three-dimensional model data according to the preset view control parameter View coordinates of the view window, the view window being expressed by the data structure according to the preset view control parameter;
  • a blanking analysis unit configured to blank-analyze the coordinate-transformed three-dimensional model data
  • a chemical tube unit configured to perform a three-dimensional mode before the coordinate transformation according to the result of the blanking analysis Type data, the three-dimensional model data after the cylinder is acquired as the three-dimensional model data visible in the view window.
  • the execution process of the three-dimensional model data-cylinder device disclosed in this embodiment is a flow of the method embodiment corresponding to the embodiment of the present invention, which is a preferred device embodiment.
  • the specific implementation process refer to the foregoing method embodiment. This will not be repeated here.
  • the three-dimensional model data cylinder device disclosed in the embodiment reduces the data of the three-dimensional model data that is invisible under the view window corresponding to the view control parameter by analyzing the three-dimensional model data by using the preset view control parameter.
  • the amount of data in the transmission process increases the data transmission speed.
  • the three-dimensional model data cartridge device disclosed in the present invention may be disposed in a computer or in a mobile phone or other device. It can be set on the server side, before the data requested by the client is sent, the 3D model data is first processed, or it can be set on the client, and the data is sent before being sent to the actual view window. The processing is performed, or both at the server and the client, and depending on the actual situation, which party or both parties are jointly processed.
  • the invention also discloses a three-dimensional model data progressive transmission method based on the above three-dimensional model data cylinder method.
  • the size of the view window used to display the 3D model is determined, because the total number of pixels that can be displayed by the view window is fixed, so no matter how massive the 3D model data is, the 3D can be displayed on the view window.
  • the maximum number of model data is fixed, that is, the visible 3D model data required to fill all the pixels of the view window is fixed, so when the client requests the 3D model data for display to the server, the server only needs to The 3D model data (incremental data) that is visible on the client display and not available to the client is transmitted to the client.
  • the incremental data transmission method of the three-dimensional model data disclosed by the present invention uses the view control parameter of the incremental data requesting end to obtain the incremental data, thereby ensuring the lossless display of the data, reducing the data transmission amount and reducing the complexity of the algorithm.
  • the specific implementation scheme is as follows:
  • the process of the progressive transmission method of the three-dimensional model data disclosed in this embodiment is as shown in FIG. 11, and includes:
  • Step S111 When the incremental data needs to be requested, the requesting end sends an incremental data request, where the incremental data request includes at least a view control parameter, and the view control parameter includes at least: a current view control parameter;
  • the requesting receiving end sends an incremental data request, where the request includes at least the current view control parameter of the requesting sending end.
  • the current view control parameter is a view control parameter corresponding to a view window of the current sending end for displaying the incremental data.
  • the view control parameter includes: an outsourcing rectangle of the view window, a viewpoint parameter and a projection parameter;
  • the viewpoint parameter includes a position of the viewpoint in the world coordinate system, a target position observed by the viewpoint, and a vector of the virtual camera upward;
  • the projection parameter Including: orthogonal projection and perspective projection; or the view matrix and projection matrix obtained by the above parameters.
  • the request contains other content in addition to the view control parameter, it is also necessary to obtain incremental data according to other contents included in the request.
  • the view control parameter at this time only includes: the current view control parameter of the requesting sender.
  • the request receiving end obtains the incremental data according to the above parameters.
  • the incremental data request further includes The identification number of the three-dimensional model data after the pre-synthesis tube, and/or the view control parameter further includes: a prior view control parameter, requesting the receiving end to identify the identification number of the three-dimensional model data after the pre-synchronization cylinder sent by the requesting end / or the prior view control parameters, as well as the current view control parameters, to obtain incremental data.
  • the previous view control parameter is a current view control parameter corresponding to the last time the request sender sends the incremental data request for the incremental data request, that is, the request sender sends the last request increment.
  • the view control parameters corresponding to the view window of the three-dimensional model data are displayed.
  • the requesting sending end may analyze the three-dimensional model data buffered by the requesting sending end through the chemical cylinder according to the current view control parameter of the requesting sending end. Obtaining an identification number of the visible three-dimensional model data that is already present in the view window corresponding to the current view control parameter, and sending the identification number of the three-dimensional model data as the priorizing cylinder to the request receiving end, thereby reducing the transmitted data. the amount.
  • the requesting sender caches the prior art three-dimensional model data and also records at the request receiving end
  • the request number sent by the request sender is buffered, and the sent request includes only the current view control parameter of the request sender, and the request receiver sends according to the current view control parameter and the request recorded by itself.
  • the identification number of the three-dimensional model data of the prior stream is obtained by the end buffer, and the incremental data is obtained.
  • the transmitted request includes the current requesting sender.
  • the identifier of the three-dimensional model data visible in the current view window of the request sending end in the three-dimensional model data buffered by the requesting end is requested, and the request receiving end controls the parameter according to the current view and the request sending end.
  • the identification number of the 3D model data currently visible in the view window is obtained as incremental data.
  • the identification number of the three-dimensional model data visible in the current view window of the request sending end in the three-dimensional model data cached by the requesting end is analyzed by analyzing the request sending end buffer according to the current view control parameter 3D model data to get.
  • Step S112 Receive incremental data sent by the request receiving end, where the incremental data is that the request sending end analyzes the three-dimensional model data according to the view control parameter, and obtains the visible view window corresponding to the current view control parameter.
  • the three-dimensional model data is obtained after analysis based on the view control parameters.
  • the request receiving end After receiving the incremental data request, the request receiving end performs the three-dimensional model data according to the three-dimensional model dataization cylinder method disclosed in the present invention, and obtains the incremental data from the data after the chemical cylinder, and sends the incremental data to the request transmitting end. .
  • the incremental data is inserted into the three-dimensional model data buffered by the requesting sending end to implement data. Rebuilding; if the requesting sender only caches the previous 3D model data transmitted from the request receiving end, the cached previous 3D model data is released, and the current incremental data is cached, if If the view control parameter of the requesting sender includes the previous view control parameter, the previous view control parameter is replaced with the current view control parameter.
  • the request when the requesting sender sends the incremental data request, the request carries the view control parameter of the view window that needs to be displayed, so that the request receiving end can view the view according to the view. Control parameters, find incremental data that matches the current view window, and transmit, ensuring that the found incremental data can be displayed without loss, reducing the amount of data transmission and improving data transmission efficiency.
  • FIG. 12 Another flow of the three-dimensional model data progressive transmission method disclosed in the embodiment of the present invention is shown in FIG. 12, and includes:
  • Step S121 Receive an incremental data request sent by the requesting end, where the incremental data request includes at least a view control parameter, where the view control parameter includes at least: a current view control parameter; and the progressive transmission of the three-dimensional model data disclosed in this embodiment
  • the method is applicable to the requesting end.
  • the content contained in the received data delta request corresponds to the content contained in the request described in the embodiment shown in FIG.
  • the three-dimensional model data identification number may also be included in the cached prior stream, and/or the view parameter further includes: the prior view control parameter is obtained according to the first-dimensional post-dimensional three-dimensional model data identification number or the prior view control parameter.
  • the 3D model data after the cartridge is used for subsequent incremental data analysis.
  • Step S122 Analyze the three-dimensional model data according to the view control parameter, and obtain the three-dimensional model data that is visible in the view window corresponding to the view control parameter;
  • Step S123 determining that the three-dimensional model data visible in the view window is the data of the cylinder; the specific implementation process of the foregoing steps may refer to the method of the cylinder disclosed in the embodiment of the three-dimensional model data cylinder of the present invention, and the specific content is not Let me repeat.
  • Step S124 Analyze the data after the cylinder, and determine that the three-dimensional model data that meets the incremental condition is incremental data;
  • Step S125 Send the incremental data to the request sending end.
  • the request receiving end acquires the incremental data according to the view control parameter of the requesting sender, so that the request receiving end only uses the view window defined by the current view control parameter at the requesting sending end. Data visible in the increment condition and sent to Request the sender.
  • the analysis process of the three-dimensional model data is performed according to the view control parameter in the incremental data request, that is, based on the current actual display view window of the requesting sender, thereby realizing that the obtained incremental data can be at the request sending end. Performing lossless display and transmitting only incremental data greatly reduces the amount of data transmission and improves data transmission efficiency.
  • Step S131 Receive an incremental data request sent by the requesting sender, where the incremental data request includes: a three-dimensional model data identification number and a view control parameter after the pre-forwarding, the view control parameter at least: the current view control parameter ;
  • the request sending end caches the three-dimensional model data transmitted from the request accepting end, and the request receiving end does not record the identification number of the priorized three-dimensional model data buffered by the requesting sending end, the incremental data
  • the request also includes: The identification number of the 3D model data after the priorization cylinder.
  • Step S132 Analyze the three-dimensional model data according to the current view control parameter, and obtain three-dimensional model data that is visible in a view window corresponding to the current view control parameter;
  • Step S133 Determine that the three-dimensional model data that is visible in the view window corresponding to the current view control parameter is the current data of the currentization tube;
  • Step S134 Rounding off the same part of the three-dimensional model data corresponding to the identification number of the three-dimensional model data after the priorizing cylinder in the data of the currentization cylinder and the incremental data request;
  • Step S135 Determine remaining 3D model data as incremental data
  • Step S136 Send the incremental data to the request sending end.
  • the method disclosed in this embodiment is particularly applicable to the case where the requesting sender only caches the three-dimensional model data displayed in the view window in the previous three-dimensional scene of the current three-dimensional scene. Since the request contains the identification number of the three-dimensional model data after the priorizing cylinder, it is necessary to obtain the data after the priorizing cylinder according to the identification number of the three-dimensional model data after the priorizing cylinder, and then the data and the current cylinder result Compare to get incremental data.
  • the flow of the third-dimensional model data progressive transmission method disclosed in the present invention is as shown in FIG. 14, and includes: Step S141: Receive an incremental data request sent by the requesting end, where the incremental data request includes: at least a view control parameter, where the view control parameter includes: a current view control parameter and a prior view control parameter;
  • the view control parameter further includes: when the request sending end caches the prior art three-dimensional model data and does not record the identification number of the pre-formed three-dimensional model data of the request sending end buffer at the request receiving end, the view control parameter further includes: The previous view controls the parameters.
  • the process of analyzing the three-dimensional model data according to the view control parameter, and acquiring the three-dimensional model data visible in the view window corresponding to the view control parameter is as shown in steps S 142 and S143, that is, according to the prior view control parameter and the current view, respectively.
  • the control parameters are used to normalize the 3D model data to obtain visible 3D model data.
  • Step S142 Analyze the three-dimensional model data according to the current view control parameter, and obtain three-dimensional model data that is visible in a view window corresponding to the current view control parameter;
  • Step S143 Analyze the three-dimensional model data according to the previous view control parameter, and obtain three-dimensional model data that is visible in a view window corresponding to the previous view control parameter;
  • Step S144 Determine that the three-dimensional model data that is visible in the view window corresponding to the current view control parameter is the data of the currentization tube;
  • Step S145 Determine that the three-dimensional model data visible in the view window corresponding to the previous view control parameter is the data after the priorization.
  • Step S146 determining that the three-dimensional model data in the data of the currentization cylinder and not in the data of the priorization cylinder is incremental data;
  • Step S147 Send the incremental data to the request sending end.
  • the method for progressively transmitting the three-dimensional model data disclosed in this embodiment is also applicable to the case where only three-dimensional model data displayed in the view window in the previous three-dimensional scene of the current three-dimensional scene is cached on the request sending end. Since the previous view control parameter is included in the request, the data after the priorizer is obtained according to the parameter, and the data is compared with the current tube result to obtain the incremental data. Moreover, since the data amount of the previous view control parameter in the transmission process is smaller than the data amount of the three-dimensional model data identification number buffered after the priorization cylinder, the data transmission amount is reduced to some extent, and the number is increased. According to transmission efficiency.
  • FIG. 15 the flow of the third-dimensional model data progressive transmission method disclosed in the embodiment of the present invention is as shown in FIG. 15, and includes:
  • Step S151 Receive an incremental data request sent by the requesting end, where the incremental data request includes: at least a view control parameter, where the view control parameter includes: a current view control parameter; Step S152, according to the current view control Parameter analyzing the three-dimensional model data, and acquiring three-dimensional model data visible in a view window corresponding to the current view control parameter;
  • Step S153 Determine that the three-dimensional model data that is visible in the view window corresponding to the current view control parameter is the data of the currentization tube;
  • Step S154 Rounding off the same data as the data corresponding to the identification number of the three-dimensional model data buffered by the requesting sender stored in the data received by the request receiving end;
  • Step S155 determining remaining three-dimensional model data as incremental data
  • Step S156 Send the incremental data to the request sending end.
  • the request receiving end records the identification number of the three-dimensional model data buffered by the requesting sender, and therefore, only the current view control parameter needs to be transmitted to the request receiving end.
  • the three-dimensional model data progressiveization method disclosed in the embodiment of the present invention may be any three-dimensional model dataization cylinder method disclosed in the embodiments of the present invention, which is not limited herein.
  • the invention also discloses a three-dimensional model data progressive transmission device, the structure of which is shown in FIG. 16, and includes:
  • the request sending module 161 is configured to: when the incremental data needs to be requested, the requesting sending end sends an incremental data request, where the incremental data request includes at least a view control parameter, and the view control parameter includes at least: a current view control parameter;
  • the incremental data receiving module 162 is configured to receive the incremental data sent by the requesting receiving end, where the incremental data is used by the requesting sending end to analyze the three-dimensional model data according to the view control parameter, and obtain the corresponding control parameter in the current view.
  • the 3D model data visible in the view window is obtained after analysis based on the view control parameters.
  • the three-dimensional model data progressive transmission device disclosed in this embodiment can be used as a client.
  • the method further includes: an interpolation module, configured to insert the incremental data into the three-dimensional model data buffered by the request sending end to implement data reconstruction.
  • the method further includes:
  • a data replacement module configured to release the cached previous three-dimensional model data, and cache the current incremental data
  • the method further includes:
  • a parameter replacement module configured to replace the previous view control parameter with the current view control parameter.
  • the execution process of the three-dimensional model data progressive transmission device disclosed in this embodiment is a flow corresponding to the method embodiment shown in FIG. 11 disclosed in the foregoing embodiment of the present invention, which is a preferred device embodiment, and the specific execution process can be seen but not It is limited to the foregoing method embodiments, and specific processing procedures are not described herein again.
  • FIG. 17 discloses another three-dimensional model data progressive transmission device, and its structure is as shown in FIG. 17, which includes:
  • the request receiving module 171 is configured to receive an incremental data request sent by the requesting sender, where the incremental data request includes at least a view control parameter, and the view control parameter includes at least: a current view control parameter;
  • the obtaining module 172 is configured to analyze the three-dimensional model data according to the view control parameter, and obtain three-dimensional model data that is visible in a view window corresponding to the view control parameter;
  • a determining module 173, configured to determine that the three-dimensional model data visible in the view window is post-initial data
  • An analysis module 174 configured to analyze the data after the cylinder, and determine that the three-dimensional model data that meets the incremental condition is incremental data;
  • the incremental data sending module 175 is configured to send the incremental data to the request sending end.
  • the three-dimensional model data progressive transmission device disclosed in this embodiment can serve as a server end, and receives the incremental data request sent by the client in the previous embodiment.
  • the execution process of the three-dimensional model data progressive transmission device disclosed in this embodiment may be a flow corresponding to the method embodiment shown in any one of the figures 12-15 disclosed in the embodiment of the present invention, which is a preferred device embodiment.
  • the specific implementation process can be referred to, but is not limited to the foregoing method embodiments, and the specific processing procedure. I will not repeat them here.
  • the request receiving end acquires the incremental data according to the view control parameter of the requesting sending end, so that the request receiving end only views the current view control parameter of the requesting sending end.
  • Data visible in the window and meeting the incremental conditions is sent to the requesting sender.
  • the analysis process of the three-dimensional model data is performed according to the view control parameter in the incremental data request, that is, based on the actual display view window of the requesting sender, so that the obtained incremental data can be performed at the request sending end. Display, only the incremental data is transmitted at the same time, which greatly reduces the amount of data transmission and improves the data transmission efficiency.
  • the three-dimensional model data cartridge device disclosed in the present invention may be disposed in a computer or in a mobile phone or other device.
  • RAM random access memory
  • ROM read only memory
  • EEPROM electrically programmable ROM
  • EEPly erasable programmable ROM registers, hard disk, removable disk, CD-ROM, or technical field Any other form of storage medium known.

Landscapes

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

Abstract

A method of simplifying and progressively transmitting 3D model data and a device therefor. The simplifying method comprises: setting view control parameters corresponding to a view window; analyzing 3D model data according to the view control parameters and obtaining the 3D model data visible in the view window; confirming the 3D model data visible in the view window is the simplified data. The 3D model data simplifying method disclosed in the present invention utilizes pre-set view control parameters to analyze 3D model data, and discards the 3D model data not visible in the view window corresponding to the view control parameters, thereby reducing the data volume transmitted and increasing transmission speed.

Description

三维模型数据化筒、 渐进传输方法及装置 本申请要求于 2010年 9月 20日提交中国专利局、 申请号为 201010287543.8、 发明名称为 "一种三维模型的自适应化筒、 渐进传输和高效渲染的方法" 的中 国专利申请的优先权和于 2010年 12月 6日提交中国专利局、 申请号为 201010597111.7、 发明名称为 "一种三维模型的自适应化筒、 渐进传输和快速 绘制的方法"的中国专利申请的优先权,其全部内容通过引用结合在本申请中。 技术领域  The present invention claims to be submitted to the Chinese Patent Office on September 20, 2010, the application number is 201010287543.8, and the invention name is "a three-dimensional model of adaptive tube, progressive transmission and efficient rendering. The method of Chinese patent application priority and submitted to the Chinese Patent Office on December 6, 2010, application number 201010597111.7, the invention name is "a three-dimensional model of adaptive tube, progressive transmission and rapid drawing method" Priority of the Chinese Patent Application, the entire contents of which is incorporated herein by reference. Technical field
本发明涉及空间信息技术、计算机图形学、虚拟现实技术和计算机操作系 统等领域, 尤其涉及一种三维模型数据化筒、 渐进传输方法及装置。 背景技术  The present invention relates to the fields of spatial information technology, computer graphics, virtual reality technology, and computer operating systems, and more particularly to a three-dimensional model data cylinder, progressive transmission method and apparatus. Background technique
模型是对客观世界中各种规律或过程的抽象或模拟,空间数据模型则是对 现实世界中空间实体及其相互联系的抽象, 是描述和组织空间数据、 以及设计 空间数据库模式的基础。 在计算机图形学中, 通常用三维空间数据模型(筒称 三维模型)描述三维物体, 然后再通过计算机或者其它视频设备进行显示。 显 示的三维模型可以是现实世界的实体,也可以是虚构的东西,既可以小到原子, 也可以大到很大的尺寸。 任何物理自然界存在的东西都可以用三维模型表示。  The model is an abstraction or simulation of various laws or processes in the objective world. The spatial data model is an abstraction of spatial entities and their interconnections in the real world. It is the basis for describing and organizing spatial data and designing spatial database patterns. In computer graphics, three-dimensional objects are usually described using a three-dimensional spatial data model (a three-dimensional model), which is then displayed by a computer or other video device. The displayed 3D model can be a real-world entity or a fictional thing that can be as small as an atom or as large as a large size. Anything that exists in physics and nature can be represented by a three-dimensional model.
三维模型包括几何和纹理两部分。 其中, 几何部分主要分为三种: 基于矢 量的表面模型、 基于体元的实体模型和混合模型。  The 3D model consists of two parts, geometry and texture. Among them, the geometric part is mainly divided into three types: a vector model based on a vector, a solid model based on a voxel, and a mixed model.
基于矢量的表面模型也可称作矢量模型、 面元模型或面模型, 主要是以物 体边界为目标和基础, 通过定义和描述物体的外部几何形态, 实现完整的、 显 式的界面描述方法。  The vector-based surface model can also be called vector model, panel model or surface model. It mainly aims at the object boundary and realizes the complete and explicit interface description method by defining and describing the external geometry of the object.
以用多边形来表达基于矢量的表面模型的几何部分为例,即用多边形表示 或者近似表示物体的曲面。 它的基本对象是三维空间中的顶点,将两个顶点连 接起来的直线称为边, 三个顶点经三条边连接起来成为三角形, 三角形是欧氏 空间中最筒单的多边形。 多个三角形可以组成更加复杂的多边形, 或者生成多 于三个顶点的单个物体。四边形和三角形是多边形表达的三维模型中最常用的 形状, 在三维模型的表达方面, 三角网三维模型 (或称 TIN模型) 因其数据结 构筒单、容易被所有的图形硬件设备绘图等特点成为三维模型表达的一种流行 选择, 其中每个三角形就是一个表面, 因此也将三角形称为三角面片。 同时, 随着三维扫描技术的出现并不断发展成熟,点云己经成为三维模型的主要表现 手段之一。 For example, a polygon is used to express a geometric part of a vector-based surface model, that is, a polygon is used to represent or approximate a surface of an object. Its basic object is the vertices in three-dimensional space. The line connecting two vertices is called an edge. The three vertices are connected by three sides to form a triangle. The triangle is the most single polygon in Euclidean space. Multiple triangles can make up a more complex polygon, or a single object that produces more than three vertices. Quadrilaterals and triangles are the most commonly used shapes in a three-dimensional model of polygon expression. In terms of the expression of a three-dimensional model, a three-dimensional model of a triangulation (or TIN model) is due to its data knot. The uniqueness of the stencil and easy drawing by all graphics hardware devices has become a popular choice for 3D model expressions, where each triangle is a surface, so the triangle is also called a triangular patch. At the same time, with the advent of 3D scanning technology and its continuous development and maturity, point cloud has become one of the main means of representation of 3D models.
基于体元的实体模型也称作体元模型、实体模型或镶嵌模型, 基于 3D空间 的体元分割和真 3D实体表达,体元的属性可以独立描述和存储,其中体素模型、 八叉树模型、 四面体格网模型是最为常见的三种模型。  The voxel-based entity model is also called voxel model, solid model or mosaic model. Based on 3D space voxel segmentation and true 3D entity representation, voxel attributes can be independently described and stored, where voxel model, octree Models and tetrahedral grid models are the three most common models.
混合模型也称作集成模型或一体化模型, 目的是综合多种模型的优点,取 长补短。  Hybrid models, also known as integrated models or integrated models, aim to combine the advantages of multiple models and complement each other.
许多三维模型需要使用纹理进行覆盖,将纹理排列放到三维模型上的过程 称作纹理映射。 纹理就是一个图像,但是它可以让模型更加细致并且看起来更 力口真实。  Many 3D models need to be covered with textures, and the process of placing textures onto a 3D model is called texture mapping. Texture is an image, but it makes the model more detailed and looks more realistic.
随着科学技术的不断进步, 在计算机图形学、 虚拟现实、 城市规划、 文物 修复、 动画游戏、 计算机辅助设计、 地理信息系统、 医学图形等领域越来越多 地应用到三维图形。应用的需求带动了采集技术的发展,现在的机载激光扫描、 高分辨率卫星影像, 三维数字摄像和扫描系统等, 这些高效的空间数据获取方 法使得生成高分辨率的三维模型成为现实,但也使得三维模型数据的数据量呈 几何级数增长。 因为三维物体表面细节的表现往往需要纹理  With the continuous advancement of science and technology, more and more applications to computer graphics, virtual reality, urban planning, cultural relics, animation games, computer-aided design, geographic information systems, medical graphics, etc. have been applied to three-dimensional graphics. The demand for applications has led to the development of acquisition technology, such as airborne laser scanning, high-resolution satellite imagery, 3D digital camera and scanning systems. These efficient spatial data acquisition methods make the generation of high-resolution 3D models a reality, but It also makes the data volume of the 3D model data grow geometrically. Because the surface detail of a three-dimensional object often requires texture
( Texture-Compression, 也称之为材质)来实现, 那么越是高分辨率越是真彩 色的纹理自然表现力也是越强, 三维模型的高分辨率(或者叫高精度)越高, 三维模型需要的纹理就越多, 数据量也就越大, 绘制时用的时间越长。 同时, Internet也已经成为一种数据共享、 分布式存储、 分布式计算、 传输、 可视化等 的基础平台, 因此一个系统所需要的三维模型可能分布存储于异构环境中,但 是目前的网络传输带宽,远远不能满足这些三维模型数据的实时传输。本发明 中, 用来表示、 描述和记录三维信息的数据统称为三维模型数据, 如三维空间 数据, 三维模型的几何数据和纹理数据及相应的属性数据等等。  (Texture-Compression, also known as material) to achieve, then the higher the resolution, the more natural the texture is, the stronger the natural expression is. The higher the resolution (or high precision) of the 3D model, the 3D model. The more textures you need, the larger the amount of data, and the longer it takes to draw. At the same time, the Internet has become a basic platform for data sharing, distributed storage, distributed computing, transmission, visualization, etc., so the 3D models required by a system may be distributed and stored in heterogeneous environments, but the current network transmission bandwidth. It is far from satisfying the real-time transmission of these 3D model data. In the present invention, data for representing, describing, and recording three-dimensional information is collectively referred to as three-dimensional model data, such as three-dimensional spatial data, geometric data and texture data of a three-dimensional model, and corresponding attribute data, and the like.
在三维 GIS ( Geographic Information System, 地理信息系统) 引擎中, 对 浏览的实时性要求很高, 如果直接下载并使用未经处理的原始三维模型数据, 数据传输速度非常慢。 因此提高三维模型数据的传输效率, 成为一个迫切需要 解决的问题。 发明内容 In the 3D GIS (Geographic Information System) engine, the real-time performance of browsing is very high. If the raw 3D model data is directly downloaded and used, the data transmission speed is very slow. Therefore, improving the transmission efficiency of 3D model data becomes an urgent need. solved problem. Summary of the invention
有鉴于此, 本发明提供一种三维模型数据化筒、 渐进传输方法及装置。 其 具体方案如下:  In view of this, the present invention provides a three-dimensional model dataization cylinder, a progressive transmission method and apparatus. The specific plan is as follows:
一种三维模型数据化筒方法, 包括:  A three-dimensional model data cylinder method includes:
设定与视图窗口对应的视图控制参数;  Setting a view control parameter corresponding to the view window;
依据所述视图控制参数分析三维模型数据,获取在所述视图窗口中可见的 三维模型数据;  And analyzing the three-dimensional model data according to the view control parameter, and acquiring the three-dimensional model data visible in the view window;
确定所述在视图窗口中可见的三维模型数据为化筒后数据。  Determining the three-dimensional model data visible in the view window as post-synaptic data.
一种三维模型数据化筒装置, 包括:  A three-dimensional model data cylinder device includes:
参数设定模块, 用于设定与视图窗口对应的视图控制参数, 所述视图控制 参数至少包括: 视图窗口的外包矩形、 视点参数和投影参数;  a parameter setting module, configured to set a view control parameter corresponding to the view window, where the view control parameter includes at least: an outsourcing rectangle, a view point parameter, and a projection parameter of the view window;
分析获取模块, 用于依据所述视图控制参数分析三维模型数据, 获取在所 述视图窗口中可见的三维模型数据;  An analysis obtaining module, configured to analyze the three-dimensional model data according to the view control parameter, and obtain three-dimensional model data visible in the view window;
确定模块, 用于确定所述在视图窗口中可见的三维模型数据为化筒后数 据。  And a determining module, configured to determine the three-dimensional model data visible in the view window as post-initial data.
一种三维模型数据渐进传输方法, 包括:  A method for progressive transmission of three-dimensional model data, comprising:
当需要请求增量数据时,请求发送端发送增量数据请求, 所述增量数据请 求中至少包含视图控制参数,所述视图控制参数至少包括:当前视图控制参数; 接收请求接收端发送的增量数据,所述增量数据为所述请求接收端依据所 述视图控制参数分析三维模型数据,获取在所述当前视图控制参数对应的视图 窗口中可见的三维模型数据, 并依据所述视图控制参数进行分析后获得的。  When the incremental data needs to be requested, the requesting sender sends an incremental data request, where the incremental data request includes at least a view control parameter, and the view control parameter includes at least: a current view control parameter; And the incremental data is that the request receiving end analyzes the three-dimensional model data according to the view control parameter, acquires three-dimensional model data visible in a view window corresponding to the current view control parameter, and controls according to the view The parameters were obtained after analysis.
一种三维模型数据渐进传输方法, 包括:  A method for progressive transmission of three-dimensional model data, comprising:
接收请求发送端发送的增量数据请求,所述增量数据请求中至少包含视图 控制参数, 所述视图控制参数至少包括: 当前视图控制参数;  Receiving an incremental data request sent by the requesting sender, where the incremental data request includes at least a view control parameter, and the view control parameter includes at least: a current view control parameter;
依据所述视图控制参数分析三维模型数据,获取在所述视图控制参数对应 的视图窗口中可见的三维模型数据;  And analyzing the three-dimensional model data according to the view control parameter, and acquiring the three-dimensional model data visible in the view window corresponding to the view control parameter;
确定所述在视图窗口中可见的三维模型数据为化筒后数据; 分析所述化筒后数据, 确定符合增量条件的三维模型数据为增量数据; 发送所述增量数据给所述请求发送端。 Determining that the three-dimensional model data visible in the view window is data after the cylinder; The data after the cylinder is analyzed, and the three-dimensional model data that meets the incremental condition is determined to be incremental data; and the incremental data is sent to the request sending end.
一种三维模型数据渐进传输装置, 包括:  A three-dimensional model data progressive transmission device, comprising:
请求发送模块, 用于当需要请求增量数据时,请求发送端发送增量数据请 求,所述增量数据请求中至少包含视图控制参数,所述视图控制参数至少包括: 当前视图控制参数;  a request sending module, configured to: when the incremental data needs to be requested, the requesting end sends an incremental data request, where the incremental data request includes at least a view control parameter, and the view control parameter includes at least: a current view control parameter;
增量数据接收模块, 用于接收请求接收端发送的增量数据, 所述增量数据 为所述请求接收端依据所述视图控制参数分析三维模型数据,获取在所述当前 视图控制参数对应的视图窗口中可见的三维模型数据,并依据所述视图控制参 数进行分析后获得的。  An incremental data receiving module, configured to receive incremental data sent by the request receiving end, where the incremental data is used by the request receiving end to analyze the three-dimensional model data according to the view control parameter, and obtain the corresponding control parameter in the current view. The 3D model data visible in the view window is obtained after analysis based on the view control parameters.
一种三维模型数据渐进传输装置, 包括:  A three-dimensional model data progressive transmission device, comprising:
请求接收模块, 用于接收请求发送端发送的增量数据请求, 所述增量数据 请求中至少包含视图控制参数, 所述视图控制参数至少包括: 当前视图控制参 数;  a request receiving module, configured to receive an incremental data request sent by the requesting sender, where the incremental data request includes at least a view control parameter, where the view control parameter includes at least: a current view control parameter;
获取模块, 用于依据所述视图控制参数分析三维模型数据, 获取在所述视 图控制参数对应的视图窗口中可见的三维模型数据;  An acquiring module, configured to analyze the three-dimensional model data according to the view control parameter, and obtain three-dimensional model data that is visible in a view window corresponding to the view control parameter;
确定模块, 用于确定所述在视图窗口中可见的三维模型数据为化筒后数 据;  a determining module, configured to determine that the three-dimensional model data visible in the view window is post-initial data;
分析模块, 用于分析所述化筒后数据,确定符合增量条件的三维模型数据 为增量数据;  An analysis module, configured to analyze the data after the cylinder, and determine the three-dimensional model data that meets the incremental condition as incremental data;
增量数据发送模块, 用于发送所述增量数据给所述请求发送端。  An incremental data sending module, configured to send the incremental data to the request sending end.
从上述的技术方案可以看出, 本发明实施例公开的三维模型数据化筒方 法,通过利用预先设定的视图控制参数分析三维模型数据,将在与视图控制参 数对应的视图窗口下不可见的三维模型数据舍去,减小了数据传输过程中的数 据量, 提高了数据传输速度。  It can be seen from the above technical solution that the three-dimensional model data cylinder method disclosed in the embodiment of the present invention analyzes the three-dimensional model data by using preset view control parameters, and is invisible under the view window corresponding to the view control parameter. The 3D model data is discarded, which reduces the amount of data during data transmission and improves the data transmission speed.
进一步的, 由于化筒掉的数据为在视图窗口中不可见的数据, 因此, 并不 会改变三维模型数据的显示效果, 实现了化筒后数据的无损显示。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案 ,下面将对实施 例或现有技术描述中所需要使用的附图作筒单地介绍,显而易见地, 下面描述 中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲,在不付 出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。 Further, since the data of the chemical cylinder is data that is not visible in the view window, the display effect of the three-dimensional model data is not changed, and the lossless display of the data after the chemical cylinder is realized. DRAWINGS In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the embodiments or the description of the prior art will be briefly described below. Obviously, the drawings in the following description It is merely some embodiments of the present invention, and those skilled in the art can obtain other drawings according to these drawings without any creative work.
图 1为本发明实施例公开的一种三维模型数据化筒方法的流程图; 图 2为本发明实施例公开的依据所述视图控制参数分析三维模型数据,获 取在所述视图窗口中可见的三维模型数据的过程的流程图;  FIG. 1 is a flowchart of a method for digitizing a three-dimensional model data cylinder according to an embodiment of the present invention; FIG. 2 is a schematic diagram of analyzing three-dimensional model data according to the view control parameter according to an embodiment of the present invention, and obtaining the visible in the view window. Flow chart of the process of 3D model data;
图 3为本发明实施例公开的依据所述视图控制参数分析三维模型数据,将 三维模型数据中被自身所在三维模型中的其他三维模型数据遮挡的三维模型 数据舍去的过程的流程图;  FIG. 3 is a flowchart of a process for analyzing three-dimensional model data according to the view control parameter according to the embodiment, and discarding the three-dimensional model data of the three-dimensional model data that is occluded by other three-dimensional model data in the three-dimensional model;
图 4为本发明实施例公开的依据所述视图控制参数分析三维模型数据,将 三维模型数据中被其它三维模型的三维模型数据遮挡的三维模型数据舍去的 过程的流程图;  4 is a flowchart of a process of analyzing three-dimensional model data according to the view control parameter and discarding three-dimensional model data occluded by three-dimensional model data of other three-dimensional models according to the view control parameter according to an embodiment of the present invention;
图 5 为本发明实施例公开的又一依据所述视图控制参数分析三维模型数 据, 获取在所述视图窗口中可见的三维模型数据的过程的流程图;  FIG. 5 is a flowchart of a process for analyzing three-dimensional model data according to the view control parameter and acquiring three-dimensional model data visible in the view window according to an embodiment of the present disclosure;
图 6为本发明实施例公开的对三角网三维模型进行化筒的过程流程图; 图 7 为本发明实施例公开的将三角网三维模型进行预处理的过程的流程 图;  FIG. 6 is a flowchart of a process for performing a three-dimensional model of a triangulation network according to an embodiment of the present invention; FIG. 7 is a flow chart of a process for preprocessing a three-dimensional model of a triangulation network according to an embodiment of the present invention;
图 8为本发明实施例公开的依据所述消隐分析的结果,化筒所述三维模型 数据的过程的流程图;  FIG. 8 is a flowchart of a process for implementing the three-dimensional model data according to the result of the blanking analysis according to an embodiment of the present disclosure;
图 9 为本发明实施例公开的确定所述在视图窗口中可见的三维模型数据 为化筒后数据的流程图;  FIG. 9 is a flowchart of determining data of the three-dimensional model data visible in the view window as a post-initiator according to an embodiment of the present invention;
图 10为本发明实施例公开的一种三维模型数据化筒装置的结构示意图; 图 11为本发明实施例公开的一种三维模型数据渐进传输方法的流程图; 图 12为发明实施例公开的又一三维模型数据渐进传输方法的流程图; 图 13为发明实施例公开的又一三维模型数据渐进传输方法的流程图; 图 14为发明实施例公开的又一三维模型数据渐进传输方法的流程图; 图 15为发明实施例公开的又一三维模型数据渐进传输方法的流程图; 图 16为本发明实施例公开的一种三维模型数据渐进传输装置的结构示意 图; 10 is a schematic structural diagram of a three-dimensional model dataization cylinder device according to an embodiment of the present invention; FIG. 11 is a flowchart of a three-dimensional model data progressive transmission method according to an embodiment of the present invention; FIG. 13 is a flowchart of still another three-dimensional model data progressive transmission method disclosed in the embodiment of the present invention; FIG. 14 is a flow chart of another three-dimensional model data progressive transmission method disclosed by the embodiment of the present invention; FIG. 15 is a flowchart of still another method for progressive transmission of three-dimensional model data disclosed in an embodiment of the present invention; FIG. 16 is a schematic diagram of a structure of a three-dimensional model data progressive transmission device according to an embodiment of the present invention; Figure
图 17为本发明实施例公开的又一三维模型数据渐进传输装置的结构示意 图。 具体实施方式  FIG. 17 is a schematic structural diagram of still another three-dimensional model data progressive transmission apparatus according to an embodiment of the present invention. detailed description
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。基于本发明中的实施例, 本领域普通技术人员在没有做出创造 性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。  BRIEF DESCRIPTION OF THE DRAWINGS The technical solutions in the embodiments of the present invention will be described in detail below with reference to the accompanying drawings. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without the creative work are all within the scope of the present invention.
三维模型在视图窗口中的显示过程一般是:首先通过空间数据索引将符合 给定空间条件的三维模型取出来经过传输介质传给三维模型使用者 (如客户 端); 然后对三维模型数据进行一系列的坐标变换和处理之后, 变换为二维图 像上的坐标点;根据显示参数,三维模型最终通过绘图算法栅格化成图像像素, 绘制成一幅栅格图像, 在客户端显示或输出(如计算机屏幕显示、 在纸上打印 输出及生成图像文件输出等)。 其中三维模型的绘制, 最终被绘图算法归结为 对一个个像素的操作。  The display process of the 3D model in the view window is generally: firstly, the 3D model conforming to the given spatial condition is taken out through the spatial data index and transmitted to the 3D model user (such as the client) through the transmission medium; and then the 3D model data is performed. After the coordinate transformation and processing of the series, it is transformed into coordinate points on the two-dimensional image; according to the display parameters, the three-dimensional model is finally rasterized into image pixels by a drawing algorithm, drawn into a raster image, displayed or output on the client (such as a computer Screen display, printout on paper, and generation of image file output, etc.). The rendering of the 3D model is ultimately reduced by the drawing algorithm to the operation of one pixel.
因此本发明提出以视图(显示输出设备的抽象)的角度来研究三维模型的 自适应化筒和渐进传输, 彻底解决海量三维模型数据的网络传输和显示的问 题。  Therefore, the present invention proposes to study the adaptive tube and progressive transmission of the three-dimensional model from the perspective of the view (the abstraction of the display output device), and thoroughly solve the problem of network transmission and display of the massive three-dimensional model data.
本发明基于如下原理: 以视图的角度, 在最终用于显示的视图窗口分辨率 确定的情况下,视图窗口能显示的像素总数就固定了, 无论多海量的三维模型 数据, 用于最终传输或显示所需要的最大可见三维模型数据是恒定的, 即用于 填充完视图窗口的全部像素所需的可见三维模型数据是恒定的。因为三维模型 在视图窗口中显示时:  The invention is based on the following principle: In the case of the view angle, in the case where the resolution of the view window finally used for display is determined, the total number of pixels that the view window can display is fixed, regardless of the massive amount of three-dimensional model data, for final transmission or The maximum visible 3D model data required for display is constant, ie the visible 3D model data required to fill all the pixels of the view window is constant. Because the 3D model is displayed in the view window:
( 1 )如果绘制的三维模型被其它绘制的三维模型完全遮挡, 则此三维模 型可以不用传输和绘图;  (1) If the drawn 3D model is completely occluded by other drawn 3D models, the 3D model may not be transmitted and mapped;
( 2 )如果绘制的三维模型被其它绘制的三维模型部分遮挡, 被遮挡的部 分在视图窗口中不能显示出来,则此三维模型中被挡住的部分可以不用传输和 绘图; ( 3 )三维模型本身也可能存在遮挡 (如三维模型在显示时, 其中一些表 面将另外的部分表面遮挡住了 ), 则三维模型中被挡住的部分可以不用传输和 绘图。 (2) If the drawn 3D model is partially obscured by other drawn 3D models, and the occluded part cannot be displayed in the view window, the blocked part of the 3D model may not be transmitted and drawn; (3) The 3D model itself may also have occlusion (for example, when the 3D model is displayed, some of the surfaces obscure the other part of the surface), the blocked part of the 3D model can be transmitted and plotted.
我们将对视图窗口中的像素绘制后能被显示出来的三维模型称为可见三 维模型, 用于表达三维模型中可见部分的数据称为可见三维模型数据。  The three-dimensional model that we can display after drawing the pixels in the view window is called a visible three-dimensional model. The data used to express the visible part of the three-dimensional model is called visible three-dimensional model data.
本发明实施例公开的一种三维模型数据化筒方法的流程如图 1 所示, 包 括:  The flow of a three-dimensional model dataization cylinder method disclosed in the embodiment of the present invention is as shown in FIG. 1, which includes:
步骤 Sll、 设定与视图窗口对应的视图控制参数, 所述视图控制参数至少 包括: 视图窗口的外包矩形、 视点参数和投影参数;  Step S11: Set a view control parameter corresponding to the view window, where the view control parameter includes at least: an outsourcing rectangle, a view point parameter, and a projection parameter of the view window;
视图控制参数包括: 视图窗口的外包矩形, 视点参数和投影参数; 所述视 点参数包括视点在世界坐标系中的位置6 ^。,37。,2。), 其中 ^。,2。表示视点在世 界坐标系中的三个分量、 视点所观察的目标位置 ^^,^。)和虚拟照相机向上 的向量"^^, , ) ; 通过视点参数可以确定一个变换矩阵, 将原始坐标系中 的顶点坐标变换到视点坐标系下。 投影参数包括: 正交投影和透视投影。 或者 是通过上述参数得到的视图矩阵和投影矩阵。 The view control parameters include: an outer bounding rectangle of the view window, a viewpoint parameter and a projection parameter; the viewpoint parameter includes a position 6 ^ of the viewpoint in the world coordinate system. , 37 . , 2 . ), where ^. , 2 . Indicates the three components of the viewpoint in the world coordinate system, and the target position observed by the viewpoint ^^,^. ) and the virtual camera up vector "^^, , ) ; a transformation matrix can be determined by the viewpoint parameter, and the coordinates of the vertex in the original coordinate system are transformed into the viewpoint coordinate system. The projection parameters include: orthogonal projection and perspective projection. It is the view matrix and projection matrix obtained by the above parameters.
该视图控制参数依据进行三维模型数据显示的视图窗口而确定。从而保证 依据视图控制参数进行处理的数据能够满足在显示的视图窗口中的要求,以保 证化筒后的三维模型数据在实际的显示窗口中进行无损显示,并保证化筒后的 三维模型数据间的空间关系的正确显示。  The view control parameters are determined based on the view window for displaying the three-dimensional model data. Therefore, the data processed according to the view control parameter can meet the requirements in the displayed view window, so as to ensure that the three-dimensional model data after the chemical cylinder is displayed in the actual display window without loss, and the three-dimensional model data after the chemical cylinder is ensured. The correct display of the spatial relationship.
步骤 S12、 依据所述视图控制参数分析三维模型数据, 获取在所述视图窗 口中可见的三维模型数据;  Step S12: Analyze the three-dimensional model data according to the view control parameter, and obtain the three-dimensional model data visible in the view window;
将在所述预先设定的视图控制参数对应的视图窗口下不可见的三维模型 数据去掉, 只将可见的三维模型数据经过网络传输给客户端显示, 减小了数据 网络传输过程中的数据量, 同时, 由于去掉的三维模型数据在视图窗口下并不 可见, 所以化筒后的数据不会改变原始数据的显示效果,保证了化筒后的数据 的无损显示。  The 3D model data that is invisible under the view window corresponding to the preset view control parameter is removed, and only the visible 3D model data is transmitted to the client through the network, thereby reducing the amount of data in the data network transmission process. At the same time, since the removed 3D model data is not visible under the view window, the data after the cylinder does not change the display effect of the original data, and the lossless display of the data after the cylinder is ensured.
在计算机图形学中, 用计算机生成三维物体的真实图形,是计算机图形学 研究的重要内容。 真实图形在仿真模拟、 几何造型、 广告影视和科学计算可视 化等许多领域都有着广泛应用。在用显示设备显示物体的图形时, 必须把三维 信息经过某种投影变换,在二维的显示平面上绘制出来。 由于投影变换失去了 深度信息, 往往导致图形的二义性。 要消除这类二义性, 就必须在绘制时消除 被遮挡的不可见的线、面或体, 习惯上称之为消除隐藏线、隐藏面和隐藏体等, 或筒称为消隐。因此本实施例中利用计算机图形学中的消隐算法将所述设定的 视图控制参数对应的视图窗口中不可见的三维模型数据去掉,对三维模型数据 进行化筒。 In computer graphics, the use of computers to generate real-world graphics of three-dimensional objects is an important part of computer graphics research. Real graphics are widely used in many fields such as simulation, geometric modeling, advertising, film and scientific computing visualization. When displaying a graphic of an object with a display device, three-dimensional The information is transformed on a two-dimensional display plane after some projection transformation. Since the projection transformation loses depth information, it often leads to the ambiguity of the graphics. To eliminate this kind of ambiguity, you must eliminate the occluded invisible lines, faces, or bodies when drawing. It is customarily called to eliminate hidden lines, hidden faces, hidden bodies, etc., or the cartridge is called blanking. Therefore, in this embodiment, the three-dimensional model data that is not visible in the view window corresponding to the set view control parameter is removed by using a blanking algorithm in computer graphics, and the three-dimensional model data is binarized.
根据消隐所在的空间, 通常将消隐算法分为三大类:  According to the space where blanking is located, the blanking algorithms are usually divided into three categories:
(1)物体空间的消隐算法:物体空间是用户来定义三维形体的三维空间, 即 所说的世界坐标系空间。 它是三维形体还没有被投影到二维空间内所在的空 间。根据空间中各物体三维模型的几何关系,将场景中每一个面与其他每个面 比较, 求出所有点、 边、 面、 体的遮挡关系,如光线投射算法、 背面剔除算法、 表优先级算法、 Roberts算法等。  (1) Blanking algorithm for object space: Object space is the three-dimensional space in which a user defines a three-dimensional shape, that is, the world coordinate system space. It is the space in which the three-dimensional shape has not been projected into the two-dimensional space. According to the geometric relationship of the three-dimensional model of each object in the space, compare each face in the scene with each other face, and find the occlusion relationship of all points, edges, faces, and bodies, such as ray casting algorithm, backface culling algorithm, table priority Algorithm, Roberts algorithm, etc.
(2)图象空间的消隐算法: 图象空间是把三维模型投影到的二维空间, 即 我们所说的屏幕空间。对屏幕上每个像素进行判断, 决定哪个多边形在该像素 可见, 例如扫描线算法、 Z緩沖器算法 (即深度緩存算法)等。  (2) Image space blanking algorithm: Image space is a two-dimensional space into which a three-dimensional model is projected, that is, what we call a screen space. Each pixel on the screen is judged to determine which polygon is visible in the pixel, such as the scan line algorithm, the Z-buffer algorithm (ie, the depth buffer algorithm), and the like.
(3)物体空间和图像空间的消隐算法:在物体空间中预先计算面的可见性优 先级, 再在图像空间中生成消隐图。 从理论上讲, 物体空间法即为一个对象必 须和空间中其他对象进行比较, 以确定其是否可见。 图像空间方法则是将每个 对象的投影分解为像素, 像素之间进行比较。  (3) Blanking algorithm for object space and image space: Pre-calculate the visibility priority of the surface in the object space, and then generate the blanking map in the image space. In theory, the object space method is that an object must be compared to other objects in the space to determine if it is visible. The image space method is to decompose the projection of each object into pixels, and compare the pixels.
步骤 S 13、 确定所述在视图窗口中可见的三维模型数据为化筒后数据。 经过步骤 S12处理后获得的数据为化筒后数据。  Step S13: Determine that the three-dimensional model data visible in the view window is post-synaptic data. The data obtained after the processing in step S12 is the data after the cylinder.
本实施例公开的三维模型数据化筒方法,通过利用预先设定的视图控制参 数分析三维模型数据,将在与视图控制参数对应的视图窗口下不可见的三维模 型数据舍去, 减小了数据传输过程中的数据量, 提高了数据传输速度。  The three-dimensional model data cylinder method disclosed in this embodiment reduces the data by using the preset view control parameters to analyze the three-dimensional model data, and the three-dimensional model data that is invisible under the view window corresponding to the view control parameter is discarded. The amount of data in the transmission process increases the data transmission speed.
进一步的, 由于化筒掉的数据为在视图窗口中不可见的数据, 因此, 并不 会改变原始三维模型数据的显示效果, 实现了化筒后数据的无损显示。  Further, since the data of the chemical cylinder is data that is not visible in the view window, the display effect of the original three-dimensional model data is not changed, and the lossless display of the data after the chemical cylinder is realized.
上述实施例中, 为了实现对三维模型数据的化筒, 列举了很多消隐方法, 下面将以 Roberts算法为例, 对依据所述视图控制参数分析三维模型数据, 获 取在所述视图窗口中可见的三维模型数据的过程进行详细的描述,其流程如图 2所示, 包括: In the above embodiment, in order to implement the data of the three-dimensional model data, a number of blanking methods are enumerated. The following uses the Roberts algorithm as an example to analyze the three-dimensional model data according to the view control parameters, and obtain the visible in the view window. The process of 3D model data is described in detail, and its process is as shown in the figure. 2, including:
步骤 S21、 依据所述视图控制参数分析三维模型数据, 将三维模型数据中 被自身所在三维模型中的其他三维模型数据遮挡的三维模型数据舍去;  Step S21: analyzing the three-dimensional model data according to the view control parameter, and discarding the three-dimensional model data of the three-dimensional model data that is occluded by other three-dimensional model data in the three-dimensional model in which the data is located;
消除三维模型数据中被自身所在的三维模型中的其他三维模型数据遮挡 的三维模型数据, 即三维模型中被其自身遮挡的面和边, 即三维模型中背向视 点的面和有关的边。 例如三维模型 A 中包括多个三维模型数据 Al、 A2、 A3 等, 如果 A1被同处于三维模型 A中的 A2遮挡, 则舍去 Al。  The 3D model data of the 3D model data occluded by other 3D model data in the 3D model in which it is located is eliminated, that is, the faces and edges of the 3D model that are occluded by itself, that is, the faces of the 3D model that face away from the viewpoint and the related edges. For example, the three-dimensional model A includes a plurality of three-dimensional model data Al, A2, A3, etc., and if A1 is occluded by A2 in the three-dimensional model A, Al is discarded.
步骤 S22、 依据所述视图控制参数分析三维模型数据, 将三维模型数据中 被其它三维模型的三维模型数据遮挡的三维模型数据舍去;  Step S22: Analyze the three-dimensional model data according to the view control parameter, and discard the three-dimensional model data of the three-dimensional model data that is occluded by the three-dimensional model data of the other three-dimensional model;
将三维模型数据中,被其他三维模型的数据遮挡的三维模型数据舍去。例 如三维模型 A中的三维模型数据 A1被三维模型 B中的三维模型数据 B1遮挡, 则将 A1舍去。  The three-dimensional model data occluded by the data of other three-dimensional models is discarded in the three-dimensional model data. For example, if the three-dimensional model data A1 in the three-dimensional model A is occluded by the three-dimensional model data B1 in the three-dimensional model B, A1 is discarded.
步骤 S23、 依据所述视图控制参数, 将剩余的三维模型数据中在所述在视 图窗口中可见的三维模型数据确定为化筒后数据。  Step S23: Determine, according to the view control parameter, the three-dimensional model data in the remaining three-dimensional model data that is visible in the view window as the post-booster data.
经过上述两步骤之后,剩余的三维模型数据为彼此之间不存在遮挡的三维 模型数据,然后将彼此之间不存在遮挡的三维模型数据利用视图控制参数进行 分析,舍去在视图控制参数对应的视图窗口中不可见的三维模型数据,将在视 图窗口中可见的三维模型数据确定为化筒后数据。  After the above two steps, the remaining three-dimensional model data is three-dimensional model data without occlusion between each other, and then three-dimensional model data without occlusion between each other is analyzed by using view control parameters, and the corresponding control parameters are discarded. The 3D model data that is not visible in the view window determines the 3D model data visible in the view window as the post-booster data.
具体的,依据所述视图控制参数分析三维模型数据,将三维模型数据中被 自身所在三维模型中的其他三维模型数据遮挡的三维模型数据舍去的过程如 图 3所示, 包括:  Specifically, the process of analyzing the three-dimensional model data according to the view control parameter and discarding the three-dimensional model data occluded by the other three-dimensional model data in the three-dimensional model of the three-dimensional model data is as shown in FIG. 3, and includes:
步骤 S31、 确定所述三维模型的多面体上任意一面为当前待处理面, 确定 所述当前待处理面上任意一点为测试点;  Step S31, determining that any one of the polyhedrons of the three-dimensional model is a current to-be-processed surface, and determining that any point on the current to-be-processed surface is a test point;
步骤 S32、计算所述测试点依据所述视点参数获得的视线矢量与所述测试 点的外多边形平面法向量间的夹角;  Step S32: Calculate an angle between a line of sight vector obtained by the test point according to the viewpoint parameter and an outer plane normal vector of the test point;
假设平面 上测试点的外多边形平面法向量为 ηι,该点依据所述视点参数 获得的视线矢量为 Si, 两者的数量积为: ni-Si= |ni| |Si|cos9i, 0<θι<π Suppose that the outer polygon plane normal vector of the test point on the plane is ηι, and the line of sight vector obtained by the point according to the viewpoint parameter is Si, and the quantity product of the two is: ni-Si= |ni| |Si|cos9i, 0<θι<π
从而有  Thus there is
cc ^ n. s -..  Cc ^ n. s -..
θι为 ni与 si之间的夹角, i=l , 2 , m, 这里三维模型对应的多面体的 平面数。 Θι is the angle between ni and si, i=l , 2 , m, where the three-dimensional model corresponds to the number of planes of the polyhedron.
当 cos9i > 0 , 即 0≤θι≤π/2时, 为朝前面, 为可见的;  When cos9i > 0, that is, 0 ≤ θι ≤ π/2, it is visible toward the front;
当 cos0i < 0, 即 π/2 < θι≤π时, 为朝后面, 不可见的。  When cos0i < 0, that is, π/2 < θι ≤ π, it is invisible to the back.
步骤 S33、判断所述夹角的余弦值是否大于等于 0,若是,则执行步骤 S34a, 若否, 则执行步骤 S34b;  Step S33, determining whether the cosine of the angle is greater than or equal to 0, and if so, executing step S34a, and if not, executing step S34b;
步骤 S34a、 确定所述当前待处理面为可见, 执行步骤 S35;  Step S34a, determining that the current to-be-processed surface is visible, and performing step S35;
步骤 S34b、 确定所述当前待处理面为不可见, 将所述当前待处理面对应 的不可见三维模型数据舍去, 执行步骤 S35;  Step S34b, determining that the current to-be-processed surface is invisible, and the invisible three-dimensional model data corresponding to the current to-be-processed surface is discarded, and step S35 is performed;
步骤 S35、判断所述三维模型上是否存在未处理面,若是,则执行步骤 S36, 若否, 则结束;  Step S35: Determine whether there is an unprocessed surface on the three-dimensional model, and if yes, execute step S36, and if no, end;
步骤 S36、 确定下一未处理面为当前待处理面, 所述当前待处理面上任意 一点为测试点, 返回执行步骤 S32。  In step S36, it is determined that the next unprocessed surface is the current to-be-processed surface, and any point on the current to-be-processed surface is a test point, and the process returns to step S32.
按照上述步骤将三维模型中各个面之间的遮挡关系进行分析,确定出可见 面及不可见面, 然后将不可见面舍去,从而实现将三维模型数据中被自身所在 三维模型的三维模型数据遮挡的三维模型数据舍去。  According to the above steps, the occlusion relationship between the faces in the three-dimensional model is analyzed, the visible surface and the invisible surface are determined, and then the invisible surface is discarded, thereby occluding the three-dimensional model data of the three-dimensional model in the three-dimensional model data. The 3D model data is discarded.
同时,依据所述视图控制参数分析三维模型数据,将三维模型数据中被其 它三维模型的三维模型数据遮挡的三维模型数据舍去的具体过程如图 4所示, 包括:  At the same time, according to the view control parameter analysis 3D model data, the specific process of the 3D model data occluded by the 3D model data of the other 3D model data is shown in FIG. 4, and includes:
步骤 S41、 将所述三维模型数据按照距离视点由近及远的顺序进行排序; 步骤 S42、 按照由近及远的顺序依次分析所述三维模型数据, 舍去被分析 三维模型数据之后的被遮挡住的三维模型数据。  Step S41, sorting the three-dimensional model data in order of distance and near distance; step S42, sequentially analyzing the three-dimensional model data in order of near and far, and occluding the occluded after analyzing the three-dimensional model data. Live 3D model data.
按照视点的远近顺序,依次将三维模型间相互遮挡的三维模型数据进行化 例如, 消除三维模型的隐藏线的过程为: 从最远的物体开始, 对于每个三 维模型, 如三维模型 A, 检查和确定与其它每个三维模型 (如三维模型 B)的遮 挡关系以及计算隐藏线,首先判断两三维模型在投影平面上的包围区域是否相 交, 若不相交则无遮挡关系; 否则, 首先确定和记录两三维模型在投影平面的 两个坐标轴方向上有无相互贯穿关系, 然后对三维模型 A的每条棱线通过计 算与检测三维模型 B 的每个多边形在投影平面上的交点, 以确定该棱线被检 测多面体遮挡之线段;确定贯穿体之间的可见贯穿线。对于相互贯穿的多面体, 需计算贯穿点以连成相贯边,然后逐一检查相贯边的可见性,剔除其隐藏部分。 最终实现对三维模型 A 隐藏线的消除, 然后按照上述方式, 依次消除其他三 维模型的隐藏线。 According to the distance of the viewpoints, the three-dimensional model data occluded between the three-dimensional models is sequentially processed. For example, the process of eliminating hidden lines of a 3D model is: Starting from the farthest object, for each 3D model, such as 3D model A, checking and determining the occlusion relationship with each of the other 3D models (such as 3D model B) and calculating Hidden lines, first determine whether the enclosing areas of the two-dimensional model on the projection plane intersect, if there is no intersection, there is no occlusion relationship; otherwise, first determine and record whether the two-dimensional model has a mutual penetration relationship in the two coordinate axes of the projection plane And then, for each ridgeline of the three-dimensional model A, by calculating and detecting the intersection of each polygon of the three-dimensional model B on the projection plane, to determine the line segment of the ridge line that is blocked by the detected polyhedron; determining the visible through-line between the through-body . For interpenetrating polyhedra, it is necessary to calculate the through points to form intersecting edges, and then check the visibility of the intersecting edges one by one, and eliminate the hidden parts. Finally, the elimination of the hidden line of the 3D model A is realized, and then the hidden lines of the other 3D models are sequentially eliminated as described above.
本实施例公开的三维模型数据化筒方法中,具体的化筒方式为在三维模型 的原始环境中, 利用预先设定的视图控制参数对三维模型进行分析处理, 最终 得到化筒后的数据。本发明实施例同时公开了另一种基于图像空间的消隐算法 实现依据所述视图控制参数分析三维模型数据,获取在所述视图窗口中可见的 三维模型数据的过程的方法, 其具体流程如图 5所示, 包括:  In the three-dimensional model data cylinder method disclosed in the embodiment, the specific cylinder method is to analyze and process the three-dimensional model by using preset view control parameters in the original environment of the three-dimensional model, and finally obtain the data after the cylinder. The embodiment of the present invention simultaneously discloses another image space-based blanking algorithm for implementing a method for analyzing three-dimensional model data according to the view control parameter, and acquiring a three-dimensional model data visible in the view window, and the specific process thereof is as follows: As shown in Figure 5, it includes:
步骤 S51、 依据预先设定的所述视图控制参数, 将所述三维模型数据的原 始坐标变换得到所述视图窗口的视图坐标,所述视图窗口利用数据结构依照所 述预先设定的所述视图控制参数进行表示;  Step S51: Convert the original coordinate of the three-dimensional model data to the view coordinate of the view window according to the preset view control parameter, and the view window uses the data structure according to the preset view. Control parameters are represented;
本实施例中, 依据视图控制参数用栅格数据结构来表示视图窗口的像素, 所述像素为视图窗口平面划分成的均匀网格单元,所述像素为栅格数据中的基 本信息存储单元,所述像素的坐标位置依据所述像素在所述视图窗口中对应的 行号和列号确定;设定用于表示像素对应的三维模型数据的序列号的栅格数据 的初始值为 0, 用于表示像素深度的栅格数据的初始值为距离视点最远的值, 根据不同的系统,如果像素深度值越小离视点越近, 则给表示像素深度的栅格 数据的初始值赋极大值,如果像素深度值越大离视点越近, 则给表示像素深度 的栅格数据的初始值赋极小值。  In this embodiment, the pixel of the view window is represented by a raster data structure according to the view control parameter, where the pixel is a uniform mesh unit divided into a view window plane, and the pixel is a basic information storage unit in the raster data. The coordinate position of the pixel is determined according to the corresponding row number and column number of the pixel in the view window; setting an initial value of the raster data for indicating the serial number of the three-dimensional model data corresponding to the pixel is 0, The initial value of the raster data representing the pixel depth is the value farthest from the viewpoint. According to different systems, if the pixel depth value is smaller, the closer to the viewpoint, the maximum value of the raster data representing the pixel depth is maximized. Value, if the pixel depth value is closer to the viewpoint, the initial value of the raster data representing the pixel depth is given a minimum value.
每个像素可以用下面的数据结构来表示:  Each pixel can be represented by the following data structure:
Struct viewPixl  Struct viewPixl
{ Long ModelDatalndex; { Long ModelDatalndex;
Double z Value;  Double z Value;
}  }
其中 ModelDatalndex用于代表三维模型数据的序列号(或称标识号), 类 似于帧緩存, 如不规则三角网 ( TIN )三维模型, ModelDatalndex表示为三角 形的序号; zValue为像素的深度(即 z 坐标), 类似于深度緩存。  ModelDatalndex is used to represent the serial number (or identification number) of the 3D model data, similar to the frame buffer, such as the irregular triangulation (TIN) 3D model, ModelDatalndex is expressed as the serial number of the triangle; zValue is the depth of the pixel (ie z coordinate) ), similar to depth caching.
步骤 S52、 消隐分析所述坐标变换后的三维模型数据;  Step S52, blanking analysis of the coordinate transformed 3D model data;
利用基于图像空间的消隐算法, 例如 Z緩沖器算法, 对坐标变换后的三 维模型数据进行消隐分析。  The image space-based blanking algorithm, such as the Z-buffer algorithm, is used to perform blanking analysis on the coordinate-transformed three-dimensional model data.
步骤 S53、 依据所述消隐分析的结果, 化筒所述坐标变换前的三维模型数 据;  Step S53: Perform, according to the result of the blanking analysis, the three-dimensional model data before the coordinate transformation of the cylinder;
步骤 S54、获取化筒后的三维模型数据作为在所述视图窗口中可见的三维 模型数据。  Step S54: Acquire the three-dimensional model data after the cylinder as the three-dimensional model data visible in the view window.
进一步的,在消隐分析坐标变换后的三维模型数据前,根据需要也可以包 括:对所述坐标变换后的三维模型数据进行退化分析。比如多边形的退化分析, 即如果三维模型数据在"模型"视图窗口坐标系下不能构成有效的多边形,则将 此多边形舍去, 同时如果构成此多边形的顶点没有被其它可见的多边形使用, 则对应的顶点也舍去。  Further, before the three-dimensional model data after the coordinate transformation is analyzed by blanking, the three-dimensional model data after the coordinate transformation may be subjected to degradation analysis as needed. For example, the degradation analysis of a polygon, that is, if the 3D model data cannot form a valid polygon in the "model" view window coordinate system, the polygon is rounded off, and if the vertices constituting the polygon are not used by other visible polygons, The vertices are also gone.
举例说明: 三角网三维模型, 在由原始坐标系变换到"模型"视图窗口坐标 系中进行显示时,在"模型 "视图窗口坐标系中构成三角形网格的三个坐标点可 能相同, 或三个坐标点在同一条直线上, 已经不能构成三角形, 可以直接舍去 此三角形网格数据。  For example: Triangulation 3D model, when displaying from the original coordinate system to the "model" view window coordinate system, the three coordinate points of the triangle mesh in the "model" view window coordinate system may be the same, or three The coordinate points on the same line can no longer form a triangle, and the triangle mesh data can be directly discarded.
通过退化分析, 可以首先滤除一部分不能构成三维模型的数据, 进一步减 小了进行消隐分析的数据量, 提高了整个化筒过程的处理效率。  Through degradation analysis, it is possible to first filter out some data that cannot form a three-dimensional model, further reducing the amount of data for performing blanking analysis, and improving the processing efficiency of the entire cylinder process.
在消隐分析中, Z緩沖器消隐法是最常用的一种消隐分析法,它在象素级 上以近物取代远物,与形体在屏幕上的出现顺序无关,在三维模型的表达方面, 三角网三维模型数据结构筒单、 容易被所有的图形硬件设备绘制。 在此, 本发 明实施例以三角网三维模型作为化筒对象, 将利用 Z緩沖器消隐分析法对三 角网三维模型进行化筒的过程进行描述, 其流程如图 6所示, 包括: 步骤 S61、 从待分析三角网三维模型中确定当前待分析三角网三维模型; 选择取出一个三角网三维模型 TMi, 其中 i为三角网三维模型的序号, 大 于 0, 同时 i小于或等于 n, n为待分析的三维模型的个数, TMi的三角形个数 为 m, 记录三维模型 TMi所对应的处理过的三角形的总数 Td, 即: TCi=TC; 然后将 TC值增加 m,即 TC=TC+m; In the blanking analysis, the Z-buffer blanking method is the most commonly used kind of blanking analysis method. It replaces the far object with the near object at the pixel level, which has nothing to do with the order of appearance of the form on the screen. In terms of triangulation, the three-dimensional model data structure is easy to be drawn by all graphics hardware devices. Here, in the embodiment of the present invention, a three-dimensional model of a triangulation network is used as a cylinder object, and a process of performing a three-dimensional model of a triangulation network by using a Z-buffer blanking analysis method is described. The flow is shown in FIG. 6, and includes: Step S61: determining a three-dimensional model of the triangulation to be analyzed from the three-dimensional model of the tribe to be analyzed; selecting a three-dimensional model TMi of the triangulation, wherein i is a serial number of the three-dimensional model of the triangulation, greater than 0, and i is less than or equal to n, n For the number of three-dimensional models to be analyzed, the number of triangles of TMi is m, and the total number Td of processed triangles corresponding to the three-dimensional model TMi is recorded, namely: TCi=TC; then the TC value is increased by m, ie TC=TC +m;
步骤 S62、从组成所述选取的当前待分析三角网三维模型的三角形中选取 当前待分析三角形, 确定其标识号、 三个顶点, 及各个顶点的原始坐标;  Step S62: Select a current triangle to be analyzed from the triangles that constitute the selected three-dimensional model of the triangulation to be analyzed, and determine the identification number, the three vertices, and the original coordinates of each vertex;
假设取出组成 TMi的一个三角形 j, j为三角形的顺序号, j大于 0, 同时 j 小于或等于 m, Tj的三个顶点为 Ph,Pz,Pk, 其中, h,z,k都大于 0, 同时都小于或 等于 w, 其中 w为 TMi顶点的个数, 将 η的顺序号 j加上 TQ作为三维模型 数据 Τ」标识号 ID, 即 ID=j+TCi; Suppose that a triangle j consisting of TMi is taken out, j is the sequence number of the triangle, j is greater than 0, and j is less than or equal to m. The three vertices of Tj are P h , P z , P k , where h, z, k are More than 0, both are less than or equal to w , where w is the number of TMi vertices, and the sequence number j of η is added to TQ as the three-dimensional model data Τ" identification number ID, ie ID=j+TCi;
步骤 S63、 按照所述视图控制参数, 将上述三个顶点的原始坐标变换得到 所述视图窗口的视图坐标;  Step S63, transforming the original coordinates of the three vertices according to the view control parameter to obtain view coordinates of the view window;
将 Ph,Pz,Pk变换为视图窗口坐标系下的坐标点 Ph ,Pz',Pk , 其中 Ph ,Pz',Pk 每个坐标点都含有深度值, 即 z坐标。 P h , P z , P k are transformed into coordinate points P h , P z ', P k in the view window coordinate system, where each coordinate point of Ph, P z ', Pk contains a depth value, that is, a z coordinate.
步骤 S64、 判断所述变换坐标后的三个顶点坐标是否能够构成有效三角 形, 若是, 则执行步骤 S65 , 若否, 则执行步骤 S614;  Step S64, determining whether the coordinates of the three vertices after the transformation of coordinates can form an effective triangle, and if so, executing step S65, and if not, executing step S614;
本步骤目的在于,对三维模型数据进行退化分析, 当三个坐标顶点不能构 成有效三角形时,可以直接舍去该三个顶点坐标对应的三角形,不再进行处理, 以提高处理效率。  The purpose of this step is to perform degradation analysis on the 3D model data. When the three coordinate vertices cannot form a valid triangle, the triangle corresponding to the coordinates of the three vertices can be directly discarded, and no processing is performed to improve the processing efficiency.
本实施例并不限定必须包含该退化分析过程。  This embodiment does not limit the necessity to include the degradation analysis process.
步骤 S65、 获得所述当前待分析三角形的三角面上的当前待分析像素点; 本步骤可以通过"扫描线填充算法"依次获得所有 Tj所构成的三角面片上 的像素点 Pp'。 Step S65: Obtain a current pixel to be analyzed on a triangular surface of the current triangle to be analyzed; in this step, a pixel point P p ' on a triangular patch formed by all Tjs may be sequentially obtained by a “scan line filling algorithm”.
步骤 S66、依据所述变换坐标后的三个顶点坐标计算出所述当前待分析像 素点对应的深度值;  Step S66: Calculate a depth value corresponding to the current pixel to be analyzed according to the coordinates of the three vertices after the transformation of the coordinate;
即根据 Ph ,Pz',Pk的深度值计算出 Ρρ'所对应的深度值 z。 That is, the depth value z corresponding to Ρ ρ ' is calculated from the depth values of P h , P z ', and P k .
步骤 S67、读取所述当前待分析像素点所对应的栅格数据中的三角形序号 和像素深度值,判断所述读取的三角形序号是否为 0,若是,则执行步骤 S610, 若否, 则执行步骤 S68; Step S67: The triangle sequence number and the pixel depth value in the raster data corresponding to the current pixel to be analyzed are read, and it is determined whether the read triangle number is 0. If yes, step S610 is performed. If not, proceed to step S68;
即读取 Ρρ'的像素的数据 ModelDatalndex 和 zValue 的值, 然后判断 ModelDatalndex为等于 0还是大于 0。 That is, the values of the data ModelDatalndex and zValue of the pixel of Ρ ρ ' are read, and then it is judged whether ModelDatalndex is equal to 0 or greater than 0.
步骤 S68、分别获得所述读取的当前待分析像素点所对应的栅格数据中的 深度值和视点计算出的第一距离,和依据变换坐标后的三个顶点坐标计算出的 所述当前待分析像素点对应的深度值和视点计算出的第二距离;  Step S68, respectively obtaining the depth value in the raster data corresponding to the currently read pixel to be analyzed and the first distance calculated by the viewpoint, and the current calculated according to the three vertex coordinates after the transformation coordinate a depth value corresponding to the pixel to be analyzed and a second distance calculated by the viewpoint;
步骤 S69、 判断所述第一距离是否大于所述第二距离, 若是, 则执行步骤 S610, 若否, 则执行步骤 S611 ;  Step S69, determining whether the first distance is greater than the second distance, and if yes, executing step S610; if not, executing step S611;
步骤 S610、 用所述当前待分析三角形的标识号替换所述当前待分析像素 点所对应的栅格数据中的三角形序号,用所述计算出的像素的深度值替换所述 读取当前待分析像素点所对应的栅格数据中的深度值, 执行步骤 S612;  In step S610, the triangle number in the raster data corresponding to the current pixel to be analyzed is replaced by the identifier of the current triangle to be analyzed, and the read current value to be analyzed is replaced by the calculated depth value of the pixel. The depth value in the raster data corresponding to the pixel, step S612;
即将 ID赋值给像素点 Pp所对应的栅格数据中的 ModelDatalndex的值, 将 z赋值给像素点 Pp'所对应的栅格数据中的 zValue的值; Coming ID value assigned to the raster data corresponding to pixels P p in ModelDatalndex will zValue value z assigned to the raster pixels Pp 'of corresponding;
步骤 S611、 则保留所述像素点所对应的栅格数据中的三角形序号和像素 深度值, 执行步骤 S612;  Step S611, the triangle sequence number and the pixel depth value in the raster data corresponding to the pixel point are retained, and step S612 is performed;
步骤 S612、 判断所述当前待分析三角形所构成的三角面片上是否存在未 被分析的像素点, 若是, 则执行步骤 S613 , 若否, 则执行步骤 S614;  Step S612, determining whether there is an unanalyzed pixel point on the triangular patch formed by the current triangle to be analyzed, and if yes, executing step S613; if not, executing step S614;
步骤 S613、 获取所述当前待分析三角形所构成的三角面片上的下一个未 被分析像素点为当前待分析像素点, 执行步骤 S66; 步骤 S614、 判断所述选取的当前待分析三角网三维模型的三角形中是否 存在未被分析三角形, 若是, 则执行步骤 S615, 若否, 则执行步骤 S616; 步骤 S615、 确定下一待分析三角形为当前待分析三角形, 返回执行步骤 Step S613, obtaining the next unanalyzed pixel on the triangular slice formed by the current triangle to be analyzed as the current pixel to be analyzed, and performing step S66; Step S614, determining the selected three-dimensional model of the current triang to be analyzed Whether there is an unanalyzed triangle in the triangle, if yes, step S615 is performed, if no, step S616 is performed; step S615, determining that the next triangle to be analyzed is the current triangle to be analyzed, and returning to the execution step
S62; S62;
步骤 S616、 判断所述待分析三角网三维模型中是否存在未被分析的三角 网三维模型, 若是, 则执行步骤 S617, 若否, 则执行步骤 S618;  Step S616, determining whether there is an unanalyzed three-dimensional model of the triangulation in the three-dimensional model of the tribe to be analyzed, and if yes, executing step S617; if not, executing step S618;
步骤 S617、 确定下一待分析三角网三维模型为当前待分析三角网三维模 型, 返回执行步骤 S61 ;  Step S617, determining that the three-dimensional model of the next triangle to be analyzed is the three-dimensional model of the tribe to be analyzed, and returning to step S61;
步骤 S618、 依次获取所有像素点对应的三角形序号, 将大于 0的三角形 序号保存到预设数组。 Step S618, sequentially acquiring the triangle number corresponding to all the pixel points, and setting the triangle larger than 0. The sequence number is saved to the preset array.
通过上述步骤,将待分析的三角网三维模型中全部可见的三角形的序号存 储到了预设数组, 以作为对三角网三维模型数据进行化筒的依据。  Through the above steps, the serial numbers of all the visible triangles in the three-dimensional model of the triangulation to be analyzed are stored in a preset array, as a basis for purifying the three-dimensional model data of the triangulation network.
当然, 在上述消隐分析过程开始之前, 为了提高消隐分析的效率, 降低消 隐分析过程中数据的处理量,还可包括如下步骤,将原始的三角网三维模型进 行预处理, 将预处理后的三维模型数据, 作为待分析三角网三维模型数据, 具 体的过程如图 7所示, 包括:  Of course, before the start of the blanking analysis process, in order to improve the efficiency of the blanking analysis and reduce the processing amount of data in the blanking analysis process, the following steps may be included to preprocess the original triangulated three-dimensional model, and the preprocessing is performed. After the 3D model data, as the 3D model data of the triangulation to be analyzed, the specific process is shown in Figure 7, including:
步骤 S71、依据所述视图控制参数将待处理三维模型的最小包围盒的原始 坐标变换为所述视图窗口坐标系下的视图坐标;  Step S71: Convert original coordinates of the minimum bounding box of the three-dimensional model to be processed into view coordinates in the view window coordinate system according to the view control parameter;
本实施例中的包围盒是一个包容三角网三维模型的立方体或者二维长方 形。  The bounding box in this embodiment is a cube or a two-dimensional rectangular shape that accommodates a three-dimensional model of a triangulation.
步骤 S72、计算所述三维模型的最小包围盒在所述视图窗口坐标系下的外 包矩形和距离视点最近的 Z坐标;  Step S72: Calculate an outer bounding rectangle of the minimum bounding box of the three-dimensional model in the view window coordinate system and a Z coordinate closest to the distance viewpoint;
步骤 S73、 按照距离视点由近及远的顺序将所述待处理三维模型进行排 序。  Step S73: Sort the three-dimensional models to be processed according to the distance viewpoint from near to far.
然后在消隐分析的过程中,依次按照距离视点由近及远的顺序取三维模型 数据,判断所述三维模型距离视点最近的 Z坐标是否大于此三维模型的最小包 围盒在所述视图窗口内所对应的全部像素的深度值和视点计算出的距离, 若 是, 则舍去所述三维模型, 不参与消隐分析, 若否, 将所述三维模型为当前待 处理三维模型进行消隐分析。  Then, in the process of blanking analysis, the three-dimensional model data is sequentially taken from the near and far distances according to the distance viewpoint, and it is determined whether the Z coordinate of the three-dimensional model closest to the viewpoint is larger than the minimum bounding box of the three-dimensional model in the view window. The depth value of all corresponding pixels and the distance calculated by the viewpoint, if yes, the three-dimensional model is discarded, and the blanking analysis is not participated. If not, the three-dimensional model is subjected to blanking analysis for the current three-dimensional model to be processed.
当与视图控制参数对应的视图窗口内的像素值不全为 0 , 即, 当前进行显 示的视图窗口中显示有三维模型数据时,通过上述步骤,将被视图窗口中已经 存在的三维模型数据遮挡的三维模型进行舍去, 无需参与消隐分析,从而在一 定程度上, 提高了数据的处理效率。 When the pixel values in the view window corresponding to the view control parameter are not all 0, that is, when the 3D model data is displayed in the currently displayed view window, the above-mentioned steps are used to block the 3D model data already existing in the view window. The 3D model is rounded off, and there is no need to participate in the blanking analysis, which improves the processing efficiency of the data to a certain extent.
在对三角网三维模型数据进行消隐分析后,依据所述消隐分析的结果,化 筒所述三维模型数据的过程如图 8所示, 包括:  After the blanking analysis is performed on the three-dimensional model data of the triangulation, according to the result of the blanking analysis, the process of the three-dimensional model data is shown in FIG. 8, which includes:
步骤 S81、 从待分析三角网三维模型中选取当前待分析三角网三维模型; 步骤 S82、从组成所述选取的当前待分析三角网三维模型的三角形中选取 当前待分析三角形, 确定其标识号; Step S81, selecting a three-dimensional model of the triangulation to be analyzed from the three-dimensional model of the tribe to be analyzed; Step S82: Select a current triangle to be analyzed from the triangles that constitute the selected three-dimensional model of the tribe to be analyzed, and determine the identification number thereof;
其标识号的确定方法同步骤 S62方法相同。  The method of determining the identification number is the same as the method of step S62.
步骤 S83、 判断所述标识号是否存在于所述预设数组中, 若存在, 则执行 步骤 S84, 若不存在, 则执行步骤 S85 ;  Step S83, determining whether the identification number exists in the preset array, if yes, executing step S84, if not, executing step S85;
步骤 S84、 保留所述三角形, 执行步骤 S86;  Step S84, retaining the triangle, performing step S86;
步骤 S85、 舍去所述三角形, 执行步骤 S86;  Step S85, rounding off the triangle, performing step S86;
步骤 S86、判断组成所述当前待分析三角网三维模型的三角形中是否存在 未被分析三角形, 若存在, 则执行步骤 S87, 若不存在, 则执行步骤 S88; 步骤 S87、 确定下一待分析三角形为当前待分析三角形, 返回执行步骤 In step S86, it is determined whether there is an unanalyzed triangle in the triangle constituting the three-dimensional model of the tribe to be analyzed, if yes, step S87 is performed, if not, step S88 is performed; step S87, determining the next triangle to be analyzed Return to the execution step for the current triangle to be analyzed
S82; S82;
步骤 S88、 判断所述当前待分析三角网三维模型的三角形是否全部被舍 去, 若是, 则执行步骤 S89 , 若否, 则执行步骤 S810;  Step S88, determining whether the triangle of the current three-dimensional model of the triangulation to be analyzed is all rounded off, if yes, executing step S89, and if not, executing step S810;
步骤 S89、 舍去所述当前待分析三角网三维模型, 执行步骤 S811 , 步骤 S810、 确定保留的三角形及对应的三维模型数据为所述当前待分析 三角网三维模型化筒后的数据, 执行步骤 S811 ;  Step S89, rounding off the current three-dimensional model of the triangulation to be analyzed, performing step S811, step S810, determining the retained triangle and the corresponding three-dimensional model data as the data of the current three-dimensional model cylinder of the tribe to be analyzed, and performing steps S811 ;
步骤 S811、 判断待分析三角网三维模型是否存在未分析三角网三维模型, 若是, 则执行步骤 S812 , 若否, 则结束;  Step S811, determining whether there is an unanalyzed triangulation three-dimensional model in the three-dimensional model of the tribe to be analyzed, and if yes, executing step S812; if not, ending;
步骤 S812、 确定下一待分析三角网三维模型为当前待分析三角网三维模 型, 返回执行步骤 S81。  Step S812: Determine that the three-dimensional model of the next to-be-analyzed triangulation is the three-dimensional model of the tribe to be analyzed, and return to step S81.
经过上述步骤, 得到化筒后的三角网三维模型数据。  After the above steps, the three-dimensional model data of the triangulation after the cylinder is obtained.
如果上述获取消隐分析过程中,在开始处理每个三维模型 TMi时都记录了 之前处理过的三维模型的三角形总数 TQ, 可以不按照顺序取三维模型, 只要 在取 TMi时, 也将记录的 TQ同时取出用于计算标识号 ID; 扫描线填充算法 是现有技术, 在此不再赘述。  If the above-mentioned acquisition blanking analysis process records the total number of triangles TQ of the previously processed three-dimensional model at the beginning of processing each three-dimensional model TMi, the three-dimensional model may be taken out of order, as long as the TMi is taken, The TQ is simultaneously taken out to calculate the identification number ID; the scan line filling algorithm is a prior art, and details are not described herein again.
在三维模型进行消隐分析时,要考虑三维模型的属性特征,如对三维模型 的透明度进行编码, 避免三维模型透明部分参与消隐分析; 在消隐算法 Z- buffer中可以结合物体空间法,如背面剔除法,来去除一些显然不可见的表面, 从而提高消隐算法的效率。 在上述处理过程中, 所述可见的三维模型数据包括: 可见的三维模型几何 数据和可见的三维模型纹理数据。对三维模型进行消隐分析, 用的主要是三维 模型的几何数据, 由于三维模型几何数据可见, 则对应的纹理数据也可见; 三 维模型几何数据不可见, 则对应的纹理数据也不可见, 则确定所述在视图窗口 中可见的三维模型数据为化筒后数据的具体过程如图 9所示, 包括: In the 3D model for blanking analysis, the attributes of the 3D model should be considered, such as the transparency of the 3D model, to avoid the transparent part of the 3D model to participate in the blanking analysis; in the Z-buffer of the blanking algorithm, the object space method can be combined. Such as back culling, to remove some apparently invisible surface, thereby improving the efficiency of the blanking algorithm. In the above processing, the visible three-dimensional model data includes: visible three-dimensional model geometric data and visible three-dimensional model texture data. The blanking analysis of the 3D model is mainly based on the geometric data of the 3D model. Since the geometric data of the 3D model is visible, the corresponding texture data is also visible; if the geometric data of the 3D model is not visible, the corresponding texture data is not visible, then The specific process of determining the data of the three-dimensional model data visible in the view window as the post-cylinder data is as shown in FIG. 9, and includes:
步骤 S91、 确定在所述视图窗口中可见的三维模型几何数据为化筒后数 据;  Step S91, determining that the three-dimensional model geometric data visible in the view window is the data of the chemical cylinder;
步骤 S92、确定与所述可见的三维模型几何数据对应的可见三维模型纹理 数据为化筒后数据。  Step S92: Determine visible three-dimensional model texture data corresponding to the visible three-dimensional model geometric data as post-booster data.
通过上述步骤, 首先将可见的三维模型几何数据确定为化筒后数据, 然后 将与可见的三维模型几何数据对应的可见的三维模型纹理数据确定为化筒后 数据。  Through the above steps, the visible three-dimensional model geometric data is first determined as the post-booster data, and then the visible three-dimensional model texture data corresponding to the visible three-dimensional model geometric data is determined as the post-booster data.
进一步的,确定了与所述可见的三维模型几何数据对应的可见三维模型纹 理数据后可以进行进一步的处理过程包括:  Further, after the visible three-dimensional model texture data corresponding to the visible three-dimensional model geometric data is determined, further processing may be performed, including:
依据所述视图控制参数,将所述可见三维模型几何数据的原始坐标变换得 到所述视图窗口的视图坐标;  Converting original coordinates of the visible three-dimensional model geometric data to view coordinates of the view window according to the view control parameter;
依据所述视图坐标,获得所述可见三维模型几何数据在所述视图窗口显示 时的显示范围;  Obtaining, according to the view coordinates, a display range of the visible three-dimensional model geometric data when the view window is displayed;
当预先设定的显示规则为:当三维模型纹理数据在所述视图窗口中显示的 范围小于预先设定的值, 不显示所述可见三维模型几何数据对应的纹理数据 时,依据所述可见三维模型几何数据在所述视图窗口显示时的显示范围来判断 所述三维模型纹理数据在所述视图窗口中显示的范围是否小于所述预先设定 的值,若小于,则舍去所述可见三维模型几何数据对应的纹理数据,若不小于, 则保留所述可见三维模型几何数据对应的纹理数据;  When the preset display rule is: when the range of the three-dimensional model texture data displayed in the view window is less than a preset value, and the texture data corresponding to the visible three-dimensional model geometric data is not displayed, according to the visible three-dimensional Determining, by the display range of the model geometric data, when the view window is displayed, whether the range of the three-dimensional model texture data displayed in the view window is smaller than the preset value, and if not, discarding the visible three-dimensional If the texture data corresponding to the model geometric data is not smaller, the texture data corresponding to the geometric data of the visible three-dimensional model is retained;
当所述可见三维模型几何数据在所述视图窗口显示时的显示范围小于所 述可见三维模型几何数据所对应的纹理数据的原始大小时,则将所述纹理数据 依据所述纹理数据在所述视图窗口显示时的显示范围进行压缩。最终确定压缩 后的纹理数据为与所述可见三维模型几何数据对应的纹理数据。  And when the display range of the visible three-dimensional model geometric data when the view window is displayed is smaller than the original size of the texture data corresponding to the visible three-dimensional model geometric data, the texture data is used according to the texture data. The display range when the view window is displayed is compressed. The compressed texture data is finally determined to be texture data corresponding to the visible three-dimensional model geometric data.
本实施例中的预先设定的显示规则可以根据实际的情况进行设定, 例如, 设定用于纹理数据在当前视图参数对应的视图窗口显示的像素的个数为五个, 如果三维模型纹理数据在所述视图窗口中显示时所需要的像素个数小于 5个, 则该纹理数据就不需要显示。本实施例中通过预先设定的显示规则对可见三维 模型几何数据对应的纹理数据进行了预处理,首先去除不需要进行显示的纹理 数据, 从而减小了数据传输量。 The preset display rules in this embodiment may be set according to actual conditions, for example, The number of pixels displayed for the texture data in the view window corresponding to the current view parameter is five, and if the number of pixels required for the three-dimensional model texture data to be displayed in the view window is less than five, the texture is The data does not need to be displayed. In this embodiment, the texture data corresponding to the visible three-dimensional model geometric data is preprocessed by a preset display rule, and the texture data that does not need to be displayed is first removed, thereby reducing the data transmission amount.
本实施例中具体的压缩过程为:  The specific compression process in this embodiment is:
当对可见的纹理数据进行显示时,如果可见的纹理在视图窗口中显示的大 小(可以用纹理的宽乘以纹理的高来表示)小于原始纹理的大小, 则表示此纹 理会有多个数据绘制在视图窗口的同一个像素上, 因此, 可以将与该像素对应 的可见的纹理数据进行化筒, 只保留在所述视图窗口中显示时可见的一个数 据, 其余的去掉, 即确定与所述可见三维模型纹理数据对应的可见三维模型几 何数据在所述视图窗口中所对应的像素,将与所述像素对应的所述可见三维模 型纹理数据中的多个数据进行化筒,只保留三维模型纹理数据中在所述视图窗 口中显示时可见的数据。 进一步的, 还包括: 根据所述视图控制参数和三维模型几何数据, 将可见 的三维模型纹理数据合成为一个纹理;重新计算所述可见的三维模型的纹理坐 标。 三维模型几何数据中顶点的纹理坐标的计算方法为:  When the visible texture data is displayed, if the size of the visible texture displayed in the view window (which can be represented by the width of the texture multiplied by the height of the texture) is smaller than the size of the original texture, it means that the texture has multiple data. Draw on the same pixel of the view window. Therefore, the visible texture data corresponding to the pixel can be normalized, and only one data that is visible when displayed in the view window is retained, and the rest is removed, that is, determined and determined. Visible to the visible pixels of the visible three-dimensional model geometric data corresponding to the three-dimensional model texture data, the plurality of data in the visible three-dimensional model texture data corresponding to the pixel are purified, and only three-dimensional is retained. Data visible in the model texture data when displayed in the view window. Further, the method further includes: synthesizing the visible three-dimensional model texture data into a texture according to the view control parameter and the three-dimensional model geometric data; and recalculating the texture coordinates of the visible three-dimensional model. The calculation method of the texture coordinates of the vertices in the geometric data of the 3D model is:
依据所述视图控制参数将三维模型几何数据中顶点的原始坐标变换为所 述视图控制参数所表示的视图窗口下的视图坐标;  Converting original coordinates of the vertices in the three-dimensional model geometric data into view coordinates under the view window represented by the view control parameter according to the view control parameter;
当所述视图坐标在所述视图控制参数所表示的视图窗口范围内,则在此视 图坐标即为可见三维模型几何数据所对应的纹理坐标;  When the view coordinate is within the view window represented by the view control parameter, the view coordinate is the texture coordinate corresponding to the visible three-dimensional model geometric data;
当所述视图坐标在所述视图控制参数所表示的视图窗口范围之外时,利用 所述视图控制参数所表示的视图窗口的外包矩形对三维模型的几何数据进行 裁剪,并将裁剪后的三维模型的几何数据中的顶点坐标确定为可见三维模型几 何数据所对应的纹理坐标。  When the view coordinates are outside the range of the view window represented by the view control parameter, the geometric data of the three-dimensional model is cropped by using the outer-out rectangle of the view window represented by the view control parameter, and the cropped three-dimensional image is The vertex coordinates in the geometric data of the model are determined as the texture coordinates corresponding to the visible 3D model geometric data.
如果要将纹理坐标进行归一化操作(如 OpenGL三维引擎的纹理坐标要求 归一为 0到 1之间 ), 则还包括: 将所述可见三维模型几何数据所对应的纹理 坐标进行归一化处理,将上述纹理坐标的横坐标除以所述视图控制参数中视图 窗口的宽度, 纵坐标除以所述视图控制参数中视图窗口的高度。这样可以确保 化筒后的三维模型的纹理数据量同原始的纹理数据量的大小无关,只同视图窗 口的分辨率有关。 If the texture coordinates are to be normalized (for example, the texture coordinate of the OpenGL 3D engine is required to be normalized between 0 and 1), the method further includes: normalizing the texture coordinates corresponding to the visible 3D model geometric data. Processing, dividing the abscissa of the texture coordinate by the view in the view control parameter The width of the window, the ordinate divided by the height of the view window in the view control parameter. This ensures that the amount of texture data of the three-dimensional model after the cylinder is independent of the size of the original texture data, and is only related to the resolution of the view window.
根据所述视图控制参数和三维模型几何数据,将可见的三维模型纹理数据 合成为合成纹理的过程包括:  The process of synthesizing the visible three-dimensional model texture data into a synthetic texture according to the view control parameter and the three-dimensional model geometric data includes:
依据所述视图控制参数绘制所述可见的三维模型数据,生成与所述视图控 制参数对应的外包矩形大小相同的图像;  And drawing the visible three-dimensional model data according to the view control parameter, and generating an image of the same size of the outer envelope corresponding to the view control parameter;
确定所述图像为所述可见的三维模型纹理数据的合成纹理。  The image is determined to be a composite texture of the visible three-dimensional model texture data.
本发明实施例所公开的三维模型数据处理方法中,并不限定三维模型为为 三角网三维模型,也可以为其他任何三维模型, 其采用的消隐算法也并不限定 为 Roberts算法或 Z- buffer算法, 同样可以采用其他类型的消隐算法, 或采用 将物体空间和图像空间的消隐算法相结合的算法, 或者其他算法,任何三维模 型以及任何能够实现依据视图控制参数分析三维模型数据,能分析出在所述视 图控制参数对应的视图窗口中可见的三维模型数据的算法同样适合本发明。  In the three-dimensional model data processing method disclosed in the embodiment of the present invention, the three-dimensional model is not limited to a three-dimensional model of a triangulation network, and may be any other three-dimensional model, and the blanking algorithm adopted by the embodiment is not limited to the Roberts algorithm or Z- The buffer algorithm can also use other types of blanking algorithms, or an algorithm that combines object space and image space blanking algorithms, or other algorithms, any three-dimensional model and any data that can be analyzed based on view control parameters. An algorithm that can analyze the three-dimensional model data visible in the view window corresponding to the view control parameter is also suitable for the present invention.
本发明同时公开了一种三维模型数据化筒装置, 其结构如图 10所示, 包 括:  The invention also discloses a three-dimensional model data cylinder device, the structure of which is shown in FIG. 10, which includes:
参数设定模块 101 , 用于设定与视图窗口对应的视图控制参数, 所述视图 控制参数至少包括: 视图窗口的外包矩形、 视点参数和投影参数;  The parameter setting module 101 is configured to set a view control parameter corresponding to the view window, where the view control parameter includes at least: an outsourcing rectangle, a view point parameter, and a projection parameter of the view window;
分析获取模块 102, 用于依据所述视图控制参数分析三维模型数据, 获取 在所述视图窗口中可见的三维模型数据;  The analysis obtaining module 102 is configured to analyze the three-dimensional model data according to the view control parameter, and obtain the three-dimensional model data visible in the view window;
确定模块 103 , 用于确定所述在视图窗口中可见的三维模型数据为化筒后 数据。  The determining module 103 is configured to determine the three-dimensional model data that is visible in the view window as post-initial data.
具体的, 针对不同的类型的消隐算法,  Specifically, for different types of blanking algorithms,
当消隐算法为图象空间的消隐算法时, 所述分析获取模块包括: 坐标变换单元, 用于依据预先设定的所述视图控制参数,将所述三维模型 数据的原始坐标变换得到所述视图窗口的视图坐标,所述视图窗口利用数据结 构依照所述预先设定的所述视图控制参数进行表达;  When the blanking algorithm is the image space blanking algorithm, the analysis obtaining module includes: a coordinate transformation unit, configured to convert the original coordinate of the three-dimensional model data according to the preset view control parameter View coordinates of the view window, the view window being expressed by the data structure according to the preset view control parameter;
消隐分析单元, 用于消隐分析所述坐标变换后的三维模型数据; 化筒单元, 用于依据所述消隐分析的结果,化筒所述坐标变换前的三维模 型数据,获取化筒后的三维模型数据作为在所述视图窗口中可见的三维模型数 据。 a blanking analysis unit, configured to blank-analyze the coordinate-transformed three-dimensional model data; a chemical tube unit, configured to perform a three-dimensional mode before the coordinate transformation according to the result of the blanking analysis Type data, the three-dimensional model data after the cylinder is acquired as the three-dimensional model data visible in the view window.
本实施例公开的三维模型数据化筒装置的执行过程为对应于上述本发明 实施例所公开的方法实施例流程, 为较佳的装置实施例, 其具体执行过程可参 见上述方法实施例, 在此不再赘述。  The execution process of the three-dimensional model data-cylinder device disclosed in this embodiment is a flow of the method embodiment corresponding to the embodiment of the present invention, which is a preferred device embodiment. For the specific implementation process, refer to the foregoing method embodiment. This will not be repeated here.
本实施例公开的三维模型数据化筒装置,通过利用预先设定的视图控制参 数分析三维模型数据,将在与视图控制参数对应的视图窗口下不可见的三维模 型数据舍去, 减小了数据传输过程中的数据量, 提高了数据传输速度。  The three-dimensional model data cylinder device disclosed in the embodiment reduces the data of the three-dimensional model data that is invisible under the view window corresponding to the view control parameter by analyzing the three-dimensional model data by using the preset view control parameter. The amount of data in the transmission process increases the data transmission speed.
本发明公开的三维模型数据化筒装置可以设置在计算机内,也可以设置在 手机或其他设备内。其既可以设置在服务器端,在将客户端请求的数据发送之 前, 首先对三维模型数据进行化筒处理, 也可将其设置在客户端, 在将其发送 到实际的视图窗口前, 将数据进行处理, 或者同时设置在服务器和客户端, 根 据实际情况选择由哪一方或者双方共同进行处理。 本发明同时公开了一种基于上述三维模型数据化筒方法的三维模型数据 渐进传输方法。 以视图的角度, 用于显示三维模型的视图窗口大小确定的情况 下, 因为视图窗口能显示的像素总数就固定了, 因此无论多海量的三维模型数 据,在视图窗口上能够被显示出来的三维模型数据的最大数量是固定的, 即用 于填充完视图窗口的全部像素所需的可见三维模型数据是固定的,因此当客户 端向服务器端请求三维模型数据进行显示时,服务器端只需要将在客户端显示 时可见的并且客户端没有的三维模型数据 (增量数据)传送给客户端即可。  The three-dimensional model data cartridge device disclosed in the present invention may be disposed in a computer or in a mobile phone or other device. It can be set on the server side, before the data requested by the client is sent, the 3D model data is first processed, or it can be set on the client, and the data is sent before being sent to the actual view window. The processing is performed, or both at the server and the client, and depending on the actual situation, which party or both parties are jointly processed. The invention also discloses a three-dimensional model data progressive transmission method based on the above three-dimensional model data cylinder method. In the case of the view view, the size of the view window used to display the 3D model is determined, because the total number of pixels that can be displayed by the view window is fixed, so no matter how massive the 3D model data is, the 3D can be displayed on the view window. The maximum number of model data is fixed, that is, the visible 3D model data required to fill all the pixels of the view window is fixed, so when the client requests the 3D model data for display to the server, the server only needs to The 3D model data (incremental data) that is visible on the client display and not available to the client is transmitted to the client.
本发明公开的三维模型数据渐进传输方法,依据上述原理, 利用增量数据 请求发送端的视图控制参数获取增量数据,保证了数据的无损显示, 缩小了数 据传输量, 降低了算法复杂度。 其具体实施方案如下所述:  According to the above principle, the incremental data transmission method of the three-dimensional model data disclosed by the present invention uses the view control parameter of the incremental data requesting end to obtain the incremental data, thereby ensuring the lossless display of the data, reducing the data transmission amount and reducing the complexity of the algorithm. The specific implementation scheme is as follows:
首先,从增量数据请求发送端的角度对该方法进行详细描述, 本实施例公 开的三维模型数据渐进传输方法的流程如图 11所示, 包括:  First, the method is described in detail from the perspective of the sender of the incremental data request. The process of the progressive transmission method of the three-dimensional model data disclosed in this embodiment is as shown in FIG. 11, and includes:
步骤 Sl l l、 当需要请求增量数据时, 请求发送端发送增量数据请求, 所 述增量数据请求中至少包含视图控制参数, 所述视图控制参数至少包括: 当前 视图控制参数; 当请求发送端判断出需要请求增量数据时,向请求接收端发送增量数据请 求, 在请求中至少包含请求发送端的当前视图控制参数。 Step S111: When the incremental data needs to be requested, the requesting end sends an incremental data request, where the incremental data request includes at least a view control parameter, and the view control parameter includes at least: a current view control parameter; When the requesting end determines that the incremental data needs to be requested, the requesting receiving end sends an incremental data request, where the request includes at least the current view control parameter of the requesting sending end.
所述当前视图控制参数就是请求发送端当前的用于显示增量数据的视图 窗口所对应的视图控制参数。  The current view control parameter is a view control parameter corresponding to a view window of the current sending end for displaying the incremental data.
所述视图控制参数包括: 视图窗口的外包矩形, 视点参数和投影参数; 所 述视点参数包括视点在世界坐标系中的位置、视点所观察的目标位置和虚拟照 相机向上的向量; 所述投影参数包括: 正交投影和透视投影; 或者是通过上述 参数得到的视图矩阵和投影矩阵。  The view control parameter includes: an outsourcing rectangle of the view window, a viewpoint parameter and a projection parameter; the viewpoint parameter includes a position of the viewpoint in the world coordinate system, a target position observed by the viewpoint, and a vector of the virtual camera upward; the projection parameter Including: orthogonal projection and perspective projection; or the view matrix and projection matrix obtained by the above parameters.
如果所述请求中除了视图控制参数还含有其他内容,还需要依据所述请求 中包含的其他内容进行分析后获得增量数据。  If the request contains other content in addition to the view control parameter, it is also necessary to obtain incremental data according to other contents included in the request.
此时,如果请求发送端没有緩存在先化筒的三维模型数据, 则此时的视图 控制参数只包括: 请求发送端的当前视图控制参数。请求接收端依据上述参数 获取到增量数据。  At this time, if the requesting sender does not cache the 3D model data of the pre-bubble, the view control parameter at this time only includes: the current view control parameter of the requesting sender. The request receiving end obtains the incremental data according to the above parameters.
当所述请求发送端緩存有在先化筒三维模型数据,并且在请求接收端没有 记录所述请求发送端緩存的在先化筒三维模型数据的标识号时,所述增量数据 请求还包括: 在先化筒后三维模型数据的标识号, 和 /或所述视图控制参数还 包括: 在先视图控制参数,请求接收端根据请求发送端发送的先化筒后三维模 型数据的标识号和 /或在先视图控制参数, 以及当前视图控制参数获得增量数 据。  When the request sending end caches the priorized three-dimensional model data, and the request receiving end does not record the identification number of the priorized three-dimensional model data buffered by the requesting sending end, the incremental data request further includes The identification number of the three-dimensional model data after the pre-synthesis tube, and/or the view control parameter further includes: a prior view control parameter, requesting the receiving end to identify the identification number of the three-dimensional model data after the pre-synchronization cylinder sent by the requesting end / or the prior view control parameters, as well as the current view control parameters, to obtain incremental data.
所述在先视图控制参数就是请求发送端相对于本次发送增量数据请求的 情况而言的上一次发送请求增量数据时所对应的当前视图控制参数,即请求发 送端上一次请求增量数据时,显示三维模型数据的视图窗口所对应的视图控制 参数。  The previous view control parameter is a current view control parameter corresponding to the last time the request sender sends the incremental data request for the incremental data request, that is, the request sender sends the last request increment. When the data is displayed, the view control parameters corresponding to the view window of the three-dimensional model data are displayed.
当请求发送端需要发送在先化筒后三维模型数据的标识号给请求接收端 时,可以在请求发送端依据请求发送端的当前视图控制参数通过化筒分析所述 请求发送端緩存的三维模型数据来获得在当前视图控制参数所对应的视图窗 口中已经存在的可见三维模型数据的标识号,作为所述在先化筒后三维模型数 据的标识号发送给请求接收端, 这样可以减少传输的数据量。  When the requesting sender needs to send the identification number of the three-dimensional model data to the request receiving end, the requesting sending end may analyze the three-dimensional model data buffered by the requesting sending end through the chemical cylinder according to the current view control parameter of the requesting sending end. Obtaining an identification number of the visible three-dimensional model data that is already present in the view window corresponding to the current view control parameter, and sending the identification number of the three-dimensional model data as the priorizing cylinder to the request receiving end, thereby reducing the transmitted data. the amount.
如果请求发送端緩存有在先化筒三维模型数据并且在请求接收端也记录 了所述请求发送端緩存的在先化筒三维模型数据的标识号,则发送的请求中只 包含请求发送端的当前视图控制参数,请求接收端根据当前视图控制参数以及 自身记录的所述请求发送端緩存的在先化筒三维模型数据的标识号,获得增量 数据。 If the requesting sender caches the prior art three-dimensional model data and also records at the request receiving end The request number sent by the request sender is buffered, and the sent request includes only the current view control parameter of the request sender, and the request receiver sends according to the current view control parameter and the request recorded by itself. The identification number of the three-dimensional model data of the prior stream is obtained by the end buffer, and the incremental data is obtained.
如果请求发送端緩存有所有从请求接收端传输过来的三维模型数据并且 在请求接收端没有记录所述请求发送端緩存的所有三维模型数据的标识号,则 发送的请求中除了包含请求发送端的当前视图控制参数外,还要包括请求发送 端緩存的三维模型数据中在所述请求发送端当前视图窗口中可见的三维模型 数据的标识号,请求接收端根据当前视图控制参数以及所述请求发送端緩存的 三维模型数据中在当前在视图窗口中可见的三维模型数据的标识号获得增量 数据。  If the requesting sender caches all the three-dimensional model data transmitted from the request receiving end and does not record the identification number of all the three-dimensional model data buffered by the requesting sender at the request receiving end, the transmitted request includes the current requesting sender. In addition to the view control parameter, the identifier of the three-dimensional model data visible in the current view window of the request sending end in the three-dimensional model data buffered by the requesting end is requested, and the request receiving end controls the parameter according to the current view and the request sending end. In the cached 3D model data, the identification number of the 3D model data currently visible in the view window is obtained as incremental data.
所述请求发送端緩存的三维模型数据中在所述请求发送端当前视图窗口 中可见的三维模型数据的标识号,是通过依据所述当前视图控制参数通过化筒 分析所述请求发送端緩存的三维模型数据来获得的。  The identification number of the three-dimensional model data visible in the current view window of the request sending end in the three-dimensional model data cached by the requesting end is analyzed by analyzing the request sending end buffer according to the current view control parameter 3D model data to get.
如果请求发送端緩存有所有从请求接收端传输过来的三维模型数据并且 在请求接收端记录了所述请求发送端緩存的所有三维模型数据的标识号,则发 送的请求中只包含请求发送端的当前视图控制参数,请求接收端根据当前视图 控制参数以及自身记录的所述请求发送端緩存的三维模型数据的标识号,获得 增量数据。 步骤 S112、 接收请求接收端发送的增量数据, 所述增量数据为所述请求 发送端依据所述视图控制参数分析三维模型数据,获取在所述当前视图控制参 数对应的视图窗口中可见的三维模型数据,并依据所述视图控制参数进行分析 后获得的。  If the requesting sender caches all the three-dimensional model data transmitted from the request receiving end and records the identification number of all the three-dimensional model data buffered by the requesting sender at the request receiving end, the sent request only includes the current requesting sender. The view control parameter, the request receiving end obtains the incremental data according to the current view control parameter and the identification number of the three-dimensional model data cached by the requesting end of the request. Step S112: Receive incremental data sent by the request receiving end, where the incremental data is that the request sending end analyzes the three-dimensional model data according to the view control parameter, and obtains the visible view window corresponding to the current view control parameter. The three-dimensional model data is obtained after analysis based on the view control parameters.
请求接收端在接收到增量数据请求后,依据本发明所公开的三维模型数据 化筒方法对三维模型数据进行化筒, 并从化筒后的数据中获取出增量数据,发 送给请求发送端。  After receiving the incremental data request, the request receiving end performs the three-dimensional model data according to the three-dimensional model dataization cylinder method disclosed in the present invention, and obtains the incremental data from the data after the chemical cylinder, and sends the incremental data to the request transmitting end. .
进一步的,如果在请求发送端緩存有所有从请求接收端传输过来的三维模 型数据,将所述增量数据插入所述请求发送端緩存的三维模型数据中实现数据 重建;而如果在请求发送端只緩存上一次从所述请求接收端传输过来在先三维 模型数据,则将緩存的在先三维模型数据释放掉,将本次的增量数据进行緩存, 如果在请求发送端的视图控制参数中包含在先视图控制参数,则用当前视图控 制参数替换掉在先视图控制参数。 Further, if all three-dimensional model data transmitted from the request receiving end is cached at the requesting end, the incremental data is inserted into the three-dimensional model data buffered by the requesting sending end to implement data. Rebuilding; if the requesting sender only caches the previous 3D model data transmitted from the request receiving end, the cached previous 3D model data is released, and the current incremental data is cached, if If the view control parameter of the requesting sender includes the previous view control parameter, the previous view control parameter is replaced with the current view control parameter.
本实施例公开的三维模型数据渐进传输方法中,请求发送端在发送增量数 据请求时,在请求中携带有当前需要进行显示的视图窗口的视图控制参数,使 得请求接收端可以依据所述视图控制参数,查找到符合当前视图窗口的增量数 据, 进行传输, 保证了查找到的增量数据能够无损显示的同时, 减小了数据传 输量, 提高了数据传输效率。  In the progressive transmission method of the three-dimensional model data disclosed in the embodiment, when the requesting sender sends the incremental data request, the request carries the view control parameter of the view window that needs to be displayed, so that the request receiving end can view the view according to the view. Control parameters, find incremental data that matches the current view window, and transmit, ensuring that the found incremental data can be displayed without loss, reducing the amount of data transmission and improving data transmission efficiency.
本发明实施例公开的又一三维模型数据渐进传输方法的流程如图 12 所 示, 包括:  Another flow of the three-dimensional model data progressive transmission method disclosed in the embodiment of the present invention is shown in FIG. 12, and includes:
步骤 S121、 接收请求发送端发送的增量数据请求, 所述增量数据请求中 至少包含视图控制参数, 所述视图控制参数至少包括: 当前视图控制参数; 本实施例公开的三维模型数据渐进传输方法适用于请求接收端。其接收的 数据增量请求中包含的内容与图 11所示实施例中所述的请求中包含的内容相 对应。 同样可以包括緩存的在先化筒后三维模型数据标识号, 和 /或所述视图 参数中还包括: 在先视图控制参数,依据先化筒后三维模型数据标识号或在先 视图控制参数获得在先化筒后的三维模型数据, 以用于后续的增量数据分析。  Step S121: Receive an incremental data request sent by the requesting end, where the incremental data request includes at least a view control parameter, where the view control parameter includes at least: a current view control parameter; and the progressive transmission of the three-dimensional model data disclosed in this embodiment The method is applicable to the requesting end. The content contained in the received data delta request corresponds to the content contained in the request described in the embodiment shown in FIG. The three-dimensional model data identification number may also be included in the cached prior stream, and/or the view parameter further includes: the prior view control parameter is obtained according to the first-dimensional post-dimensional three-dimensional model data identification number or the prior view control parameter. The 3D model data after the cartridge is used for subsequent incremental data analysis.
步骤 S122、 依据所述视图控制参数分析三维模型数据, 获取在所述视图 控制参数对应的视图窗口中可见的三维模型数据;  Step S122: Analyze the three-dimensional model data according to the view control parameter, and obtain the three-dimensional model data that is visible in the view window corresponding to the view control parameter;
步骤 S123、 确定所述在视图窗口中可见的三维模型数据为化筒后数据; 上述步骤的具体实现过程可以参考本发明三维模型数据化筒方法实施例 中所公开的化筒方法, 具体内容不再赘述。  Step S123, determining that the three-dimensional model data visible in the view window is the data of the cylinder; the specific implementation process of the foregoing steps may refer to the method of the cylinder disclosed in the embodiment of the three-dimensional model data cylinder of the present invention, and the specific content is not Let me repeat.
步骤 S124、 分析所述化筒后数据, 确定符合增量条件的三维模型数据为 增量数据;  Step S124: Analyze the data after the cylinder, and determine that the three-dimensional model data that meets the incremental condition is incremental data;
步骤 S125、 发送所述增量数据给所述请求发送端。  Step S125: Send the incremental data to the request sending end.
本实施例公开的三维模型数据渐进传输方法中,请求接收端依据请求发送 端的视图控制参数获取增量数据,使得请求接收端只将在请求发送端所述当前 的视图控制参数所限定的视图窗口中可见的并且符合增量条件的数据发送给 请求发送端。该方法中,对三维模型数据的分析过程依据增量数据请求中的视 图控制参数进行, 即以请求发送端的当前的实际显示视图窗口为基础,从而实 现了获得的增量数据能够在请求发送端进行无损显示,同时只将增量数据进行 传输, 大大缩减了数据传输量, 提高了数据传输效率。 In the progressive transmission method of the three-dimensional model data disclosed in the embodiment, the request receiving end acquires the incremental data according to the view control parameter of the requesting sender, so that the request receiving end only uses the view window defined by the current view control parameter at the requesting sending end. Data visible in the increment condition and sent to Request the sender. In the method, the analysis process of the three-dimensional model data is performed according to the view control parameter in the incremental data request, that is, based on the current actual display view window of the requesting sender, thereby realizing that the obtained incremental data can be at the request sending end. Performing lossless display and transmitting only incremental data greatly reduces the amount of data transmission and improves data transmission efficiency.
如果所述请求中除了视图控制参数还含有其他内容,还需要依据所述请求 中包含的其他内容进行分析后获得增量数据。基于上述情况, 本发明公开的又 一三维模型数据渐进传输方法的流程如图 13所示:  If the request contains other content in addition to the view control parameter, it is also necessary to obtain incremental data according to other contents included in the request. Based on the above situation, the flow of the further progressive transfer method of the three-dimensional model data disclosed in the present invention is as shown in FIG. 13:
步骤 S131、 接收请求发送端发送的增量数据请求, 所述增量数据请求中 包括: 在先化筒后三维模型数据标识号和视图控制参数, 所述视图控制参数至 少包括: 当前视图控制参数;  Step S131: Receive an incremental data request sent by the requesting sender, where the incremental data request includes: a three-dimensional model data identification number and a view control parameter after the pre-forwarding, the view control parameter at least: the current view control parameter ;
当所述请求发送端緩存有从请求接受端传输过来的三维模型数据,并且在 请求接收端没有记录所述请求发送端緩存的在先化筒三维模型数据的标识号 时, 所述增量数据请求中还包括: 在先化筒后三维模型数据的标识号。  When the request sending end caches the three-dimensional model data transmitted from the request accepting end, and the request receiving end does not record the identification number of the priorized three-dimensional model data buffered by the requesting sending end, the incremental data The request also includes: The identification number of the 3D model data after the priorization cylinder.
步骤 S132、 依据所述当前视图控制参数分析所述三维模型数据, 获取在 所述当前视图控制参数对应的视图窗口中可见的三维模型数据;  Step S132: Analyze the three-dimensional model data according to the current view control parameter, and obtain three-dimensional model data that is visible in a view window corresponding to the current view control parameter;
步骤 S133、 确定所述在当前视图控制参数对应的视图窗口中可见的三维 模型数据为当前化筒后数据;  Step S133: Determine that the three-dimensional model data that is visible in the view window corresponding to the current view control parameter is the current data of the currentization tube;
步骤 S134、 将所述当前化筒后数据中和所述增量数据请求中在先化筒后 三维模型数据的标识号所对应的三维模型数据相同的部分舍去;  Step S134: Rounding off the same part of the three-dimensional model data corresponding to the identification number of the three-dimensional model data after the priorizing cylinder in the data of the currentization cylinder and the incremental data request;
步骤 S135、 确定剩余的三维模型数据作为增量数据;  Step S135: Determine remaining 3D model data as incremental data;
步骤 S136、 发送所述增量数据给所述请求发送端。  Step S136: Send the incremental data to the request sending end.
本实施例公开的方法,尤其适用于在请求发送端只緩存了本次三维场景的 上一个的三维场景中视图窗口显示的三维模型数据的情况。由于请求中包含了 在先化筒后三维模型数据的标识号,所以需要依据该在先化筒后三维模型数据 的标识号获得在先化筒后的数据,再将此数据与当前化筒结果进行对比, 以获 得增量数据。 同样,本发明公开的又一三维模型数据渐进传输方法的流程如图 14所示, 包括: 步骤 S141、 接收请求发送端发送的增量数据请求, 所述增量数据请求中 包括: 至少包括视图控制参数, 所述视图控制参数包括: 当前视图控制参数和 在先视图控制参数; The method disclosed in this embodiment is particularly applicable to the case where the requesting sender only caches the three-dimensional model data displayed in the view window in the previous three-dimensional scene of the current three-dimensional scene. Since the request contains the identification number of the three-dimensional model data after the priorizing cylinder, it is necessary to obtain the data after the priorizing cylinder according to the identification number of the three-dimensional model data after the priorizing cylinder, and then the data and the current cylinder result Compare to get incremental data. Similarly, the flow of the third-dimensional model data progressive transmission method disclosed in the present invention is as shown in FIG. 14, and includes: Step S141: Receive an incremental data request sent by the requesting end, where the incremental data request includes: at least a view control parameter, where the view control parameter includes: a current view control parameter and a prior view control parameter;
当所述请求发送端緩存有在先化筒三维模型数据并且在请求接收端没有 记录所述请求发送端緩存的在先化筒三维模型数据的标识号时,所述视图控制 参数中还包括: 在先视图控制参数。  The view control parameter further includes: when the request sending end caches the prior art three-dimensional model data and does not record the identification number of the pre-formed three-dimensional model data of the request sending end buffer at the request receiving end, the view control parameter further includes: The previous view controls the parameters.
依据所述视图控制参数分析三维模型数据,获取在所述视图控制参数对应 的视图窗口中可见的三维模型数据的过程如步骤 S 142和 S143所示,即分别依 据在先视图控制参数和当前视图控制参数对三维模型数据进行化筒,得到可见 的三维模型数据。  The process of analyzing the three-dimensional model data according to the view control parameter, and acquiring the three-dimensional model data visible in the view window corresponding to the view control parameter is as shown in steps S 142 and S143, that is, according to the prior view control parameter and the current view, respectively. The control parameters are used to normalize the 3D model data to obtain visible 3D model data.
步骤 S142、 依据所述当前视图控制参数分析所述三维模型数据, 获取在 所述当前视图控制参数对应的视图窗口中可见的三维模型数据;  Step S142: Analyze the three-dimensional model data according to the current view control parameter, and obtain three-dimensional model data that is visible in a view window corresponding to the current view control parameter;
步骤 S143、 依据所述在先视图控制参数分析所述三维模型数据, 获取在 所述在先视图控制参数对应的视图窗口中可见的三维模型数据;  Step S143: Analyze the three-dimensional model data according to the previous view control parameter, and obtain three-dimensional model data that is visible in a view window corresponding to the previous view control parameter;
确定所述在视图窗口中可见的三维模型数据为化筒后数据的过程如步骤 S144和 S 145所示。  The process of determining the three-dimensional model data visible in the view window as the post-synthesis data is as shown in steps S144 and S145.
步骤 S144、 确定所述在当前视图控制参数对应的视图窗口中可见的三维 模型数据为当前化筒后数据;  Step S144: Determine that the three-dimensional model data that is visible in the view window corresponding to the current view control parameter is the data of the currentization tube;
步骤 S145、 确定所述在在先视图控制参数对应的视图窗口中可见的三维 模型数据为在先化筒后数据。  Step S145: Determine that the three-dimensional model data visible in the view window corresponding to the previous view control parameter is the data after the priorization.
步骤 S146、 确定在所述当前化筒后数据中, 且不在所述在先化筒后数据 中的三维模型数据为增量数据;  Step S146, determining that the three-dimensional model data in the data of the currentization cylinder and not in the data of the priorization cylinder is incremental data;
步骤 S147、 发送所述增量数据给所述请求发送端。  Step S147: Send the incremental data to the request sending end.
本实施例公开的三维模型数据渐进传输方法,同样适用于在请求发送端只 緩存了本次三维场景的上一个的三维场景中视图窗口显示的三维模型数据的 情况。 由于请求中包含了在先视图控制参数, 所以需要依据该参数获得在先化 筒后的数据, 再将此数据与当前化筒结果进行对比, 以获得增量数据。 并且, 由于其传输过程中的在先视图控制参数的数据量要小于在先化筒后緩存的三 维模型数据标识号的数据量, 所以在一定程度上减小了数据传输量,提高了数 据传输效率。 The method for progressively transmitting the three-dimensional model data disclosed in this embodiment is also applicable to the case where only three-dimensional model data displayed in the view window in the previous three-dimensional scene of the current three-dimensional scene is cached on the request sending end. Since the previous view control parameter is included in the request, the data after the priorizer is obtained according to the parameter, and the data is compared with the current tube result to obtain the incremental data. Moreover, since the data amount of the previous view control parameter in the transmission process is smaller than the data amount of the three-dimensional model data identification number buffered after the priorization cylinder, the data transmission amount is reduced to some extent, and the number is increased. According to transmission efficiency.
进一步的,本发明实施例公开的又一三维模型数据渐进传输方法的流程如 图 15所示, 包括:  Further, the flow of the third-dimensional model data progressive transmission method disclosed in the embodiment of the present invention is as shown in FIG. 15, and includes:
步骤 S151、 接收请求发送端发送的增量数据请求, 所述增量数据请求中 包括: 至少包括视图控制参数, 所述视图控制参数包括: 当前视图控制参数; 步骤 S152、 依据所述当前视图控制参数分析所述三维模型数据, 获取在 所述当前视图控制参数对应的视图窗口中可见的三维模型数据;  Step S151: Receive an incremental data request sent by the requesting end, where the incremental data request includes: at least a view control parameter, where the view control parameter includes: a current view control parameter; Step S152, according to the current view control Parameter analyzing the three-dimensional model data, and acquiring three-dimensional model data visible in a view window corresponding to the current view control parameter;
步骤 S153、 确定所述在当前视图控制参数对应的视图窗口中可见的三维 模型数据为当前化筒后数据;  Step S153: Determine that the three-dimensional model data that is visible in the view window corresponding to the current view control parameter is the data of the currentization tube;
步骤 S154、 将所述化筒后的数据中, 与请求接收端保存的所述请求发送 端所緩存的三维模型数据的标识号所对应的数据相同的部分舍去;  Step S154: Rounding off the same data as the data corresponding to the identification number of the three-dimensional model data buffered by the requesting sender stored in the data received by the request receiving end;
步骤 S155、 确定剩余的三维模型数据作为增量数据;  Step S155, determining remaining three-dimensional model data as incremental data;
步骤 S156、 发送所述增量数据给所述请求发送端。  Step S156: Send the incremental data to the request sending end.
本实施例公开的三维模型数据渐进传输方法,所述请求接收端记录有所述 请求发送端緩存的三维模型数据的标识号, 因此, 只需将当前视图控制参数传 输给所述请求接收端。  In the progressive transmission method of the three-dimensional model data disclosed in this embodiment, the request receiving end records the identification number of the three-dimensional model data buffered by the requesting sender, and therefore, only the current view control parameter needs to be transmitted to the request receiving end.
本发明实施例公开的三维模型数据渐进传输方法中,其化筒方法可以为本 发明实施例公开的任意一种三维模型数据化筒方法, 在此并不限定。  The three-dimensional model data progressiveization method disclosed in the embodiment of the present invention may be any three-dimensional model dataization cylinder method disclosed in the embodiments of the present invention, which is not limited herein.
本发明同时公开了一种三维模型数据渐进传输装置,其结构如图 16所示, 包括:  The invention also discloses a three-dimensional model data progressive transmission device, the structure of which is shown in FIG. 16, and includes:
请求发送模块 161 , 用于当需要请求增量数据时, 请求发送端发送增量数 据请求, 所述增量数据请求中至少包含视图控制参数, 所述视图控制参数至少 包括: 当前视图控制参数;  The request sending module 161 is configured to: when the incremental data needs to be requested, the requesting sending end sends an incremental data request, where the incremental data request includes at least a view control parameter, and the view control parameter includes at least: a current view control parameter;
增量数据接收模块 162 , 用于接收请求接收端发送的增量数据, 所述增量 数据为所述请求发送端依据所述视图控制参数分析三维模型数据,获取在所述 当前视图控制参数对应的视图窗口中可见的三维模型数据,并依据所述视图控 制参数进行分析后获得的。  The incremental data receiving module 162 is configured to receive the incremental data sent by the requesting receiving end, where the incremental data is used by the requesting sending end to analyze the three-dimensional model data according to the view control parameter, and obtain the corresponding control parameter in the current view. The 3D model data visible in the view window is obtained after analysis based on the view control parameters.
本实施例公开的三维模型数据渐进传输装置可以作为客户端。  The three-dimensional model data progressive transmission device disclosed in this embodiment can be used as a client.
进一步的,当请求发送端緩存有所有从请求接收端传输过来的三维模型数 据时, 还包括: 插值模块, 用于将所述增量数据插入所述请求发送端緩存的三 维模型数据中实现数据重建。 Further, when the requesting sender caches all the three-dimensional model numbers transmitted from the request receiving end According to the time, the method further includes: an interpolation module, configured to insert the incremental data into the three-dimensional model data buffered by the request sending end to implement data reconstruction.
当请求发送端只緩存上一次从所述请求接收端传输过来在先三维模型数 据时, 还包括:  When the requesting sender only caches the previous three-dimensional model data transmitted from the request receiving end, the method further includes:
数据替换模块, 用于将緩存的在先三维模型数据释放,将本次的增量数据 进行緩存;  a data replacement module, configured to release the cached previous three-dimensional model data, and cache the current incremental data;
而当所述视图控制参数中包含在先视图控制参数时, 还包括:  When the view control parameter includes the previous view control parameter, the method further includes:
参数替换模块, 用于用所述当前视图控制参数替换所述在先视图控制参 数。  And a parameter replacement module, configured to replace the previous view control parameter with the current view control parameter.
本实施例公开的三维模型数据渐进传输装置的执行过程为对应于上述本 发明实施例所公开的图 11所示方法实施例流程, 为较佳的装置实施例, 其具 体执行过程可参见但不限于上述方法实施例, 具体的处理过程在此不再赘述。  The execution process of the three-dimensional model data progressive transmission device disclosed in this embodiment is a flow corresponding to the method embodiment shown in FIG. 11 disclosed in the foregoing embodiment of the present invention, which is a preferred device embodiment, and the specific execution process can be seen but not It is limited to the foregoing method embodiments, and specific processing procedures are not described herein again.
相对应的, 本发明公开了另一三维模型数据渐进传输装置, 其结构如图 17所示, 包括:  Correspondingly, the present invention discloses another three-dimensional model data progressive transmission device, and its structure is as shown in FIG. 17, which includes:
请求接收模块 171 , 用于接收请求发送端发送的增量数据请求, 所述增量 数据请求中至少包含视图控制参数, 所述视图控制参数至少包括: 当前视图控 制参数;  The request receiving module 171 is configured to receive an incremental data request sent by the requesting sender, where the incremental data request includes at least a view control parameter, and the view control parameter includes at least: a current view control parameter;
获取模块 172, 用于依据所述视图控制参数分析三维模型数据, 获取在所 述视图控制参数对应的视图窗口中可见的三维模型数据;  The obtaining module 172 is configured to analyze the three-dimensional model data according to the view control parameter, and obtain three-dimensional model data that is visible in a view window corresponding to the view control parameter;
确定模块 173 , 用于确定所述在视图窗口中可见的三维模型数据为化筒后 数据;  a determining module 173, configured to determine that the three-dimensional model data visible in the view window is post-initial data;
分析模块 174, 用于分析所述化筒后数据, 确定符合增量条件的三维模型 数据为增量数据;  An analysis module 174, configured to analyze the data after the cylinder, and determine that the three-dimensional model data that meets the incremental condition is incremental data;
增量数据发送模块 175 , 用于发送所述增量数据给所述请求发送端。  The incremental data sending module 175 is configured to send the incremental data to the request sending end.
本实施例公开的三维模型数据渐进传输装置可以作为服务器端,接收上一 实施例中客户端发送的增量数据请求。  The three-dimensional model data progressive transmission device disclosed in this embodiment can serve as a server end, and receives the incremental data request sent by the client in the previous embodiment.
本实施例公开的三维模型数据渐进传输装置的执行过程可以为,对应于本 发明实施例所公开的图 12-15中任意一图所示的方法实施例流程, 为较佳的装 置实施例, 其具体执行过程可参见但不限于上述方法实施例, 具体的处理过程 在此不再赘述。 The execution process of the three-dimensional model data progressive transmission device disclosed in this embodiment may be a flow corresponding to the method embodiment shown in any one of the figures 12-15 disclosed in the embodiment of the present invention, which is a preferred device embodiment. The specific implementation process can be referred to, but is not limited to the foregoing method embodiments, and the specific processing procedure. I will not repeat them here.
本发明实施例公开的三维模型数据渐进传输装置中,请求接收端依据请求 发送端的视图控制参数获取增量数据,使得请求接收端只将在请求发送端所述 当前的视图控制参数所对应的视图窗口中可见的并且符合增量条件的数据发 送给请求发送端。该方法中,对三维模型数据的分析过程依据增量数据请求中 的视图控制参数进行, 即以请求发送端的实际显示视图窗口为基础,从而实现 了获得的增量数据能够在请求发送端进行无损显示,同时只将增量数据进行传 输, 大大缩减了数据传输量, 提高了数据传输效率。  In the 3D model data progressive transmission device disclosed in the embodiment of the present invention, the request receiving end acquires the incremental data according to the view control parameter of the requesting sending end, so that the request receiving end only views the current view control parameter of the requesting sending end. Data visible in the window and meeting the incremental conditions is sent to the requesting sender. In the method, the analysis process of the three-dimensional model data is performed according to the view control parameter in the incremental data request, that is, based on the actual display view window of the requesting sender, so that the obtained incremental data can be performed at the request sending end. Display, only the incremental data is transmitted at the same time, which greatly reduces the amount of data transmission and improves the data transmission efficiency.
本发明公开的三维模型数据化筒装置可以设置在计算机内,也可以设置在 手机或其他设备内。  The three-dimensional model data cartridge device disclosed in the present invention may be disposed in a computer or in a mobile phone or other device.
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是 与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于 实施例公开的装置而言, 由于其与实施例公开的方法相对应, 所以描述的比较 筒单, 相关之处参见方法部分说明即可。  The various embodiments in the present specification are described in a progressive manner, and each embodiment focuses on differences from other embodiments, and the same similar parts between the various embodiments may be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the comparison is described, and the relevant part can be referred to the method part.
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例 的单元及算法步骤, 能够以电子硬件、 计算机软件或者二者的结合来实现, 为 了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描 述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于 技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来 使用不同方法来实现所描述的功能, 但是这种实现不应认为超出本发明的范 围。  A person skilled in the art will further appreciate that the elements and algorithm steps of the various examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware, computer software or a combination of both, in order to clearly illustrate the hardware and software. Interchangeability, the composition and steps of the various examples have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods for implementing the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处 理器执行的软件模块, 或者二者的结合来实施。软件模块可以置于随机存储器 ( RAM;)、内存、只读存储器( ROM )、电可编程 ROM、电可擦除可编程 ROM, 寄存器、 硬盘、 可移动磁盘、 CD-ROM, 或技术领域内所公知的任意其它形式 的存储介质中。  The steps of a method or algorithm described in connection with the embodiments disclosed herein can be implemented directly in hardware, a software module executed by a processor, or a combination of both. Software modules can be placed in random access memory (RAM;), internal memory, read only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or technical field Any other form of storage medium known.
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本 发明。 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见 的, 本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下, 在 其它实施例中实现。 因此, 本发明将不会被限制于本文所示的这些实施例, 而 是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。 The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be practiced without departing from the spirit or scope of the invention. Implemented in other embodiments. Therefore, the present invention is not intended to be limited to the embodiments shown herein, but the scope of the inventions

Claims

权 利 要 求 Rights request
1、 一种三维模型数据化筒方法, 其特征在于, 包括:  A method for digitizing a three-dimensional model, characterized in that it comprises:
设定与视图窗口对应的视图控制参数;  Setting a view control parameter corresponding to the view window;
依据所述视图控制参数分析三维模型数据,获取在所述视图窗口中可见的 三维模型数据;  And analyzing the three-dimensional model data according to the view control parameter, and acquiring the three-dimensional model data visible in the view window;
确定所述在视图窗口中可见的三维模型数据为化筒后数据。  Determining the three-dimensional model data visible in the view window as post-synaptic data.
2、 根据权利要求 1所述的方法, 其特征在于, 所述视图控制参数包括: 视图窗口的外包矩形,视点参数和投影参数; 所述视点参数包括视点在世界坐 标系中的位置、视点所观察的目标位置和虚拟照相机向上的向量; 所述投影参 数包括: 正交投影和透视投影;  2. The method according to claim 1, wherein the view control parameter comprises: an outsourcing rectangle of a view window, a viewpoint parameter and a projection parameter; the viewpoint parameter includes a position of the viewpoint in the world coordinate system, and a viewpoint Observed target position and vector of virtual camera up; the projection parameters include: orthogonal projection and perspective projection;
或者包括: 当前视图窗口的外包矩形、依据视点参数和投影参数获得的视 图矩阵和投影矩阵。  Or include: an outer rectangle of the current view window, a view matrix and a projection matrix obtained from viewpoint parameters and projection parameters.
3、 根据权利要求 2所述的方法, 其特征在于, 所述依据所述视图控制参 数分析三维模型数据, 获取在所述视图窗口中可见的三维模型数据的过程包 括:  The method according to claim 2, wherein the process of analyzing the three-dimensional model data according to the view control parameter to obtain the three-dimensional model data visible in the view window comprises:
依据所述视图控制参数分析三维模型数据,将三维模型数据中被自身所在 三维模型中的其他三维模型数据遮挡的三维模型数据舍去;  And analyzing the three-dimensional model data according to the view control parameter, and discarding the three-dimensional model data of the three-dimensional model data that is occluded by other three-dimensional model data in the three-dimensional model;
依据所述视图控制参数分析三维模型数据,将三维模型数据中被其它三维 模型的三维模型数据遮挡的三维模型数据舍去;  And analyzing the three-dimensional model data according to the view control parameter, and discarding the three-dimensional model data of the three-dimensional model data that is occluded by the three-dimensional model data of the other three-dimensional model;
依据所述视图控制参数,将剩余的三维模型数据中在所述在视图窗口中可 见的三维模型数据确定为化筒后数据。  According to the view control parameter, the three-dimensional model data visible in the view window in the remaining three-dimensional model data is determined as post-synthesis data.
4、 根据权利要求 3所述的方法, 其特征在于, 所述依据所述视图控制参 数分析三维模型数据,将三维模型数据中被自身所在三维模型中的其他三维模 型数据遮挡的三维模型数据舍去的过程包括:  The method according to claim 3, wherein the analyzing the three-dimensional model data according to the view control parameter, and omitting the three-dimensional model data of the three-dimensional model data in the three-dimensional model data of the three-dimensional model The process of going to include:
确定所述三维模型的某一个面为当前待处理面,确定所述当前待处理面上 任意一点为测试点;  Determining a certain surface of the three-dimensional model as a current to-be-processed surface, and determining that any point on the current to-be-processed surface is a test point;
计算所述测试点依据所述视点参数获得的视线矢量与所述测试点的外多 边形平面法向量间的夹角;  Calculating an angle between a line of sight vector obtained by the test point according to the viewpoint parameter and an outer polygon plane normal vector of the test point;
当所述夹角的余弦值大于等于 0时,确定所述当前待处理面为可见, 当所 述夹角的余弦值小于 0时,确定所述当前待处理面为不可见,将所述当前待处 理面对应的不可见三维模型数据舍去; When the cosine value of the included angle is greater than or equal to 0, determining that the current to-be-processed surface is visible, When the cosine value of the angle is less than 0, it is determined that the current to-be-processed surface is invisible, and the invisible three-dimensional model data corresponding to the current to-be-processed surface is discarded;
当所述三维模型中存在未处理面时,确定下一面为当前待处理面, 所述当 前待处理面上任意一点为测试点,返回执行计算所述测试点依据所述视点参数 获得的视线矢量与所述测试点的外多边形平面法向量间的夹角的步骤。  When there is an unprocessed surface in the three-dimensional model, it is determined that the next side is the current to-be-processed surface, and any point on the current to-be-processed surface is a test point, and the line of sight vector obtained by calculating the test point according to the viewpoint parameter is returned. The step of an angle with the outer polygon plane normal vector of the test point.
5、 根据权利要求 3所述的方法, 其特征在于, 依据所述视图控制参数分 析三维模型数据,将三维模型数据中被其它三维模型的三维模型数据遮挡的三 维模型数据舍去的过程包括:  The method according to claim 3, wherein the process of analyzing the three-dimensional model data according to the view control parameter and discarding the three-dimensional model data occluded by the three-dimensional model data of the other three-dimensional model data includes:
将所述三维模型数据按照距离视点由近及远的顺序进行排序;  Sorting the three-dimensional model data in order of distance and near distance;
按照由近及远的顺序依次分析所述三维模型数据,舍去被分析三维模型数 据之后的被遮挡住的三维模型数据。  The three-dimensional model data is sequentially analyzed in order of near and far, and the occluded three-dimensional model data after the analyzed three-dimensional model data is discarded.
6、 根据权利要求 1所述的方法, 其特征在于, 所述依据所述视图控制参 数分析三维模型数据, 获取在所述视图窗口中可见的三维模型数据的过程包 括:  The method according to claim 1, wherein the process of analyzing the three-dimensional model data according to the view control parameter to obtain the three-dimensional model data visible in the view window comprises:
依据预先设定的所述视图控制参数,将所述三维模型数据的原始坐标变换 得到所述视图窗口的视图坐标,所述视图窗口利用数据结构依照所述预先设定 的所述视图控制参数进行表示;  Performing, according to the preset view control parameter, the original coordinate of the three-dimensional model data to obtain view coordinates of the view window, where the view window is performed according to the preset view control parameter by using a data structure. Express
消隐分析所述坐标变换后的三维模型数据;  Blanking analysis of the coordinate transformed 3D model data;
依据所述消隐分析的结果, 化筒所述坐标变换前的三维模型数据; 获取化筒后的三维模型数据作为在所述视图窗口中可见的三维模型数据。 And calculating, according to the result of the blanking analysis, the three-dimensional model data before the coordinate transformation; and acquiring the three-dimensional model data after the cylinder as the three-dimensional model data visible in the view window.
7、 根据权利要求 6所述的方法, 其特征在于, 所述视图窗口利用数据结 构依据所述视图控制参数进行表示的过程包括: The method according to claim 6, wherein the process of the view window being represented by the data structure according to the view control parameter comprises:
依据视图控制参数用栅格数据结构来表示视图窗口的像素,所述像素为视 图窗口平面划分成的均匀网格单元,所述像素为栅格数据中的基本信息存储单 元,所述像素的坐标位置依据所述像素在所述视图窗口中对应的行号和列号确 定;  Depending on the view control parameter, the pixel of the view window is represented by a raster data structure, the pixel is a uniform mesh unit divided into a view window plane, and the pixel is a basic information storage unit in the raster data, and the coordinates of the pixel Position is determined according to a corresponding row number and column number of the pixel in the view window;
设定用于表示像素对应的三维模型数据的序列号的栅格数据的初始值为 0, 用于表示像素深度的栅格数据的初始值为距离视点最远的值。  The initial value of the raster data for setting the sequence number of the three-dimensional model data corresponding to the pixel is 0, and the initial value of the raster data for indicating the pixel depth is the value farthest from the viewpoint.
8、 根据权利要求 7所述的方法, 其特征在于, 当所述三维模型数据为三 角网三维模型数据时, 所述依据预先设定的所述视图控制参数,将所述三维模 型数据的原始坐标变换得到所述视图窗口的视图坐标,消隐分析所述坐标变换 后的三维模型数据的过程包括: 8. The method according to claim 7, wherein when the three-dimensional model data is three When the three-dimensional model data of the corner network is used, the original coordinate of the three-dimensional model data is transformed into the view coordinate of the view window according to the preset view control parameter, and the three-dimensional model after the coordinate transformation is blanked and analyzed. The process of data includes:
从待分析三角网三维模型中确定当前待分析三角网三维模型;  Determining the current three-dimensional model of the triangulation to be analyzed from the three-dimensional model of the triangulation to be analyzed;
从组成所述选取的当前待分析三角网三维模型的三角形中选取当前待分 析三角形, 确定其标识号、 三个顶点, 及各个顶点的原始坐标;  Selecting a current triangle to be analyzed from the triangles constituting the selected three-dimensional model of the triangulation to be analyzed, determining the identification number, the three vertices, and the original coordinates of each vertex;
按照所述视图控制参数,将上述三个顶点的原始坐标变换得到所述视图窗 口的视图坐标;  And transforming the original coordinates of the three vertices according to the view control parameter to obtain view coordinates of the view window;
依据变换坐标后的三个顶点坐标所构成的三角形,依次获得所述三角形的 三角面上的所有像素点;  According to the triangle formed by the coordinates of the three vertices after the transformation of the coordinates, all the pixel points on the triangular surface of the triangle are sequentially obtained;
确定当前待分析像素点,依据所述变换坐标后的三个顶点坐标计算出所述 当前待分析像素点对应的深度值;  Determining a pixel value to be analyzed, and calculating a depth value corresponding to the current pixel to be analyzed according to the coordinates of the three vertices after the transformation coordinate;
读取所述当前待分析像素点所对应的栅格数据中的三角形序号和像素深 度值, 当所述三角形序号为 0时, 用所述当前待分析三角形的标识号替换所述 当前待分析像素点所对应的栅格数据中的三角形序号,用所述计算出的像素的 深度值替换所述读取当前待分析像素点所对应的栅格数据中的深度值,当所述 三角形序号不为 0时,则分别获得所述读取的当前待分析像素点所对应的栅格 数据中的深度值和视点计算出的第一距离,和依据变换坐标后的三个顶点坐标 计算出的所述当前待分析像素点对应的深度值和视点计算出的第二距离,判断 所述第一距离是否大于所述第二距离, 若是, 用所述当前待分析三角形的标识 号替换所述当前待分析像素点所对应的栅格数据中的三角形序号,用所述计算 出的像素的深度值替换所述读取的像素点所对应的栅格数据中的深度值, 若 否, 则保留所述像素点所对应的栅格数据中的三角形序号和像素深度值, 判断 所述当前待分析三角形的三角面上是否存在未被分析像素点, 若是, 则获取下 一未被分析像素点为当前待分析像素点,返回执行依据所述变换坐标后的三个 顶点坐标计算出所述当前待分析像素点对应的深度值的步骤, 若否, 则判断所 述选取的待分析三角网三维模型的三角形中是否存在未被分析三角形, 若存 在, 则确定下一待分析三角形为当前待分析三角形, 并返回确定其标识号、 三 个顶点, 及各个顶点的原始坐标的步骤, 若不存在, 则判断所述待分析三角网 三维模型中是否存在未被分析的三角网三维模型, 若存在, 则确定下一待分析 三角网三维模型为当前待分析三角网三维模型,返回执行从组成所述选取的当 前待分析三角网三维模型的三角形中选取待分析三角形的步骤, 若不存在, 则 依次获取所有像素点对应的三角形序号,将大于 0的三角形序号保存到预设数 组。 Reading a triangle sequence number and a pixel depth value in the raster data corresponding to the current pixel to be analyzed, and when the triangle sequence number is 0, replacing the current pixel to be analyzed with the identifier of the current triangle to be analyzed. a triangle number in the raster data corresponding to the point, and replacing the depth value in the raster data corresponding to the current pixel to be analyzed by using the calculated depth value of the pixel, when the triangle serial number is not 0, the depth value in the raster data corresponding to the currently read pixel to be analyzed and the first distance calculated by the viewpoint, and the calculated according to the coordinates of the three vertices after the transformation coordinate are respectively obtained. The depth value corresponding to the pixel to be analyzed and the second distance calculated by the viewpoint, determining whether the first distance is greater than the second distance, and if so, replacing the current to-be-analyzed with the identification number of the current triangle to be analyzed a triangle number in the raster data corresponding to the pixel, and replacing the depth in the raster data corresponding to the read pixel by using the calculated depth value of the pixel If not, retaining the triangle number and the pixel depth value in the raster data corresponding to the pixel, determining whether there is an unanalyzed pixel on the triangular surface of the current triangle to be analyzed, and if so, acquiring the next The unanalyzed pixel is the current pixel to be analyzed, and the step of performing the depth value corresponding to the current pixel to be analyzed according to the coordinates of the three vertices after the transformation of the coordinate is performed, and if not, determining the selected Whether there is an unanalyzed triangle in the triangle of the three-dimensional model of the triangulation to be analyzed, and if so, determining the next triangle to be analyzed as the current triangle to be analyzed, and returning the identification number, the three vertices, and the original coordinates of each vertex Step, if not present, determining the triangulation to be analyzed Whether there is an unanalyzed three-dimensional model of the triangulation in the three-dimensional model, and if so, determining that the next three-dimensional model of the tribe to be analyzed is the three-dimensional model of the tribe to be analyzed, and returning to perform the three-dimensional three-dimensional analysis of the current to be analyzed The step of selecting a triangle to be analyzed is selected from the triangles of the model. If not, the triangle numbers corresponding to all the pixel points are sequentially acquired, and the triangle numbers greater than 0 are saved to the preset array.
9、 根据权利要求 8所述的方法, 其特征在于, 所述依据所述消隐分析的 结果, 化筒所述三维模型数据的过程包括:  9. The method according to claim 8, wherein the process of refining the three-dimensional model data according to the result of the blanking analysis comprises:
从待分析三角网三维模型中选取当前待分析三角网三维模型;  Selecting a three-dimensional model of the triangulation to be analyzed from the three-dimensional model of the triangulation to be analyzed;
从组成所述选取的当前待分析三角网三维模型的三角形中选取当前待分 析三角形, 确定其标识号;  Selecting a current triangle to be analyzed from the triangles constituting the selected three-dimensional model of the triangulation to be analyzed, and determining an identification number thereof;
判断所述标识号是否存在于所述预设数组中,若存在,则保留所述三角形, 若不存在, 则舍去所述三角形;  Determining whether the identification number exists in the preset array, if yes, retaining the triangle, if not, rounding off the triangle;
判断组成所述当前待分析三角网三维模型的三角形中是否存在未被分析 三角形, 若存在, 则确定下一待分析三角形为当前待分析三角形, 返回执行确 定其标识号的步骤, 若不存在, 则判断所述当前待分析三角网三维模型的三角 形是否全部被舍去, 若是, 则舍去所述当前待分析三角网三维模型, 若否, 则 确定保留的三角形及对应的三维模型数据为所述当前待分析三角网三维模型 化筒后的数据;  Determining whether there is an unanalyzed triangle in the triangle constituting the three-dimensional model of the current triangle to be analyzed, and if yes, determining that the next triangle to be analyzed is the current triangle to be analyzed, and returning to perform the step of determining the identification number thereof, if not, Determining whether the triangles of the current three-dimensional model of the triangulation to be analyzed are all rounded off, and if so, rounding off the three-dimensional model of the current triangulation to be analyzed, and if not, determining the retained triangles and the corresponding three-dimensional model data as Describe the data of the current three-dimensional model cylinder of the triangulation to be analyzed;
判断待分析三角网三维模型是否存在未分析三角网三维模型, 若是, 则确 定下一待分析三角网三维模型为当前待分析三角网三维模型,返回执行从组成 所述选取的当前待分析三角网三维模型的三角形中选取当前待分析三角形的 步骤, 若否, 则结束。  Determining whether there is an unanalyzed triangulation three-dimensional model in the three-dimensional model of the triangulation to be analyzed, and if so, determining that the next three-dimensional model of the triangulation to be analyzed is the current three-dimensional model of the triangulation to be analyzed, and returning to perform the current triangulation to be analyzed from the composition selected The step of selecting the current triangle to be analyzed from the triangle of the 3D model, and if not, ending.
10、 根据权利要求 1所述的方法, 其特征在于, 所述可见的三维模型数据 包括: 可见的三维模型几何数据和可见的三维模型纹理数据;  10. The method according to claim 1, wherein the visible three-dimensional model data comprises: visible three-dimensional model geometric data and visible three-dimensional model texture data;
所述确定所述在视图窗口中可见的三维模型数据为化筒后数据的过程包 括:  The process of determining the three-dimensional model data visible in the view window as the post-synthesis data includes:
确定在所述视图窗口中可见的三维模型几何数据为化筒后数据;  Determining the three-dimensional model geometric data visible in the view window as post-synthesis data;
确定与所述可见的三维模型几何数据对应的可见三维模型纹理数据为化 筒后数据。 The visible three-dimensional model texture data corresponding to the visible three-dimensional model geometric data is determined as post-initial data.
11、 根据权利要求 10所述的方法, 其特征在于, 所述确定与所述可见的 三维模型几何数据对应的可见三维模型纹理数据为化筒后数据的过程包括: 依据所述视图控制参数,将所述可见三维模型几何数据的原始坐标变换得 到所述视图窗口的视图坐标; The method according to claim 10, wherein the process of determining the visible three-dimensional model texture data corresponding to the visible three-dimensional model geometric data as post-synthesis data comprises: according to the view control parameter, Converting the original coordinate of the visible three-dimensional model geometric data to obtain view coordinates of the view window;
依据所述视图坐标,获得所述可见三维模型几何数据在所述视图窗口显示 时的显示范围;  Obtaining, according to the view coordinates, a display range of the visible three-dimensional model geometric data when the view window is displayed;
当预先设定的显示规则为:当三维模型纹理数据在所述视图窗口中显示的 范围小于预先设定的值, 不显示所述三维模型纹理数据时,依据所述可见三维 模型几何数据在所述视图窗口显示时的显示范围来判断所述三维模型纹理数 据在所述视图窗口中显示的范围是否小于所述预先设定的值, 若小于, 则舍去 所述可见三维模型几何数据对应的纹理数据, 若不小于, 则保留所述可见三维 模型几何数据对应的纹理数据;  When the preset display rule is: when the range of the three-dimensional model texture data displayed in the view window is smaller than a preset value, when the three-dimensional model texture data is not displayed, according to the visible three-dimensional model geometric data Determining, by the display range when the view window is displayed, whether the range of the three-dimensional model texture data displayed in the view window is smaller than the preset value, and if not, discarding the corresponding geometric data of the visible three-dimensional model The texture data, if not less than, retains the texture data corresponding to the visible three-dimensional model geometric data;
当所述可见三维模型几何数据在所述视图窗口显示时的显示范围小于所 述可见三维模型几何数据所对应的纹理数据的原始大小时,则将所述纹理数据 依据所述纹理数据在所述视图窗口显示时的显示范围进行压缩。  And when the display range of the visible three-dimensional model geometric data when the view window is displayed is smaller than the original size of the texture data corresponding to the visible three-dimensional model geometric data, the texture data is used according to the texture data. The display range when the view window is displayed is compressed.
12、 根据权利要求 10所述的方法, 其特征在于, 还包括:  12. The method according to claim 10, further comprising:
根据所述视图控制参数和三维模型几何数据,将可见的三维模型纹理数据 合成为合成纹理;  Combining the visible three-dimensional model texture data into a synthetic texture according to the view control parameter and the three-dimensional model geometric data;
重新计算所述可见的三维模型数据的纹理坐标。  The texture coordinates of the visible three-dimensional model data are recalculated.
13、 根据权利要求 12所述的方法, 其特征在于, 所述重新计算所述可见 三维模型的纹理坐标的过程包括:  13. The method according to claim 12, wherein the recalculating the texture coordinates of the visible three-dimensional model comprises:
依据所述视图控制参数将三维模型几何数据中顶点的原始坐标变换为所 述视图控制参数所表示的视图窗口下的视图坐标;  Converting original coordinates of the vertices in the three-dimensional model geometric data into view coordinates under the view window represented by the view control parameter according to the view control parameter;
当所述视图坐标在所述视图控制参数所表示的视图窗口范围内,则此视图 坐标即为可见三维模型几何数据所对应的纹理坐标;  When the view coordinate is within the view window represented by the view control parameter, the view coordinate is the texture coordinate corresponding to the visible three-dimensional model geometric data;
当所述视图坐标在所述视图控制参数所表示的视图窗口范围之外时,利用 所述视图控制参数所表示的视图窗口的外包矩形对三维模型的几何数据进行 裁剪,并将裁剪后的三维模型的几何数据中的顶点坐标确定为可见三维模型几 何数据所对应的纹理坐标。 When the view coordinates are outside the range of the view window represented by the view control parameter, the geometric data of the three-dimensional model is cropped by using the outer-out rectangle of the view window represented by the view control parameter, and the cropped three-dimensional image is The vertex coordinates in the geometric data of the model are determined as the texture coordinates corresponding to the visible 3D model geometric data.
14、 根据权利要求 13所述的方法, 其特征在于, 还包括: 14. The method according to claim 13, further comprising:
将所述可见三维模型几何数据所对应的纹理坐标进行归一化处理,具体过 程包括:  The texture coordinates corresponding to the visible three-dimensional model geometric data are normalized, and the specific processes include:
将所述纹理坐标的横坐标除以所述视图控制参数中视图窗口的宽度,纵坐 标除以所述视图控制参数中视图窗口的高度。  The abscissa of the texture coordinates is divided by the width of the view window in the view control parameter, and the ordinate is divided by the height of the view window in the view control parameter.
15、 根据权利要求 12所述的方法, 其特征在于, 根据所述视图控制参数 和三维模型几何数据, 将可见的三维模型纹理数据合成为合成纹理的过程包 括:  15. The method according to claim 12, wherein the process of synthesizing the visible three-dimensional model texture data into a synthetic texture according to the view control parameter and the three-dimensional model geometric data comprises:
依据所述视图控制参数绘制所述可见的三维模型数据,生成与所述视图控 制参数对应的外包矩形大小相同的图像;  And drawing the visible three-dimensional model data according to the view control parameter, and generating an image of the same size of the outer envelope corresponding to the view control parameter;
确定所述图像为所述可见的三维模型纹理数据的合成纹理。  The image is determined to be a composite texture of the visible three-dimensional model texture data.
16、 一种三维模型数据化筒装置, 其特征在于, 包括:  16. A three-dimensional model data cartridge device, comprising:
参数设定模块, 用于设定与视图窗口对应的视图控制参数, 所述视图控制 参数至少包括: 视图窗口的外包矩形、 视点参数和投影参数;  a parameter setting module, configured to set a view control parameter corresponding to the view window, where the view control parameter includes at least: an outsourcing rectangle, a view point parameter, and a projection parameter of the view window;
分析获取模块, 用于依据所述视图控制参数分析三维模型数据, 获取在所 述视图窗口中可见的三维模型数据;  An analysis obtaining module, configured to analyze the three-dimensional model data according to the view control parameter, and obtain three-dimensional model data visible in the view window;
确定模块, 用于确定所述在视图窗口中可见的三维模型数据为化筒后数 据。  And a determining module, configured to determine the three-dimensional model data visible in the view window as post-initial data.
17、 根据权利要求 16所述的装置, 其特征在于, 所述分析获取模块包括: 坐标变换单元, 用于依据预先设定的所述视图控制参数,将所述三维模型 数据的原始坐标变换得到所述视图窗口的视图坐标,所述视图窗口利用数据结 构依照所述预先设定的所述视图控制参数进行表示;  The device according to claim 16, wherein the analysis obtaining module comprises: a coordinate transformation unit, configured to transform the original coordinate of the three-dimensional model data according to the preset view control parameter View coordinates of the view window, the view window being represented by the data structure according to the preset view control parameter;
消隐分析单元, 用于消隐分析所述坐标变换后的三维模型数据;  a blanking analysis unit, configured to perform blanking analysis on the coordinate transformed 3D model data;
化筒单元, 用于依据所述消隐分析的结果,化筒所述坐标变换前的三维模 型数据,获取化筒后的三维模型数据作为在所述视图窗口中可见的三维模型数 据。  And a chemical tube unit, configured to: according to the result of the blanking analysis, the three-dimensional model data before the coordinate transformation is obtained, and the three-dimensional model data after the chemical cylinder is acquired as the three-dimensional model data visible in the view window.
18、 一种三维模型数据渐进传输方法, 其特征在于, 包括:  18. A method for progressive transmission of three-dimensional model data, comprising:
当需要请求增量数据时,请求发送端发送增量数据请求, 所述增量数据请 求中至少包含视图控制参数,所述视图控制参数至少包括:当前视图控制参数; 接收请求接收端发送的增量数据,所述增量数据为所述请求接收端依据所 述视图控制参数分析三维模型数据,获取在所述当前视图控制参数对应的视图 窗口中可见的三维模型数据, 并依据所述视图控制参数进行分析后获得的。 When the incremental data needs to be requested, the requesting sender sends an incremental data request, where the incremental data request includes at least a view control parameter, and the view control parameter includes at least: a current view control parameter; And receiving the incremental data sent by the request receiving end, where the incremental data is used by the request receiving end to analyze the three-dimensional model data according to the view control parameter, and obtain the three-dimensional model data visible in the view window corresponding to the current view control parameter. And obtained according to the analysis of the view control parameters.
19、 根据权利要求 18所述的方法, 其特征在于, 当所述请求发送端緩存 有在先化筒三维模型数据,所述请求接收端没有保存所述请求发送端所緩存的 在先化筒三维模型数据的标识号时, 所述增量数据请求还包括: 在先化筒后三 维模型数据的标识号, 和 /或所述视图控制参数还包括: 在先视图控制参数。  The method according to claim 18, wherein when the request sending end caches the priorized three-dimensional model data, the request receiving end does not save the priorizing buffer buffered by the request sending end. When the identification number of the three-dimensional model data, the incremental data request further includes: an identification number of the three-dimensional model data after the priorizing cylinder, and/or the view control parameter further includes: a prior view control parameter.
20、 根据权利要求 18所述的方法, 其特征在于, 所述当前视图控制参数 包括: 当前视图窗口的外包矩形, 视点参数和投影参数; 所述视点参数包括视 点在世界坐标系中的位置、 视点所观察的目标位置和虚拟照相机向上的向量; 所述投影参数包括: 正交投影和透视投影。  The method according to claim 18, wherein the current view control parameter comprises: an outer rectangle of a current view window, a viewpoint parameter and a projection parameter; the viewpoint parameter includes a position of the viewpoint in the world coordinate system, The target position observed by the viewpoint and the vector of the virtual camera upward; the projection parameters include: orthogonal projection and perspective projection.
21、 根据权利要求 18所述的方法, 其特征在于, 当请求发送端緩存有所 有从请求接收端传输过来的三维模型数据时, 还包括:  The method according to claim 18, wherein when the requesting end buffer buffers the three-dimensional model data transmitted from the request receiving end, the method further includes:
将所述增量数据插入所述请求发送端緩存的三维模型数据中实现数据重 建;  And inserting the incremental data into the three-dimensional model data buffered by the request sending end to implement data reconstruction;
当请求发送端只緩存上一次从所述请求接收端传输过来在先三维模型数 据时, 还包括:  When the requesting sender only caches the previous three-dimensional model data transmitted from the request receiving end, the method further includes:
将緩存的在先三维模型数据释放, 将本次的增量数据进行緩存; 当所述视图控制参数中包含在先视图控制参数时, 还包括:  The cached previous 3D model data is released, and the current incremental data is cached. When the view control parameter includes the prior view control parameter, the method further includes:
用所述当前视图控制参数替换所述在先视图控制参数。  The previous view control parameter is replaced with the current view control parameter.
22、 一种三维模型数据渐进传输方法, 其特征在于, 包括:  22. A method for progressive transmission of three-dimensional model data, comprising:
接收请求发送端发送的增量数据请求,所述增量数据请求中至少包含视图 控制参数, 所述视图控制参数至少包括: 当前视图控制参数;  Receiving an incremental data request sent by the requesting sender, where the incremental data request includes at least a view control parameter, and the view control parameter includes at least: a current view control parameter;
依据所述视图控制参数分析三维模型数据,获取在所述视图控制参数对应 的视图窗口中可见的三维模型数据;  And analyzing the three-dimensional model data according to the view control parameter, and acquiring the three-dimensional model data visible in the view window corresponding to the view control parameter;
确定所述在视图窗口中可见的三维模型数据为化筒后数据;  Determining that the three-dimensional model data visible in the view window is data after the cylinder;
分析所述化筒后数据, 确定符合增量条件的三维模型数据为增量数据; 发送所述增量数据给所述请求发送端。  The data after the cylinder is analyzed, and the three-dimensional model data that meets the incremental condition is determined to be incremental data; and the incremental data is sent to the request sending end.
23、 根据权利要求 22所述的方法, 其特征在于, 当所述视图控制参数中 还包括:在先视图控制参数时,所述依据所述视图控制参数分析三维模型数据, 获取在所述视图控制参数对应的视图窗口中可见的三维模型数据的过程包括: 依据所述当前视图控制参数分析所述三维模型数据,获取在所述当前视图 控制参数对应的视图窗口中可见的三维模型数据; 23. The method according to claim 22, wherein in the view control parameter The method further includes: when the first view control parameter is used, the analyzing the three-dimensional model data according to the view control parameter, and acquiring the three-dimensional model data visible in the view window corresponding to the view control parameter comprises: controlling according to the current view Parameter analyzing the three-dimensional model data, and acquiring three-dimensional model data visible in a view window corresponding to the current view control parameter;
依据所述在先视图控制参数分析所述三维模型数据,获取在所述在先视图 控制参数对应的视图窗口中可见的三维模型数据;  And analyzing the three-dimensional model data according to the previous view control parameter, and acquiring three-dimensional model data visible in a view window corresponding to the previous view control parameter;
所述确定所述在视图窗口中可见的三维模型数据为化筒后数据的过程包 括:  The process of determining the three-dimensional model data visible in the view window as the post-synthesis data includes:
确定所述在当前视图控制参数对应的视图窗口中可见的三维模型数据为 当前化筒后数据;  Determining, that the three-dimensional model data visible in the view window corresponding to the current view control parameter is data after the currentization;
确定所述在在先视图控制参数对应的视图窗口中可见的三维模型数据为 在先化筒后数据;  Determining that the three-dimensional model data visible in the view window corresponding to the previous view control parameter is the data after the priorization;
所述分析所述化筒后数据,确定符合增量条件的三维模型数据为增量数据 的过程包括:  The process of analyzing the data after the cylinder and determining the three-dimensional model data that meets the incremental condition as incremental data includes:
确定在所述当前化筒后数据中,且不在所述在先化筒后数据中的三维模型 数据为增量数据。  Determining the three-dimensional model data in the data of the currentization cylinder and not in the data of the priorization cylinder is incremental data.
24、 根据权利要求 22所述的方法, 其特征在于, 当所述增量数据请求中 还包括: 在先化筒后三维模型数据的标识号时, 所述依据所述视图控制参数分 析三维模型数据,获取在所述视图控制参数对应的视图窗口中可见的三维模型 数据的过程包括:  The method according to claim 22, wherein, when the incremental data request further comprises: analyzing the three-dimensional model according to the view control parameter when the identification number of the three-dimensional model data is priorized Data, the process of obtaining the three-dimensional model data visible in the view window corresponding to the view control parameter includes:
依据所述当前视图控制参数分析所述三维模型数据,获取在所述当前视图 控制参数对应的视图窗口中可见的三维模型数据;  And analyzing the three-dimensional model data according to the current view control parameter, and acquiring three-dimensional model data visible in a view window corresponding to the current view control parameter;
所述确定所述在视图窗口中可见的三维模型数据为化筒后数据的过程包 括:确定所述在当前视图控制参数对应的视图窗口中可见的三维模型数据为当 前化筒后数据;  The process of determining the three-dimensional model data visible in the view window as the post-synthesis data includes: determining that the three-dimensional model data visible in the view window corresponding to the current view control parameter is the current post-booster data;
所述分析所述化筒后数据,确定符合增量条件的三维模型数据为增量数据 的过程包括:  The process of analyzing the data after the cylinder and determining the three-dimensional model data that meets the incremental condition as incremental data includes:
将所述当前化筒后数据中和所述增量数据请求中在先化筒后三维模型数 据的标识号所对应的三维模型数据相同的部分舍去,确定剩余的三维模型数据 作为增量数据。 And discarding the same part of the three-dimensional model data corresponding to the identification number of the three-dimensional model data after the first cylinder in the current data in the incremental data request, and determining the remaining three-dimensional model data. As incremental data.
25、 根据权利要求 22所述的方法, 其特征在于, 所述分析所述化筒后数 据, 确定符合增量条件的三维模型数据为增量数据的过程包括:  The method according to claim 22, wherein the analyzing the data after the cylinder and determining that the three-dimensional model data conforming to the incremental condition is incremental data comprises:
将所述化筒后的数据中,与请求接收端保存的所述请求发送端所緩存的三 维模型数据的标识号所对应的数据相同的部分舍去,确定剩余的三维模型数据 作为增量数据。  And discarding the same data corresponding to the identification number of the three-dimensional model data buffered by the request sending end saved by the request receiving end, and determining the remaining three-dimensional model data as the incremental data. .
26、 一种三维模型数据渐进传输装置, 其特征在于, 包括:  26. A progressive transmission device for three-dimensional model data, comprising:
请求发送模块, 用于当需要请求增量数据时,请求发送端发送增量数据请 求,所述增量数据请求中至少包含视图控制参数,所述视图控制参数至少包括: 当前视图控制参数;  a request sending module, configured to: when the incremental data needs to be requested, the requesting end sends an incremental data request, where the incremental data request includes at least a view control parameter, and the view control parameter includes at least: a current view control parameter;
增量数据接收模块, 用于接收请求接收端发送的增量数据, 所述增量数据 为所述请求接收端依据所述视图控制参数分析三维模型数据,获取在所述当前 视图控制参数对应的视图窗口中可见的三维模型数据,并依据所述视图控制参 数进行分析后获得的。  An incremental data receiving module, configured to receive incremental data sent by the request receiving end, where the incremental data is used by the request receiving end to analyze the three-dimensional model data according to the view control parameter, and obtain the corresponding control parameter in the current view. The 3D model data visible in the view window is obtained after analysis based on the view control parameters.
27、 根据权利要求 26所述的装置, 其特征在于, 当请求发送端緩存有从 请求接收端传输过来的三维模型数据时, 还包括: 插值模块, 用于将所述增量 数据插入所述请求发送端緩存的三维模型数据中实现数据重建;  The device according to claim 26, wherein when the requesting sender caches the three-dimensional model data transmitted from the request receiving end, the method further includes: an interpolation module, configured to insert the incremental data into the Requesting data reconstruction in the 3D model data buffered by the sender;
当请求发送端只緩存上一次从所述请求接收端传输过来在先三维模型数 据时, 还包括:  When the requesting sender only caches the previous three-dimensional model data transmitted from the request receiving end, the method further includes:
数据替换模块, 用于将緩存的在先三维模型数据释放,将本次的增量数据 进行緩存;  a data replacement module, configured to release the cached previous three-dimensional model data, and cache the current incremental data;
当所述视图控制参数中包含在先视图控制参数时, 还包括:  When the view control parameter includes the previous view control parameter, the method further includes:
参数替换模块, 用于用所述当前视图控制参数替换所述在先视图控制参 数。  And a parameter replacement module, configured to replace the previous view control parameter with the current view control parameter.
28、 一种三维模型数据渐进传输装置, 其特征在于, 包括:  28. A progressive transmission device for three-dimensional model data, comprising:
请求接收模块, 用于接收请求发送端发送的增量数据请求, 所述增量数据 请求中至少包含视图控制参数, 所述视图控制参数至少包括: 当前视图控制参 数;  a request receiving module, configured to receive an incremental data request sent by the requesting sender, where the incremental data request includes at least a view control parameter, where the view control parameter includes at least: a current view control parameter;
获取模块, 用于依据所述视图控制参数分析三维模型数据, 获取在所述视 图控制参数对应的视图窗口中可见的三维模型数据; An acquiring module, configured to analyze three-dimensional model data according to the view control parameter, and obtain the view The 3D model data visible in the view window corresponding to the control parameter;
确定模块, 用于确定所述在视图窗口中可见的三维模型数据为化筒后数 据;  a determining module, configured to determine that the three-dimensional model data visible in the view window is post-initial data;
分析模块, 用于分析所述化筒后数据,确定符合增量条件的三维模型数据 为增量数据;  An analysis module, configured to analyze the data after the cylinder, and determine the three-dimensional model data that meets the incremental condition as incremental data;
增量数据发送模块, 用于发送所述增量数据给所述请求发送端。  An incremental data sending module, configured to send the incremental data to the request sending end.
PCT/CN2011/079727 2010-09-20 2011-09-16 Method for simplifying and progressively transmitting 3d model data and device therefor WO2012037863A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201010287543.8 2010-09-20
CN201010287543 2010-09-20
CN201010597111.7 2010-12-06
CN2010105971117A CN102044089A (en) 2010-09-20 2010-12-06 Method for carrying out self-adaption simplification, gradual transmission and rapid charting on three-dimensional model

Publications (1)

Publication Number Publication Date
WO2012037863A1 true WO2012037863A1 (en) 2012-03-29

Family

ID=43910201

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/CN2011/079726 WO2012037862A1 (en) 2010-09-20 2011-09-16 Distributed plotting method for 3d model data and a device therefor
PCT/CN2011/079727 WO2012037863A1 (en) 2010-09-20 2011-09-16 Method for simplifying and progressively transmitting 3d model data and device therefor

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/079726 WO2012037862A1 (en) 2010-09-20 2011-09-16 Distributed plotting method for 3d model data and a device therefor

Country Status (2)

Country Link
CN (3) CN102044089A (en)
WO (2) WO2012037862A1 (en)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102044089A (en) * 2010-09-20 2011-05-04 董福田 Method for carrying out self-adaption simplification, gradual transmission and rapid charting on three-dimensional model
CN102184572B (en) * 2011-05-19 2017-07-21 威盛电子股份有限公司 3-D graphic method of cutting out, rendering method and its graphic processing facility
CN102364439B (en) * 2011-10-19 2014-03-26 广东威创视讯科技股份有限公司 Window rapid movement method and device of distributed processing system
CN106503171B (en) * 2011-11-08 2020-02-07 苏州超擎图形软件科技发展有限公司 Vector data processing method and device
CN103378863B (en) * 2012-04-18 2017-11-10 苏州超擎图形软件科技发展有限公司 The method and device of spatial data compression, decompression and progressive transmission
CN103035164B (en) * 2012-12-24 2015-03-25 广东威创视讯科技股份有限公司 Rendering method and system of geographic information system
CN103337090B (en) * 2013-06-17 2016-07-13 清华大学 Moon model remote interaction browses method for visualizing, client and system
CN103455970A (en) * 2013-08-30 2013-12-18 天津市测绘院 Method for accelerated display of invisible part by three-dimensional digital urban system model
EP2881918B1 (en) 2013-12-06 2018-02-07 My Virtual Reality Software AS Method for visualizing three-dimensional data
CN103678587B (en) * 2013-12-12 2017-10-13 中国神华能源股份有限公司 Progressive transmission of spatial data and device
JP6087301B2 (en) * 2014-02-13 2017-03-01 株式会社ジオ技術研究所 3D map display system
CN103927396B (en) * 2014-05-05 2018-02-02 曾志明 The lookup method of three-dimensional spatial information is obtained in three-dimensional rendering using assistance data
CA2963159C (en) * 2014-09-30 2021-06-15 Cae Inc. Rendering damaged-enhanced images in a computer simulation
CN104658041A (en) * 2015-02-12 2015-05-27 中国人民解放军装甲兵工程学院 Dynamic scheduling method for entity models in distributed three-dimensional virtual environment
CN106600679B (en) * 2015-10-20 2019-11-08 星际空间(天津)科技发展有限公司 A kind of method that three-dimensional modeling data simplifies
CN106600700B (en) * 2015-10-20 2020-01-17 星际空间(天津)科技发展有限公司 Three-dimensional model data processing system
CN105303607B (en) * 2015-10-28 2018-09-18 沈阳黎明航空发动机(集团)有限责任公司 A kind of three-dimensional model simplifying method keeping precision
CN105513118B (en) * 2015-11-26 2018-07-10 北京像素软件科技股份有限公司 A kind of rendering intent of voxelization gaming world
CN105817031A (en) * 2016-03-16 2016-08-03 小天才科技有限公司 Game map object drawing method and device
CN105894551B (en) * 2016-03-31 2020-02-14 百度在线网络技术(北京)有限公司 Image drawing method and device
US10841557B2 (en) * 2016-05-12 2020-11-17 Samsung Electronics Co., Ltd. Content navigation
CN107545222A (en) * 2016-06-29 2018-01-05 中国园林博物馆北京筹备办公室 The method and its system of display target image in virtual reality scenario
CN107657530A (en) * 2016-07-25 2018-02-02 武汉票据交易中心有限公司 The processing method and system of a kind of operation flow
CN106557620A (en) * 2016-11-08 2017-04-05 广东柳道热流道系统有限公司 The auxiliary of hot flow path standard product goes out drawing method
CN106776020B (en) * 2016-12-07 2020-02-21 长春理工大学 Computer cluster distributed path tracking drawing method for large three-dimensional scene
CN107422952B (en) * 2017-05-04 2019-04-09 广州视源电子科技股份有限公司 A kind of method, device and equipment that solid figure is shown
CN107967716B (en) * 2017-11-01 2021-08-06 深圳依偎控股有限公司 Thumbnail display control method and system based on three-dimensional picture
CN108055351B (en) * 2017-12-29 2021-04-16 深圳市毕美科技有限公司 Three-dimensional file processing method and device
CN108090305A (en) * 2018-01-10 2018-05-29 安徽极光照明工程有限公司 A kind of stage light control system based on ray tracing technology
CN108267154B (en) * 2018-02-09 2020-08-14 城市生活(北京)资讯有限公司 Map display method and device
CN108776995A (en) * 2018-06-06 2018-11-09 广东您好科技有限公司 Virtual robot custom-built system based on pixel synthetic technology
CN109522381B (en) * 2018-11-02 2021-05-04 长江空间信息技术工程有限公司(武汉) Building hidden facility safety detection method based on 3DGIS + BIM
CN116156164B (en) * 2018-12-30 2023-11-28 北京达佳互联信息技术有限公司 Method, apparatus and readable storage medium for decoding video
CN109925715B (en) * 2019-01-29 2021-11-16 腾讯科技(深圳)有限公司 Virtual water area generation method and device and terminal
CN110084870B (en) * 2019-05-13 2023-03-24 武汉轻工大学 Method, device and equipment for determining drawing area of plane equation and storage medium
CN110368694B (en) * 2019-08-22 2023-05-16 网易(杭州)网络有限公司 Game scene data processing method, device, equipment and readable storage medium
CN110647515A (en) * 2019-08-29 2020-01-03 北京浪潮数据技术有限公司 Distributed drawing method and device
CN110889901B (en) * 2019-11-19 2023-08-08 北京航空航天大学青岛研究院 Large-scene sparse point cloud BA optimization method based on distributed system
CN112396682B (en) * 2020-11-17 2021-06-22 重庆市地理信息和遥感应用中心 Visual progressive model browsing method in three-dimensional scene
CN113256784B (en) * 2021-07-02 2021-09-28 武大吉奥信息技术有限公司 Method for performing super-efficient drawing of GIS space three-dimensional voxel data based on GPU
CN115657855A (en) * 2022-11-10 2023-01-31 北京有竹居网络技术有限公司 Man-machine interaction method, device, equipment and storage medium
CN115994410B (en) * 2023-03-22 2023-05-30 中国人民解放军国防科技大学 Aircraft simulation driving design method based on octree refinement tetrahedral mesh
CN116883469B (en) * 2023-07-20 2024-01-19 中国矿业大学 Point cloud registration method based on EIV model description under plane feature constraint
CN116958332B (en) * 2023-09-20 2023-12-22 南京竹影数字科技有限公司 Method and system for mapping 3D model in real time of paper drawing based on image recognition
CN117369633A (en) * 2023-10-07 2024-01-09 上海铱奇科技有限公司 AR-based information interaction method and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080062171A1 (en) * 2006-09-12 2008-03-13 Samsung Electronics Co.; Ltd Method for simplifying maintenance of feature of three-dimensional mesh data
US20090109219A1 (en) * 2007-10-30 2009-04-30 Advanced Micro Devices, Inc. Real-time mesh simplification using the graphics processing unit
CN102044089A (en) * 2010-09-20 2011-05-04 董福田 Method for carrying out self-adaption simplification, gradual transmission and rapid charting on three-dimensional model

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2324175B (en) * 1997-04-10 2002-07-31 Ibm Personal conferencing system
US6438576B1 (en) * 1999-03-29 2002-08-20 International Business Machines Corporation Method and apparatus of a collaborative proxy system for distributed deployment of object rendering
US6933943B2 (en) * 2002-02-27 2005-08-23 Hewlett-Packard Development Company, L.P. Distributed resource architecture and system
CN100552720C (en) * 2002-09-06 2009-10-21 索尼计算机娱乐公司 Be used to show the method and apparatus of three dimensional object
CN100428218C (en) * 2002-11-13 2008-10-22 北京航空航天大学 Universal virtual environment roaming engine computer system
US7983487B2 (en) * 2007-11-07 2011-07-19 Mitsubishi Electric Research Laboratories, Inc. Method and system for locating and picking objects using active illumination
CN101226640B (en) * 2007-12-21 2010-08-18 西北工业大学 Method for capturing movement based on multiple binocular stereovision
CN100583141C (en) * 2008-08-04 2010-01-20 北京理工大学 Multichannel distributed plotting system and method
CN101587583A (en) * 2009-06-23 2009-11-25 长春理工大学 The farm of playing up based on the GPU cluster

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080062171A1 (en) * 2006-09-12 2008-03-13 Samsung Electronics Co.; Ltd Method for simplifying maintenance of feature of three-dimensional mesh data
US20090109219A1 (en) * 2007-10-30 2009-04-30 Advanced Micro Devices, Inc. Real-time mesh simplification using the graphics processing unit
CN102044089A (en) * 2010-09-20 2011-05-04 董福田 Method for carrying out self-adaption simplification, gradual transmission and rapid charting on three-dimensional model

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHEN, HUAHONG ET AL.: "Mesh simplification algorithm based on screen resolution of mobile devices", JOURNAL OF COMPUTER APPLICATIONS, vol. 28, no. 5, May 2008 (2008-05-01), pages 1225 - 1228 *

Also Published As

Publication number Publication date
CN102044089A (en) 2011-05-04
CN102306395A (en) 2012-01-04
CN102332179A (en) 2012-01-25
CN102332179B (en) 2015-03-25
CN102306395B (en) 2014-03-26
WO2012037862A1 (en) 2012-03-29

Similar Documents

Publication Publication Date Title
WO2012037863A1 (en) Method for simplifying and progressively transmitting 3d model data and device therefor
Wang et al. View-dependent displacement mapping
Matusik et al. Polyhedral visual hulls for real-time rendering
JP4643271B2 (en) Visible surface determination system and method for computer graphics using interval analysis
US7212207B2 (en) Method and apparatus for real-time global illumination incorporating stream processor based hybrid ray tracing
US20040100465A1 (en) Computerized image system
US9208610B2 (en) Alternate scene representations for optimizing rendering of computer graphics
US7528831B2 (en) Generation of texture maps for use in 3D computer graphics
US10249077B2 (en) Rendering the global illumination of a 3D scene
WO2011082650A1 (en) Method and device for processing spatial data
KR101090660B1 (en) Method for real-time volume rendering using point-primitive
Breckon et al. Three-dimensional surface relief completion via nonparametric techniques
Yang et al. View-dependent textured splatting
US20230206567A1 (en) Geometry-aware augmented reality effects with real-time depth map
CN112927352A (en) Three-dimensional scene local area dynamic flattening method and device based on flattening polygon
Ivanov et al. Spatial Patches‐A Primitive for 3D Model Representation
CN116993894B (en) Virtual picture generation method, device, equipment, storage medium and program product
Vallet et al. Fast and accurate visibility computation in urban scenes
Trapp et al. Geometry Batching using Texture-arrays.
Verma et al. 3D Rendering-Techniques and challenges
Popescu et al. Sample-based cameras for feed forward reflection rendering
WO2023224627A1 (en) Face-oriented geometry streaming
Walia et al. A framework for interactive 3D rendering on mobile devices
CN117541708A (en) Image processing method and device and electronic equipment
Vichitvejpaisal et al. Enhanced billboards for model simplification

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11826390

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11826390

Country of ref document: EP

Kind code of ref document: A1