Method and device for representing three-dimensional model and method and device for reconstructing three-dimensional model

By determining the topological structure of the three-dimensional model and generating a vertex array with unique vertex id, the problem of inconsistency in the three-dimensional model reconstruction process is solved, and the determinism of the three-dimensional model representation and consistency of the reconstruction results are achieved.

CN119559323APending Publication Date: 2025-03-04北京适创科技有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411503432.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-25
Publication Date
2025-03-04

AI Technical Summary

Technical Problem

The prior art is prone to inconsistent problems in the process of reconstruction of three-dimensional models, such as the surface of the reconstructed three-dimensional model is not smooth or incomplete, and there are problems such as invalid surfaces and invalid bodies.

Method used

By providing a three-dimensional model representation method and reconstruction method, including determining the topology of the original three-dimensional model, generating a vertex array, and using vertex ids to represent points, edges, and faces, ensuring the uniqueness of vertex ids, thereby generating a consistent geometric representation of polygon data.

Benefits of technology

This method increases the determinism of the three-dimensional model representation, ensures that the reconstructed three-dimensional model is consistent with the original model, and solves the problem of inconsistency in the reconstruction process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119559323A_ABST
    Figure CN119559323A_ABST
Patent Text Reader

Abstract

The invention discloses a three-dimensional model representation method and device and a three-dimensional model reconstruction method and device, and relates to the technical field of computers.The method comprises the steps that firstly, a vertex array is generated according to a topological structure of an original three-dimensional model, and then generating point representation, edge representation and surface representation of the original three-dimensional model according to the vertex id in the vertex array to obtain polygon data geometric representation of the original three-dimensional model consistent with topology. The point representation comprises each point represented by each vertex id, the edge representation comprises each edge represented by a plurality of vertexes id in the vertex array, and the vertex id in the vertex array is unique and corresponds to the determined vertex information, so that the unique and determined point or edge on the original three-dimensional model can be reconstructed according to one or more vertexes id; and a determined surface can be reconstructed under the limitation of the edge, so that a model consistent with an original three-dimensional model can be reconstructed, and the problem of inconsistency during model reconstruction is solved to a certain extent.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and more specifically, to a three-dimensional model representation, three-dimensional model reconstruction method and device. Background Art

[0002] With the continuous development and popularization of digital technology, 3D geometric models have gradually become an indispensable part of modern engineering design and digital content creation, playing an important role in the fields of film, games, architectural visualization, etc. After the 3D geometric model is built, it needs to be represented in a certain format for transmission and reconstruction.

[0003] Currently, 3D geometric models are usually represented based on boundary representation, and the resulting boundary representation model includes two parts: topology and geometry, such as Figure 1 As shown in the figure, the topological part constitutes the basic skeleton of the three-dimensional model, including points, edges, rings, faces, and bodies from bottom to top; the geometric part includes the geometric information of points, edges, and faces, such as the geometric information of faces is the surface equation, and the geometric information of edges is the curve equation; the geometric information of points is generally spatial points, such as point coordinates, points on curves, points on surfaces, etc. Since the parameter values ​​contained in the geometric information are usually numerical values ​​with a certain data accuracy, based on this, the geometric information of topological elements may be inconsistent with their topological structures. For example, in the topological structure, edge 1 is the edge connecting surface 1 and surface 2, but the geometric information of edge 1 (curve1) is not in or not in the geometric information of surface 1 and surface 2 (surface1 and surface2). As a result, when reconstructing a three-dimensional model based on the above-mentioned boundary representation model, it is easy to have problems that the reconstructed three-dimensional model is inconsistent with the original three-dimensional model, such as the problem that the surface of the reconstructed three-dimensional model is not smooth or complete (i.e., broken surface), and there are invalid surfaces and invalid bodies in the reconstructed three-dimensional model. Summary of the invention

[0004] In view of the above problems, the present application is proposed to provide a three-dimensional model representation, a three-dimensional model reconstruction method and a device to solve the inconsistency problem in the three-dimensional model reconstruction process.

[0005] The specific plan is as follows: In a first aspect, a three-dimensional model representation method is provided, which is used for reconstructing a three-dimensional model, comprising: Determine the topological structure of the original three-dimensional model; Generate a vertex array of the original three-dimensional model according to the topological structure, wherein the vertex array includes each vertex of the original three-dimensional model, and each vertex in the vertex array has a different vertex ID, and each vertex of the original three-dimensional model includes: a plurality of points on each edge of the original three-dimensional model and each point of the original three-dimensional model; Using each vertex ID in the vertex array to represent each point of the original three-dimensional model as a point representation of the original three-dimensional model; Generate an edge representation and a face representation of the original three-dimensional model, wherein the edge representation includes each edge of the original three-dimensional model represented by a plurality of vertex IDs in the vertex array, and the face representation includes surface parameters of each face of the original three-dimensional model; A polygonal data geometric representation of the original three-dimensional model is obtained, wherein the polygonal data geometric representation includes: the vertex array, the point representation, the edge representation and the face representation.

[0006] In a second aspect, a three-dimensional model reconstruction method is provided, comprising: Acquire a polygonal data geometric representation of an original three-dimensional model to be reconstructed, wherein the polygonal data geometric representation includes a vertex array, a point representation, an edge representation, and a face representation; the vertex array includes each vertex of the original three-dimensional model determined according to the topological structure of the original three-dimensional model, each vertex of the original three-dimensional model includes: a plurality of points on each edge of the original three-dimensional model and each point of the original three-dimensional model, and each vertex in the vertex array has a different vertex id; the point representation includes: each point of the original three-dimensional model represented by each vertex id in the vertex array; the edge includes: each edge of the original three-dimensional model represented by multiple vertex ids in the vertex array; the face representation includes surface parameters of each face of the original three-dimensional model; Determine and reconstruct each point of the original three-dimensional model according to the vertex array and the point representation; Based on the reconstructed points, multiple points on each edge of the original three-dimensional model are determined according to the vertex array and the edge representation, and each edge of the original three-dimensional model is reconstructed; Reconstructing each surface of the original three-dimensional model based on the reconstructed edges according to the surface representation; A reconstructed three-dimensional model is obtained, wherein the reconstructed three-dimensional model includes: at least one volume object, wherein the volume object is defined by at least one shell object, and wherein the shell object is composed of one or more reconstructed surfaces.

[0007] In a third aspect, a three-dimensional model representation device is provided, for reconstruction of a three-dimensional model, comprising: a memory and a processor; The memory is used to store programs; The processor is used to execute the program to implement each step of the above-mentioned three-dimensional model representation method.

[0008] In a fourth aspect, a three-dimensional model reconstruction device is provided, comprising: a memory and a processor; The memory is used to store programs; The processor is used to execute the program to implement each step of the above-mentioned three-dimensional model reconstruction method.

[0009] By means of the above technical solution, the present application provides a three-dimensional model representation method for three-dimensional model reconstruction, that is, the polygon data geometric representation of the original three-dimensional model, specifically including: the vertex array, point representation, edge representation and face representation of the original three-dimensional model. Among them, the vertex array is generated according to the topological structure of the original three-dimensional model, including each vertex of the original three-dimensional model, specifically including multiple points on each edge of the original three-dimensional model and each point of the original three-dimensional model (it should be noted that each point of the original three-dimensional model indicates the boundary point of each edge), and each vertex in the vertex array has a different vertex id; the point representation includes each point of the original three-dimensional model represented by each vertex id in the vertex array, and the edge representation includes each edge of the original three-dimensional model represented by multiple vertex ids in the vertex array. Since the vertex id in the vertex array is unique and the corresponding vertex information is determined, based on this, a vertex id can be used to represent a unique and determined point on the original three-dimensional model, and multiple vertex ids are used to represent a unique and determined edge on the original three-dimensional model. On this basis, although the face representation includes the surface parameters of each face of the original three-dimensional model, the face is also determined under the boundary limit of the ring composed of uniquely determined edges. Therefore, the geometric representation of polygonal data can be consistent with the topological structure of the original three-dimensional model. The present application scheme increases the certainty of the three-dimensional model representation, so that a three-dimensional model consistent with the original three-dimensional model can be reconstructed based on it, which to a certain extent solves the inconsistency problem in the three-dimensional model reconstruction process. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present application. Also, the same reference symbols are used throughout the accompanying drawings to represent the same components. In the accompanying drawings: Figure 1 A structural diagram of a boundary representation model is illustrated; Figure 2 The diagram of the precision range of point elements is shown as an example; Figure 3 It is a flowchart of a three-dimensional model representation method according to an embodiment of the present application; Figure 4 An example of a schematic diagram indicating the positive direction of a triangular primitive is shown; Figure 5 A schematic diagram showing a three-dimensional model provided in an embodiment of the present application is shown; Figure 6An example of a schematic diagram of element relationships in a three-dimensional model representation provided by an embodiment of the present application is provided; Figure 7 is a flow chart of a three-dimensional model reconstruction method according to an embodiment of the present application; Figure 8 A structural schematic diagram of an electronic device is shown. DETAILED DESCRIPTION

[0011] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0012] The applicant of this case found through research that the existing boundary representation model solves the problem of inconsistency between the geometric part and the topology by introducing a certain precision value. For example, if the distance between curve1 and surface1 is less than the corresponding preset precision value, and the distance between curve1 and surface2 is less than the corresponding preset precision value, then it is considered that curve1 is located on surface1 and surface2, that is, edge1 is on surface1 and surface2. However, the introduction of precision values ​​brings more serious precision problems, such as ambiguity. For example, Figure 2 The precision ranges of point 1, point 2 and point 3 are shown. The existing boundary representation model can be used to determine that point 1 and point 3 do not overlap (i.e., they are inconsistent). However, since there is an overlap in the precision ranges of point 1 and point 2, and there is an overlap in the precision ranges of point 2 and point 3, the existing boundary representation model can also be used to determine that point 1 and point 2 overlap (i.e., they are consistent) and point 2 and point 3 overlap (i.e., they are consistent). Based on this, it can be inferred that point 1 and point 3 overlap (i.e., they are consistent), and a conclusion inconsistent with the above conclusion is obtained. Based on this, when applying the boundary representation method, it is necessary to strictly control the precision value to solve the precision problem caused by the introduction of the precision value, which is very difficult.

[0013] In order to solve the above-mentioned problems such as the difficulty in precision control, the present application provides a 3D model representation, a 3D model reconstruction method and a device, which can be used to solve the inconsistency problem in the 3D model reconstruction process. The present application scheme can be implemented based on a terminal with data processing capabilities, which can be a computer, a server, a cloud, etc.

[0014] Figure 3 1 is a flow chart of a three-dimensional model representation method according to an embodiment of the present application, wherein the three-dimensional model representation method is used for reconstructing a three-dimensional model. Figure 3 As shown, the three-dimensional model representation method may include the following steps: Step S101: determine the topological structure of the original three-dimensional model.

[0015] The topological structure of the original 3D model can represent the topological information of the original 3D model, such as how many faces, edges, and points it contains, how the edges are connected, how the faces are connected, etc. Figure 1 The boundary representation model shown, from the perspective of topological elements, the topological structure can include: point, edge, ring, surface, shell and volume topological elements, among which the volume element is the basic unit of the three-dimensional model, the boundary of the volume element can be specified by the shell element, and the area of ​​the volume element can be limited. The shell element is composed of a series of surface elements connected by two surfaces, the boundary of the surface element can be specified by the ring element, and the area of ​​the surface element can be limited. The ring element is composed of a series of edge elements connected end to end, and the boundary of the edge element can be specified by the point element, and the area of ​​the edge element can be limited. On this basis, the surface elements can be connected by the edge elements, and the adjacent information of the surface elements can be provided. The edge elements can be connected by the point elements, and the adjacent information of the edge elements can be provided. Optionally, the topological structure of the original three-dimensional model mentioned above can also be represented in other ways.

[0016] Step S102: Generate a vertex array of the original three-dimensional model according to the topological structure.

[0017] Among them, the vertex array may include each vertex of the original three-dimensional model, and each vertex in the vertex array has a different vertex id, that is, a vertex identifier; each vertex of the original three-dimensional model may include: multiple points on each edge of the original three-dimensional model and each point of the original three-dimensional model, that is, the vertices described in the embodiment of the present application include both the boundary points of the edge (or the intersection points and connection points of the two sides, that is, the points in the boundary representation model) and the points on the edge. It should be noted that the vertices in the vertex array have a unique vertex id and corresponding vertex information in the array. The vertex id can be referenced to refer to the vertex in the vertex array later. Based on this, two vertices with different vertex ids will not be considered to be the same, that is, the same vertex, even if the distance between them is very close (less than the preset precision value). In other words, the vertex array provides a basis for providing a geometric representation method that is consistent with the topology.

[0018] Step S103: Use each vertex ID in the vertex array to represent each point of the original three-dimensional model as a point representation of the original three-dimensional model.

[0019] Step S104: Generate edge representation and face representation of the original three-dimensional model.

[0020] Among them, the edge representation may include each edge of the original three-dimensional model represented by multiple vertex IDs in the vertex array. Since the vertex information corresponding to the vertex ID is determined, the edge formed by connecting the vertex IDs corresponding to the vertex ID is determined; the face representation may include the surface parameters of each face of the original three-dimensional model. It should be noted that the surface parameters are used to represent the geometric characteristic parameters of the surface and simplify the geometric data, provide the surface shape, and can be regarded as an analytical representation of the surface, such as the surface equation or the parameters of a regular surface (such as the radius of a sphere), and the ring element composed of the edge elements defines the boundary of the face element. Based on this, by determining the boundary of the face element, the possibility of problems such as discontinuous edges of the face element, non-closed face patches, overlapping face elements, and crossing face elements is reduced.

[0021] Step S105: Obtain the polygonal data geometric representation of the original three-dimensional model.

[0022] The polygon data geometric representation may include: the vertex array, the point representation, the edge representation and the face representation. It should be noted that the polygon data geometry in the polygon data geometric representation refers to PolyData geometry, which may also be called discrete geometry.

[0023] The three-dimensional model representation method for three-dimensional model reconstruction provided by the above method, that is, the polygonal data geometric representation of the three-dimensional model, can specifically include: vertex array, point representation, edge representation and face representation of the three-dimensional model. Among them, the vertex array is generated according to the topological structure of the three-dimensional model, including each vertex of the three-dimensional model, specifically including multiple points on each edge of the three-dimensional model and each point of the three-dimensional model, and each vertex in the vertex array has a different vertex id; the point representation includes each point of the three-dimensional model represented by each vertex id in the vertex array, and the edge representation includes each edge of the three-dimensional model represented by multiple vertex ids in the vertex array. Since the vertex id in the vertex array is unique and the corresponding vertex information is determined, based on this, using a vertex id can represent a unique and determined point on the three-dimensional model, and using multiple vertex ids can represent a unique and determined edge on the three-dimensional model. On this basis, although the face representation includes the surface parameters of each face of the three-dimensional model, the face is also determined under the boundary limit of the ring composed of uniquely determined edges. Therefore, the geometric representation of polygonal data can be consistent with the topological structure of the three-dimensional model, which to a certain extent avoids the occurrence of precision problems caused by the introduction of precision values. The present application scheme ensures the certainty of the three-dimensional model representation, so that a three-dimensional model consistent with the original three-dimensional model can be reconstructed based on it, which to a certain extent solves the inconsistency problem in the three-dimensional model reconstruction process.

[0024] In one or more embodiments provided in the present application, the above-mentioned step S102, generating the vertex array of the original three-dimensional model according to the topological structure, may include: The vertex information of the original three-dimensional model is obtained to generate the vertex array.

[0025] The vertex information may include information of each vertex of the original three-dimensional model. Exemplarily, the vertex information may be acquired based on geometric information of the original three-dimensional model.

[0026] In a possible implementation, the above-mentioned obtaining the vertex information of the original three-dimensional model and generating the vertex array may include: Step A: sampling each edge in the topological structure to obtain a plurality of points as vertices of the original three-dimensional model; and using each point of the original three-dimensional model in the topological structure as a vertex of the original three-dimensional model.

[0027] Step B: obtaining information of each vertex of the original three-dimensional model as the vertex information.

[0028] Exemplarily, the geometric information of each vertex of the original three-dimensional model may be information indicating a spatial point, such as point coordinates, a point on a curve, a point on a curved surface, etc. It should be noted that in the embodiment of the present application, a curve includes a straight line, and a curved surface includes a plane.

[0029] Optionally, taking an edge as an example, the edge can be discretized based on the geometric information of the edge to obtain information of multiple points on the edge as the vertex information of the edge. The geometric information of the edge indicates the shape of the edge and may include curve information, such as curve equation, curve parameters, etc.

[0030] Step C: Mark each vertex indicated in the vertex information with a unique vertex ID to generate the vertex array.

[0031] The above method provides possible steps for generating a vertex array. The following is an example of a process for geometrically representing the topological elements of the original three-dimensional model based on the generated or acquired vertex array.

[0032] In one or more embodiments provided in the present application, the above step S104, generating the edge representation of the original three-dimensional model, may include: For each edge of the original three-dimensional model, the vertex IDs of multiple points on the edge are obtained from the vertex array, and the obtained multiple vertex IDs are arranged according to the direction of the edge to obtain the vertex ID array of the edge.

[0033] In this way, the edge representation is obtained, and the edge representation includes the vertex id array of each edge of the original three-dimensional model. It should be noted that, taking any edge as an example, the vertex id array of the edge represents the Lines object of the edge, that is, the polyline Lines approaching the edge. Specifically, according to the arrangement order of each vertex id in the vertex id array of the edge, the vertices corresponding to each vertex id are connected in sequence, and the polyline Lines of the edge can be obtained.

[0034] In one or more embodiments provided in the present application, the edge representation may further include: curve parameters of each edge of the original three-dimensional model.

[0035] Among them, the curve parameters can be the analytical geometric representation of the edge, such as the curve equation or the parameters of the regular curve (such as the radius of a circle). Based on this, the polygonal data geometric representation of the edge element (referred to as Poly edge) can include Lines objects (i.e., vertex id arrays) and analytical curves (i.e., curve parameters). It should be noted that the curve parameters may not exist in the Poly edge and can be determined according to the reconstruction requirements of the three-dimensional model. For example, if the precision of the reconstructed model is required to be high, the curve parameters can be included in the edge representation so that when reconstructing the edges (i.e., curves) in the three-dimensional model, the adjacent vertices in the vertex id array are connected according to the instructions of the curve parameters. In addition, although the granularity of the sampling process and the discrete process can be reduced to meet the precision requirements of the reconstructed model, this method will greatly increase the data volume of the vertex array and the data volume of the edge representation.

[0036] In one or more embodiments provided in the present application, the surface representation may further include: an array of triangle primitives of each surface of the original three-dimensional model.

[0037] It should be noted that, taking any face as an example, the triangle primitive array of the face represents the triangle primitive objects that constitute the face, that is, the Triangles object. The triangle primitive array may include multiple groups of vertex IDs, each group of vertex IDs corresponds to a triangle primitive, and may include three vertex IDs arranged in a certain order.

[0038] Based on the above, the process of generating the surface object may include: For each face of the original 3D model, the following steps DG are performed: Step D: obtaining the surface parameters of the surface.

[0039] Among them, the surface parameters can characterize the shape of the surface.

[0040] Step E: determine the ring on the surface, determine the edges constituting the ring, and determine the vertices on the surface from the vertex array based on the determined edges.

[0041] Step F: Based on the determined vertices on the surface, the surface is discretized according to the surface parameters of the surface to obtain a plurality of triangular primitives constituting the surface.

[0042] Through step EF, the vertices on the ring elements (or edge elements) can be mapped to the surface to obtain a bounded surface, so as to perform calculations on the bounded surface to obtain a Triangles object of the surface. Exemplarily, the calculation algorithms used may include a Delaunay triangulation algorithm (i.e., a Delaunay system method), a voxel construction algorithm (voxel system method), etc.

[0043] Step G: Add the vertices of the plurality of triangular primitives not included in the vertex array to the vertex array, mark them with unique vertex IDs in the vertex array, and generate a triangular primitive array for the face.

[0044] Among them, the information of the vertices newly added to the vertex array can be obtained and determined based on the geometric information of the surface. On the basis of the above, the triangular primitive array may include: each triangular primitive represented by the vertex id in the vertex array, and, in any triangular primitive represented by the vertex id in the vertex array, the order of the vertex id corresponds to the positive direction of the triangular primitive. It should be noted that the positive direction of the triangular primitive indicates that the positive direction side belongs to the three-dimensional model. Based on this, in the topological structure of the original three-dimensional model, there is no need to mark the direction mark on the topological surface to indicate which side of the surface the model is located. Exemplarily, the order of the vertex ids and the positive direction of the triangular primitive satisfy the right-hand rule, such as Figure 4 shown.

[0045] Based on this, the polygonal data geometric representation of the face element (referred to as Poly surface) can include analytical surfaces (such as surface parameters, surface equations) and Triangles objects (i.e., arrays of triangular primitives). It should be noted that in the Poly surface, the Triangles object may not exist to reduce the amount of data in the geometric representation of the polygonal data, and the Triangles object can be subsequently calculated based on the analytical surface. Exemplarily, when reconstructing a surface in a three-dimensional model, the Triangles object of the surface can be calculated from the analytical surface based on the determined surface boundary, so as to reconstruct the surface based on the triangular primitives that constitute the surface.

[0046] In addition, when determining the vertices on the edges of the original 3D model and when determining the Triangles object of the surface element, the granularity of the sampling process and the discretization process can be set according to the requirements for the fineness of the 3D model. The smaller the granularity of the sampling process and the discretization process, the larger the amount of data represented by the polygon data geometry of the obtained 3D model, and the finer the reconstructed 3D model.

[0047] Through the above scheme, the embodiment of the present application provides a three-dimensional model representation scheme, firstly, the topological structure of the original three-dimensional model is obtained, and the specific determination process can refer to the boundary representation method; then, based on the geometric information of the point topological elements and the edge topological elements, all the vertex information of the original three-dimensional model (including the boundary points of the edges and the points on the edges) is obtained, and the vertex array of the original three-dimensional model is constructed based on these vertices and the unique vertex id in each vertex array is marked; then, Poly points and Poly edges are constructed based on the vertex array, and the Poly edges can include the corresponding vertex id array and analytical curve, and the Poly points can include the corresponding vertex id and analytical point; then, a Poly surface is constructed, wherein the Poly surface can include the corresponding The analytic surface can also include the corresponding triangles object. When configuring the triangles object for the Poly surface, you can first determine all the Poly edges that limit the Poly surface, and use the vertices on the Poly edges as the boundary vertices for dividing the analytic surface, so as to calculate the internal vertices of the triangular primitive object and the Poly surface based on the analytic surface, add the internal vertices to the vertex array of the original 3D model, so as to generate the triangles object accordingly, and configure the generated triangles object to the Poly surface; use the vertex array, Poly point, Poly edge and Poly surface as the PolyData geometric representation of the complete original 3D model. Based on the above content, Figure 5 A schematic diagram of a three-dimensional model provided by an embodiment of the present application is shown, which may include a topology part, a PolyData geometry part, and an analytical geometry part, wherein the analytical geometry can be attached to the PolyData geometry to represent the geometric characteristic parameters and simplified geometric data of points, curves, and surfaces. In addition, by means of the three-dimensional model representation scheme provided by the embodiment of the present application, the relationship between the elements can be as follows: Figure 6 It should be noted that in PolyData geometry, vertex ids can be used to represent points, edges, and faces, which belongs to the logical state. Therefore, there is no need to control the accuracy. The PolyData geometry representation can be consistent with the topology, thereby ensuring the validity of the 3D model and providing a basis for reconstructing a 3D model that is consistent with the original 3D model.

[0048] Based on the 3D model representation schemes provided in the above embodiments, the present application embodiment further provides a 3D model reconstruction method. It should be noted that the 3D model representation scheme described above can correspond to the 3D model reconstruction scheme described below. Figure 7 As shown, the three-dimensional model reconstruction method may include the following steps: Step S201: Obtain the polygon data geometric representation of the original three-dimensional model to be reconstructed.

[0049] Among them, the polygon data geometric representation includes vertex array, point representation, edge representation and face representation; the vertex array includes each vertex of the original three-dimensional model determined according to the topological structure of the original three-dimensional model, and each vertex of the original three-dimensional model includes: multiple points on each edge of the original three-dimensional model and each point of the original three-dimensional model, and each vertex in the vertex array has a different vertex id; the point representation includes: each point of the original three-dimensional model represented by each vertex id in the vertex array; the edge includes: each edge of the original three-dimensional model represented by multiple vertex ids in the vertex array; the face representation includes the surface parameters of each face of the original three-dimensional model.

[0050] Step S202: determine and reconstruct each point of the original three-dimensional model according to the vertex array and the point representation.

[0051] Exemplarily, the corresponding vertex can be determined from the vertex array according to the vertex ID in the point representation, so as to reconstruct the point element according to the vertex information.

[0052] Step S203: Based on the reconstructed points, multiple points on the edges of the original three-dimensional model are determined according to the vertex array and the edge representation, and the edges of the original three-dimensional model are reconstructed.

[0053] The method of determining the multiple points on the edge may refer to the above step S202. When reconstructing the edge of the original three-dimensional model, the polyline (ie, the discretized edge) obtained by directly connecting adjacent vertices may be used as the reconstructed edge.

[0054] Optionally, the edge representation may further include curve parameters, on which basis, when reconstructing the edge of the original three-dimensional model, adjacent vertices may be connected in accordance with the connection method of adjacent vertices indicated by the curve parameters to obtain the reconstructed edge.

[0055] Step S204: Reconstruct each surface of the original three-dimensional model based on the reconstructed edges according to the surface representation.

[0056] It should be noted that the reconstructed edge defines the boundary of the surface, and the bounded surface can be reconstructed based on the surface parameters to obtain the reconstructed surface. For example, the surface can be directly reconstructed, or the various triangular primitives constituting the surface can be calculated based on the surface parameters, edge representation and top and bottom arrays, and the surface can be reconstructed by reconstructing the triangular primitives.

[0057] Step S205: Obtain a reconstructed three-dimensional model.

[0058] The reconstructed three-dimensional model may include: at least one volume object, the volume object is defined by at least one shell object, and the shell object is composed of one or more reconstructed surfaces.

[0059] The above scheme reconstructs certain point objects and edge objects based on the polygonal data set representation of the original three-dimensional model. On this basis, certain ring objects are composed of certain edge objects to obtain the boundary of a certain face, which to a certain extent solves the problems of edge discontinuity, non-closed face patches, overlapping and crossing of face objects in the reconstructed face objects caused by analytic geometry and precision values. Then, the reconstructed face objects form shell objects, which in turn define body objects, thereby solving the problem of invalid bodies appearing during the reconstruction of the three-dimensional model. Finally, a three-dimensional model consistent with the original three-dimensional model is reconstructed, which to a certain extent ensures the consistency and certainty of the three-dimensional model.

[0060] In some embodiments provided in the present application, the face representation may also include: a triangular primitive array of each face of the original three-dimensional model, the triangular primitive array including: each triangular primitive constituting the face corresponding to the triangular primitive array represented by the vertex ID in the vertex array. It should be noted that the vertex array is a vertex array expanded using the vertices inside the face.

[0061] On the basis of the above, the above step S204, based on the surface representation and on the basis of the reconstructed edges, reconstructing each surface of the original three-dimensional model, includes: On the basis of the reconstructed edges, the triangle primitives constituting the faces of the original three-dimensional model are reconstructed according to the vertex array and the face representation, so as to reconstruct the faces of the original three-dimensional model.

[0062] It should be noted that in this process, you can first refer to the above-mentioned step S202 to reconstruct the internal vertices of each face of the original three-dimensional model, then reconstruct the triangular primitives that constitute the original three-dimensional model, and determine the side of the model in the triangular primitives, and finally achieve reconstruction of the face of the three-dimensional model.

[0063] Optionally, the features represented by the polygonal data set of the original three-dimensional model and the generation process thereof in the reconstruction process of the three-dimensional model can refer to the above description. The embodiment of the present application provides a three-dimensional model representation device for reconstructing a three-dimensional model. The three-dimensional model representation device described below and the three-dimensional model representation method described above can refer to each other. The three-dimensional model representation device may include: A topology structure determination unit, used for determining the topology structure of the original three-dimensional model; A vertex data generating unit, configured to generate a vertex array of the original three-dimensional model according to the topological structure, wherein the vertex array includes each vertex of the original three-dimensional model, and each vertex in the vertex array has a different vertex ID, and each vertex of the original three-dimensional model includes: a plurality of points on each edge of the original three-dimensional model and each point of the original three-dimensional model; A three-dimensional model representation unit is used to use each vertex ID in the vertex array to represent each point of the original three-dimensional model as a point representation of the original three-dimensional model; generate an edge representation and a face representation of the original three-dimensional model, the edge representation includes each edge of the original three-dimensional model represented by multiple vertex IDs in the vertex array, and the face representation includes surface parameters of each face of the original three-dimensional model; obtain a polygon data geometric representation of the original three-dimensional model, the polygon data geometric representation includes: the vertex array, the point representation, the edge representation and the face representation.

[0064] In one or more embodiments provided in the present application, the process of the vertex data generating unit generating the vertex array of the original three-dimensional model according to the topological structure may include: The vertex information of the original three-dimensional model is obtained to generate the vertex array; wherein the vertex information includes information of each vertex of the original three-dimensional model.

[0065] In one or more embodiments provided in the present application, the process of the vertex data generation unit acquiring the vertex information of the original three-dimensional model and generating the vertex array may include: Sampling each edge in the topological structure to obtain a plurality of points as vertices of the original three-dimensional model; and using each point of the original three-dimensional model in the topological structure as a vertex of the original three-dimensional model; Acquire information of each vertex of the original three-dimensional model as the vertex information; Each vertex indicated in the vertex information is marked with a unique vertex id, and the vertex array is generated.

[0066] In one or more embodiments provided in the present application, the process of the 3D model representation unit generating the edge representation of the original 3D model may include: For each edge of the original three-dimensional model, obtain vertex IDs of multiple points on the edge from the vertex array, and arrange the obtained multiple vertex IDs according to the direction of the edge to obtain a vertex ID array of the edge; The edge representation is obtained, where the edge representation includes an array of vertex IDs of each edge of the original three-dimensional model.

[0067] In one or more embodiments provided in the present application, the edge representation further includes: curve parameters of each edge of the original three-dimensional model.

[0068] In one or more embodiments provided in the present application, the surface representation further includes: an array of triangle primitives of each surface of the original three-dimensional model.

[0069] Based on the above, the process of generating the surface representation by the 3D model representation unit may include: For each face of the original three-dimensional model, the surface parameters of the face are obtained, the rings on the face are determined, the edges constituting the rings are determined, the vertices on the face are determined from the vertex array according to the determined edges, and based on the determined vertices on the face, the face is discretized according to the surface parameters of the face to obtain a plurality of triangular primitives constituting the face, the vertices of the plurality of triangular primitives not included in the vertex array are added to the vertex array, and the vertices in the vertex array are marked with unique vertex ids, and a triangular primitive array of the face is generated, the triangular primitive array includes each triangular primitive represented by the vertex id in the vertex array, and, in any triangular primitive represented by the vertex id in the vertex array, the order of the vertex ids corresponds to the positive direction of the triangular primitive.

[0070] The present application provides a three-dimensional model reconstruction device, and the three-dimensional model reconstruction device described below and the three-dimensional model reconstruction method described above can refer to each other. The three-dimensional model reconstruction device may include: A three-dimensional model representation acquisition unit, used for acquiring a polygon data geometric representation of an original three-dimensional model to be reconstructed, wherein the polygon data geometric representation includes a vertex array, a point representation, an edge representation, and a face representation; the vertex array includes each vertex of the original three-dimensional model determined according to the topological structure of the original three-dimensional model, each vertex of the original three-dimensional model includes: a plurality of points on each edge of the original three-dimensional model and each point of the original three-dimensional model, and each vertex in the vertex array has a different vertex ID; the point representation includes: each point of the original three-dimensional model represented by each vertex ID in the vertex array; the edge includes: each edge of the original three-dimensional model represented by multiple vertex IDs in the vertex array; the face representation includes surface parameters of each face of the original three-dimensional model; A three-dimensional model reconstruction unit is used to determine and reconstruct each point of the original three-dimensional model based on the vertex array and the point representation; based on the reconstructed points, determine multiple points on each edge of the original three-dimensional model based on the vertex array and the edge representation, and reconstruct each edge of the original three-dimensional model; based on the surface representation, reconstruct each surface of the original three-dimensional model based on each reconstructed edge; obtain a reconstructed three-dimensional model, wherein the reconstructed three-dimensional model includes: at least one body object, the body object is defined by at least one shell object, and the shell object is composed of one or more reconstructed surfaces.

[0071] Optionally, the surface representation may further include: a triangle primitive array of each surface of the original three-dimensional model, the triangle primitive array including: each triangle primitive constituting the surface corresponding to the triangle primitive array represented by the vertex ID in the vertex array.

[0072] On the basis of the above, the process of the 3D model reconstruction unit reconstructing each face of the original 3D model based on the face representation and on the basis of each reconstructed edge may include: On the basis of the reconstructed edges, the triangle primitives constituting the faces of the original three-dimensional model are reconstructed according to the vertex array and the face representation, so as to reconstruct the faces of the original three-dimensional model.

[0073] The 3D model representation scheme provided in the embodiment of the present application can be applied to a 3D model representation device, and the 3D model reconstruction scheme can be applied to a 3D model reconstruction device. The 3D model representation device and the 3D model reconstruction device can refer to electronic devices, such as a terminal with data processing capabilities: a computer, etc. Optionally, Figure 8 The hardware structure diagram of the electronic device is shown in FIG. Figure 8 , the hardware structure of the electronic device may include: at least one processor 1, at least one communication interface 2, at least one memory 3 and at least one communication bus 4; In the embodiment of the present application, the number of the processor 1, the communication interface 2, the memory 3, and the communication bus 4 is at least one, and the processor 1, the communication interface 2, and the memory 3 communicate with each other through the communication bus 4; The processor 1 may be a central processing unit CPU, or an application-specific integrated circuit ASIC (Application Specific Integrated Circuit), or one or more integrated circuits configured to implement the embodiments of the present invention, etc.; The memory 3 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), etc., such as at least one disk memory; The memory stores a program, and the processor can call the program stored in the memory.

[0074] Based on this, the program stored in the memory of the three-dimensional model representation device can be used to: Determine the topological structure of the original three-dimensional model; Generate a vertex array of the original three-dimensional model according to the topological structure, wherein the vertex array includes each vertex of the original three-dimensional model, and each vertex in the vertex array has a different vertex ID, and each vertex of the original three-dimensional model includes: a plurality of points on each edge of the original three-dimensional model and each point of the original three-dimensional model; Using each vertex ID in the vertex array to represent each point of the original three-dimensional model as a point representation of the original three-dimensional model; Generate an edge representation and a face representation of the original three-dimensional model, wherein the edge representation includes each edge of the original three-dimensional model represented by a plurality of vertex IDs in the vertex array, and the face representation includes surface parameters of each face of the original three-dimensional model; A polygonal data geometric representation of the original three-dimensional model is obtained, wherein the polygonal data geometric representation includes: the vertex array, the point representation, the edge representation and the face representation.

[0075] Optionally, the detailed functions and extended functions of the program may refer to the above description.

[0076] The embodiment of the present application further provides a storage medium, which may store a program suitable for execution by a processor, wherein the program is used to: Determine the topological structure of the original three-dimensional model; Generate a vertex array of the original three-dimensional model according to the topological structure, wherein the vertex array includes each vertex of the original three-dimensional model, and each vertex in the vertex array has a different vertex ID, and each vertex of the original three-dimensional model includes: a plurality of points on each edge of the original three-dimensional model and each point of the original three-dimensional model; Using each vertex ID in the vertex array to represent each point of the original three-dimensional model as a point representation of the original three-dimensional model; Generate an edge representation and a face representation of the original three-dimensional model, wherein the edge representation includes each edge of the original three-dimensional model represented by a plurality of vertex IDs in the vertex array, and the face representation includes surface parameters of each face of the original three-dimensional model; A polygonal data geometric representation of the original three-dimensional model is obtained, wherein the polygonal data geometric representation includes: the vertex array, the point representation, the edge representation and the face representation, and the polygonal data geometric representation is used to reconstruct the original three-dimensional model.

[0077] Optionally, the detailed functions and extended functions of the program may refer to the above description.

[0078] Based on this, the program stored in the memory of the three-dimensional model reconstruction device can be used to: Acquire a polygonal data geometric representation of an original three-dimensional model to be reconstructed, wherein the polygonal data geometric representation includes a vertex array, a point representation, an edge representation, and a face representation; the vertex array includes each vertex of the original three-dimensional model determined according to the topological structure of the original three-dimensional model, each vertex of the original three-dimensional model includes: a plurality of points on each edge of the original three-dimensional model and each point of the original three-dimensional model, and each vertex in the vertex array has a different vertex id; the point representation includes: each point of the original three-dimensional model represented by each vertex id in the vertex array; the edge includes: each edge of the original three-dimensional model represented by multiple vertex ids in the vertex array; the face representation includes surface parameters of each face of the original three-dimensional model; Determine and reconstruct each point of the original three-dimensional model according to the vertex array and the point representation; Based on the reconstructed points, multiple points on each edge of the original three-dimensional model are determined according to the vertex array and the edge representation, and each edge of the original three-dimensional model is reconstructed; Reconstructing each surface of the original three-dimensional model based on the reconstructed edges according to the surface representation; A reconstructed three-dimensional model is obtained, wherein the reconstructed three-dimensional model includes: at least one volume object, wherein the volume object is defined by at least one shell object, and wherein the shell object is composed of one or more reconstructed surfaces.

[0079] Optionally, the detailed functions and extended functions of the program may refer to the above description.

[0080] The embodiment of the present application further provides a storage medium, which may store a program suitable for execution by a processor, wherein the program is used to: Acquire a polygonal data geometric representation of an original three-dimensional model to be reconstructed, wherein the polygonal data geometric representation includes a vertex array, a point representation, an edge representation, and a face representation; the vertex array includes each vertex of the original three-dimensional model determined according to the topological structure of the original three-dimensional model, each vertex of the original three-dimensional model includes: a plurality of points on each edge of the original three-dimensional model and each point of the original three-dimensional model, and each vertex in the vertex array has a different vertex id; the point representation includes: each point of the original three-dimensional model represented by each vertex id in the vertex array; the edge includes: each edge of the original three-dimensional model represented by multiple vertex ids in the vertex array; the face representation includes surface parameters of each face of the original three-dimensional model; Determine and reconstruct each point of the original three-dimensional model according to the vertex array and the point representation; Based on the reconstructed points, multiple points on each edge of the original three-dimensional model are determined according to the vertex array and the edge representation, and each edge of the original three-dimensional model is reconstructed; Reconstructing each surface of the original three-dimensional model based on the reconstructed edges according to the surface representation; A reconstructed three-dimensional model is obtained, wherein the reconstructed three-dimensional model includes: at least one volume object, wherein the volume object is defined by at least one shell object, and wherein the shell object is composed of one or more reconstructed surfaces.

[0081] Optionally, the detailed functions and extended functions of the program may refer to the above description.

[0082] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0083] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The various embodiments can be combined as needed, and the same or similar parts can refer to each other.

[0084] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A three-dimensional model representation method for reconstructing a three-dimensional model, characterized in that: include: Determine the topological structure of the original three-dimensional model; Generate a vertex array of the original three-dimensional model according to the topological structure, wherein the vertex array includes each vertex of the original three-dimensional model, and each vertex in the vertex array has a different vertex ID, and each vertex of the original three-dimensional model includes: a plurality of points on each edge of the original three-dimensional model and each point of the original three-dimensional model; Using each vertex ID in the vertex array to represent each point of the original three-dimensional model as a point representation of the original three-dimensional model; Generate an edge representation and a face representation of the original three-dimensional model, wherein the edge representation includes each edge of the original three-dimensional model represented by a plurality of vertex IDs in the vertex array, and the face representation includes surface parameters of each face of the original three-dimensional model; A polygonal data geometric representation of the original three-dimensional model is obtained, wherein the polygonal data geometric representation includes: the vertex array, the point representation, the edge representation and the face representation.

2. The three-dimensional model representation method according to claim 1, characterized in that: Generating the vertex array of the original three-dimensional model according to the topological structure includes: Acquire vertex information of the original three-dimensional model and generate the vertex array; The vertex information includes information of each vertex of the original three-dimensional model.

3. The three-dimensional model representation method according to claim 2, characterized in that: Acquiring vertex information of the original three-dimensional model and generating the vertex array includes: Sampling each edge in the topological structure to obtain a plurality of points as vertices of the original three-dimensional model; and using each point of the original three-dimensional model in the topological structure as a vertex of the original three-dimensional model; Acquire information of each vertex of the original three-dimensional model as the vertex information; Each vertex indicated in the vertex information is marked with a unique vertex id, and the vertex array is generated.

4. The three-dimensional model representation method according to any one of claims 1 to 3, characterized in that: Generating an edge representation of the original three-dimensional model includes: For each edge of the original three-dimensional model, obtain vertex IDs of multiple points on the edge from the vertex array, and arrange the obtained multiple vertex IDs according to the direction of the edge to obtain a vertex ID array of the edge; The edge representation is obtained, where the edge representation includes an array of vertex IDs of each edge of the original three-dimensional model.

5. The three-dimensional model representation method according to claim 4, characterized in that: The edge representation also includes: curve parameters of each edge of the original three-dimensional model.

6. The three-dimensional model representation method according to claim 4, characterized in that: The face representation also includes: an array of triangle primitives of each face of the original three-dimensional model; The generation process of the face representation includes: For each face of the original three-dimensional model, the surface parameters of the face are obtained, the rings on the face are determined, the edges constituting the rings are determined, the vertices on the face are determined from the vertex array according to the determined edges, and based on the determined vertices on the face, the face is discretized according to the surface parameters of the face to obtain a plurality of triangular primitives constituting the face, the vertices of the plurality of triangular primitives not included in the vertex array are added to the vertex array, and the vertices in the vertex array are marked with unique vertex ids, and a triangular primitive array of the face is generated, the triangular primitive array includes each triangular primitive represented by the vertex id in the vertex array, and, in any triangular primitive represented by the vertex id in the vertex array, the order of the vertex ids corresponds to the positive direction of the triangular primitive.

7. A three-dimensional model reconstruction method, characterized in that: include: Acquire a polygonal data geometric representation of an original three-dimensional model to be reconstructed, wherein the polygonal data geometric representation includes a vertex array, a point representation, an edge representation, and a face representation; The vertex array includes vertices of the original three-dimensional model determined according to the topological structure of the original three-dimensional model, and each vertex of the original three-dimensional model includes: multiple points on each edge of the original three-dimensional model and each point of the original three-dimensional model, and each vertex in the vertex array has a different vertex ID; the point representation includes: each point of the original three-dimensional model represented by each vertex ID in the vertex array; the edge includes: each edge of the original three-dimensional model represented by multiple vertex IDs in the vertex array; the face representation includes surface parameters of each face of the original three-dimensional model; Determine and reconstruct each point of the original three-dimensional model according to the vertex array and the point representation; Based on the reconstructed points, multiple points on each edge of the original three-dimensional model are determined according to the vertex array and the edge representation, and each edge of the original three-dimensional model is reconstructed; Reconstructing each surface of the original three-dimensional model based on the reconstructed edges according to the surface representation; A reconstructed three-dimensional model is obtained, wherein the reconstructed three-dimensional model includes: at least one volume object, wherein the volume object is defined by at least one shell object, and wherein the shell object is composed of one or more reconstructed surfaces.

8. The three-dimensional model reconstruction method according to claim 7, characterized in that: The face representation further includes: a triangular primitive array of each face of the original three-dimensional model, wherein the triangular primitive array includes: each triangular primitive constituting the face corresponding to the triangular primitive array represented by the vertex ID in the vertex array; According to the surface representation, on the basis of the reconstructed edges, reconstructing each surface of the original three-dimensional model includes: On the basis of the reconstructed edges, the triangle primitives constituting the faces of the original three-dimensional model are reconstructed according to the vertex array and the face representation, so as to reconstruct the faces of the original three-dimensional model.

9. A three-dimensional model representation device for reconstruction of a three-dimensional model, characterized in that: include: Memory and processor; The memory is used to store programs; The processor is used to execute the program to implement each step of the three-dimensional model representation method as described in any one of claims 1-6.

10. A three-dimensional model reconstruction device, characterized in that: include: Memory and processor; The memory is used to store programs; The processor is used to execute the program to implement each step of the three-dimensional model reconstruction method as described in claim 7 or 8.