Methods, devices, servers, and readable storage media for creating 3D models

By using the concave hull polygon construction method of top, bottom and side surfaces in the 3D model, the problem of inaccurate convex hull geometry modeling is solved, and a more realistic and accurate 3D model expression is achieved.

CN115713602BActive Publication Date: 2026-03-06JINGYING SHUZHI TECH HLDG CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211433838.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-16
Publication Date
2026-03-06
Estimated Expiration
2042-11-16

AI Technical Summary

Technical Problem

In existing technologies, 3D convex hull geometry algorithms cannot accurately represent concave parts during modeling, resulting in poor modeling results.

Method used

The three-dimensional model is constructed using hull polygons based on the top, bottom, and side surfaces. By determining the hull polygons of the top, bottom, and side surfaces, the hull geometry is dynamically drawn, improving the accuracy of the representation.

Benefits of technology

It significantly improves the accuracy of 3D model representation and achieves more realistic modeling results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115713602B_ABST
    Figure CN115713602B_ABST
Patent Text Reader

Abstract

This invention provides a method, apparatus, server, and readable storage medium for building a 3D model, comprising: acquiring a target data point set to be modeled; wherein the target data point set includes top surface points and bottom surface points; determining a top surface hull polygon based on the top surface points in the target data point set, determining a bottom surface hull polygon based on the bottom surface points in the target data point set, and determining side surface polygons based on the target data point set; and determining the 3D model corresponding to the target data point set based on the top surface hull polygon, the bottom surface hull polygon, and the side surface polygons. This invention can significantly improve the accuracy of 3D model representation, thereby obtaining a more realistic 3D model and effectively improving the modeling effect.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of 3D modeling technology, and in particular to a method, apparatus, server, and readable storage medium for creating 3D models. Background Technology

[0002] Currently, existing technologies typically employ 3D convex hull geometry algorithms to build 3D models. Given points in 3D space, they calculate the smallest convex polyhedron containing those points. However, in many applications, the 3D convex hull cannot accurately reflect the content to be expressed; for example, it may make concave areas appear convex, resulting in poor modeling quality. Summary of the Invention

[0003] In view of this, the purpose of the present invention is to provide a method, apparatus, server and readable storage medium for creating a three-dimensional model, which can significantly improve the accuracy of the three-dimensional model representation, thereby obtaining a more realistic three-dimensional model and effectively improving the modeling effect.

[0004] In a first aspect, embodiments of the present invention provide a method for establishing a three-dimensional model, comprising: acquiring a target data point set to be modeled; wherein the target data point set includes top surface points and bottom surface points; determining a top surface hull polygon based on the top surface points in the target data point set, determining a bottom surface hull polygon based on the bottom surface points in the target data point set, and determining side surface polygons based on the target data point set; and determining a three-dimensional model corresponding to the target data point set based on the top surface hull polygon, the bottom surface hull polygon, and the side surface polygons.

[0005] In one embodiment, the step of determining the top surface concave polygon based on the top surface points in the target data point set includes: setting the Z coordinate of each top surface point in the target data point set to the same specified value, and determining the top surface triangular mesh structure based on the X and Y coordinates of each top surface point; sequentially connecting each top surface point in the top surface triangular mesh structure according to the point identifier carried by the top surface points in the target data point set to obtain the top surface boundary polygon; sequentially looping through the triangles in the top surface triangular mesh structure, and if the centroid of the triangle is located outside the top surface boundary polygon, then removing the triangle from the top surface triangular mesh structure to obtain the top surface concave polygon.

[0006] In one embodiment, the step of determining the side polygon based on the target data point set includes: determining a starting top point and a starting bottom point based on the distance between the top point and the bottom point in the target data point set; adjusting the sorting of the top points in the target data point set based on the starting top point, and adjusting the sorting of the bottom points in the target data point set based on the starting bottom point; determining the projection point of each top point in the target data point set in a specified plane based on the top point sorting; and determining the projection point corresponding to each bottom point in the target data point set in the specified plane based on the bottom point sorting; setting the Z coordinate of each projection point to the same specified value, and determining the side triangular mesh structure based on the X and Y coordinates of each projection point; and determining the side polygon based on the side triangular mesh structure.

[0007] In one embodiment, the step of determining the starting top point and the starting bottom point based on the distance between the top point and the bottom point in the target data point set includes: traversing each top point in the target data point set to calculate the distance between each top point and each bottom point; determining the top point corresponding to the minimum distance as the starting top point; and determining the bottom point corresponding to the minimum distance as the starting bottom point.

[0008] In one embodiment, the step of determining the projection point of each top surface point in the target data point set in a specified plane based on the top surface point sorting includes: for each top surface point in the target data point set, determining the top surface points preceding the current top surface point based on the top surface point sorting, and determining the projection coordinates of the projection point of the current top surface point in the specified plane based on the projection coordinates of the projection points of the top surface points preceding the current top surface point in the specified plane, and the original coordinates of the two points.

[0009] In one embodiment, the step of determining the three-dimensional model corresponding to the target data point set based on the top hull polygon, the bottom hull polygon, and the side polygon includes: constructing a top three-dimensional structure based on the top hull polygon, constructing a bottom three-dimensional structure based on the bottom hull polygon, and constructing a side three-dimensional structure based on the side polygon; and combining the top three-dimensional structure, the bottom three-dimensional structure, and the side three-dimensional structure to obtain the three-dimensional model corresponding to the target data point set.

[0010] In one embodiment, the step of constructing a top surface three-dimensional structure based on the top surface concave polygon includes: recovering the Z coordinate of each top surface point in the top surface concave polygon, and constructing a top surface three-dimensional structure based on the recovered top surface concave polygon; the step of constructing a side surface three-dimensional structure based on the side surface polygon includes: mapping each projection point in the side surface polygon to the top surface point or the bottom surface point to obtain the side surface three-dimensional structure.

[0011] Secondly, embodiments of the present invention also provide a three-dimensional model building apparatus, comprising: a point set acquisition module, used to acquire a target data point set to be modeled; wherein the target data point set includes top surface points and bottom surface points; a polygon determination module, used to determine a top surface hull polygon based on the top surface points in the target data point set, and to determine a bottom surface hull polygon based on the bottom surface points in the target data point set, and to determine side surface polygons based on the target data point set; and a model building module, used to determine a three-dimensional model corresponding to the target data point set based on the top surface hull polygon, the bottom surface hull polygon, and the side surface polygons.

[0012] Thirdly, embodiments of the present invention also provide a server, including a processor and a memory, the memory storing computer-executable instructions executable by the processor, the processor executing the computer-executable instructions to implement the method described in any of the first aspects.

[0013] Fourthly, embodiments of the present invention also provide a computer-readable storage medium storing computer-executable instructions, which, when invoked and executed by a processor, cause the processor to implement the method described in any of the first aspects.

[0014] This invention provides a method, apparatus, server, and readable storage medium for building a 3D model. First, a target data point set to be modeled is acquired. This target data point set includes top and bottom face points. Then, a top hull polygon is determined based on the top face points, a bottom hull polygon is determined based on the bottom face points, and side polygons are determined based on the target data point set. Finally, the 3D model corresponding to the target data point set is determined based on the top, bottom, and side polygons. This method determines the top, bottom, and side polygons based on the top and bottom face points, and finally determines the corresponding 3D model based on these polygons. This invention dynamically draws the hull geometry from the data points, providing a more accurate representation of the 3D model, resulting in a more realistic 3D model and effectively improving the modeling effect.

[0015] Other features and advantages of the invention will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the invention. The objects and other advantages of the invention are realized and obtained in accordance with the structures particularly pointed out in the description, claims and drawings.

[0016] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description

[0017] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0018] Figure 1 A flowchart illustrating a method for creating a three-dimensional model according to an embodiment of the present invention;

[0019] Figure 2 This is a schematic diagram of data points in a target data point set provided in an embodiment of the present invention;

[0020] Figure 3 This is a schematic diagram of a top triangular mesh structure provided in an embodiment of the present invention;

[0021] Figure 4 A schematic diagram of a three-dimensional structure provided in an embodiment of the present invention;

[0022] Figure 5 A schematic diagram of a side polygon provided for an embodiment of the present invention;

[0023] Figure 6 A schematic diagram of a side three-dimensional structure provided in an embodiment of the present invention;

[0024] Figure 7 This is a schematic diagram of a concave geometry provided in an embodiment of the present invention;

[0025] Figure 8 A schematic diagram of a three-dimensional model creation device provided in an embodiment of the present invention;

[0026] Figure 9 This is a schematic diagram of the structure of a server provided in an embodiment of the present invention. Detailed Implementation

[0027] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below in conjunction with the embodiments. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0028] Currently, when representing partial data in 3D models, using convex hull geometry can lead to inaccurate representations and fail to accurately reflect 3D problems, while concave hull polygons are typically used in 2D scenes. Therefore, this invention provides a method, apparatus, server, and readable storage medium for creating 3D models, which can significantly improve the accuracy of 3D model representation, resulting in more realistic 3D models and effectively improving modeling results.

[0029] To facilitate understanding of this embodiment, a method for establishing a three-dimensional model disclosed in this invention will first be described in detail. (See [link to relevant documentation]). Figure 1 The diagram shows a flowchart of a method for creating a 3D model. The method mainly includes the following steps S102 to S106:

[0030] Step S102: Obtain the target data point set to be modeled. The target data point set includes top surface points and bottom surface points. In one implementation, the target data point set includes numerous data points, each with a determined point type, including top surface points (abbreviated as top surface points) and bottom surface points (abbreviated as bottom surface points).

[0031] Step S104: Determine the top hull polygon based on the top points in the target data point set, determine the bottom hull polygon based on the bottom points in the target data point set, and determine the side polygons based on the target data point set. In one embodiment, when determining the top hull polygon, a triangular mesh structure corresponding to the top surface can be drawn based on the top points, containing multiple triangles. The boundary polygon is obtained by sequentially connecting the top points. The top hull polygon is obtained by removing triangles whose centroids are located outside the boundary polygons in the triangular mesh structure. When determining the bottom hull polygon, the drawing process of the bottom hull polygon can be referred to that of the top hull polygon, and will not be repeated here. When determining the side polygons, the top and bottom points can be projected onto a specified plane, thereby determining the side polygons based on the projection points on the specified plane.

[0032] Step S106: Based on the top hull polygon, bottom hull polygon, and side polygon, determine the 3D model corresponding to the target data point set. In one embodiment, the top 3D structure, bottom 3D structure, and side 3D structure can be determined based on the top hull polygon, bottom hull polygon, and side polygon, respectively. The 3D model can be obtained by combining the top 3D structure, bottom 3D structure, and side 3D structure.

[0033] The method for establishing a three-dimensional model provided in this embodiment of the invention determines the top hull polygon based on the top surface points, the bottom hull polygon based on the bottom surface points, and the side polygons based on the target data point set. Finally, the corresponding three-dimensional model is determined based on the top hull polygon, the bottom hull polygon, and the side polygons. This embodiment of the invention dynamically draws the hull geometry through data points, providing a more accurate expression for the three-dimensional model, thereby obtaining a more realistic three-dimensional model and effectively improving the modeling effect.

[0034] In practical applications, the 3D concave hull geometry can be drawn by dividing it into three parts: the top surface, the side surface, and the bottom surface. For the data points in the target data point set, the data points are divided into two parts: points on the top surface (A0, A1, A2…AN) and points on the bottom surface (B0, B1, B2…BN). For easier understanding, see [link to relevant documentation]. Figure 2 The diagram shown is a schematic representation of data points in a target data point set. Figure 2 The top surface points are A0, A1, A2 to A11, and the bottom surface points are B0, B1, B2 to B14.

[0035] exist Figure 2 Based on this, the present invention also provides an implementation method for drawing the top surface, as shown in (1) to (3) below:

[0036] (1) Set the Z-coordinate of each top surface point in the target data point set to the same specified value, and determine the top surface triangulation structure based on the X and Y coordinates of each top surface point. In one implementation, the Z-coordinate of the top surface point can be set to 0, and the top surface triangulation structure can be calculated using the X and Y coordinates of the top surface point and the Delaunay triangulation algorithm, such as... Figure 3 The diagram shows a top triangular mesh structure, which can also be referred to as a top convex hull planar polygon.

[0037] (2) Connect each top point in the top triangular network structure in sequence according to the point identifier carried by the top point in the target data point set to obtain the top boundary polygon. For example, the top points carry point identifiers such as ID (Identity document) and number, such as A0, A1, A2 to A11. In this case, the top points can be connected in sequence according to the ID order to obtain the boundary polygon.

[0038] (3) Iterate through the triangles in the top triangular mesh structure. If the centroid of a triangle is outside the boundary polygon of the top surface, remove the triangle from the top triangular mesh structure to obtain the top concave polygon. In one embodiment, iterate through the triangles in the top triangular mesh structure, calculate the centroid of the triangle, and analyze whether the centroid of the triangle is in the boundary polygon. If it is in the boundary polygon, keep the triangle; otherwise, delete the triangle. For example, the centroid of triangle A0A1A10 is inside the boundary polygon, so keep the triangle; the centroid of triangle A9A10A11 is outside the boundary polygon, so delete the triangle. It should be noted that the Z coordinates of the top surface points need to be reassigned to the vertex coordinates, and the top three-dimensional structure is constructed based on the triangle structure.

[0039] In one implementation, the specific process of drawing the bottom surface can be carried out according to the aforementioned (1) to (3), resulting in the following: Figure 4 The diagram shown is a schematic of a three-dimensional structure. Figure 4 The top and bottom three-dimensional structures are illustrated respectively. Specifically, (1) the Z coordinate of each bottom point in the target data point set is set to the same specified value, and the bottom triangular mesh structure is determined based on the X and Y coordinates of each bottom point; (2) according to the point identifier carried by the bottom points in the target data point set, each bottom point in the bottom triangular mesh structure is connected in sequence to obtain the bottom boundary polygon; (3) the triangles in the bottom triangular mesh structure are looped in sequence. If the centroid of the triangle is located outside the bottom boundary polygon, the triangle is removed from the bottom triangular mesh structure to obtain the bottom concave polygon. For example, the triangles in the bottom triangular mesh structure are looped, the centroid of the triangle is calculated, and it is analyzed whether the centroid of the triangle is in the boundary polygon. If it is in the boundary polygon, the triangle is retained; if it is not in the boundary polygon, the triangle is deleted. It should be noted that the Z coordinate of the bottom point needs to be reassigned to the vertex coordinate, and the bottom three-dimensional structure is constructed based on the triangle structure.

[0040] This invention also provides an implementation method for drawing side views. The idea behind side view drawing is to project data points onto the xOz plane, perform structural calculations, and finally connect the data points according to the calculated structure to construct a three-dimensional side view structure. See steps 1 to 5 below for details:

[0041] Step 1: Determine the starting top and bottom points based on the distances between the top and bottom points in the target data point set. In one implementation, each top point in the target data point set can be traversed to calculate the distance between each top point and each bottom point. The top point with the smallest distance is then determined as the starting top point, and the bottom point with the smallest distance is determined as the starting bottom point. In practical applications, the top points are first iterated through, and the distances between them and each bottom point are calculated sequentially to obtain the set of top and bottom points with the closest vertical distance, such as point A7 and point B8. Point A7 is then used as the starting top point, and point B8 is used as the starting bottom point.

[0042] Step 2 involves adjusting the sorting of the top points in the target data point set based on the starting top point, and adjusting the sorting of the bottom points in the target data point set based on the starting bottom point. In one implementation, the top and bottom points are reordered, i.e., point A7 is set as point A0, point A8 is set as point A1, and so on; similarly, point B8 is set as point B0, point B9 is set as point B1, and so on.

[0043] Step 3: Based on the sorting of top surface points, determine the projection point of each top surface point in the target data point set onto the specified plane; and based on the sorting of bottom surface points, determine the corresponding projection point of each bottom surface point in the target data point set onto the specified plane. In practical applications, projection can begin as soon as the data points are reordered. Taking the top surface point as an example, for each top surface point in the target data point set, the top surface points preceding this top surface point are determined based on the top surface point sorting. Then, based on the projection coordinates of the projection points of the top surface points preceding this top surface point onto the specified plane, and the original coordinates of the two points, the projection coordinates of the projection point of this top surface point onto the specified plane are determined. First, calculate the projection of the top surface boundary point onto the xOz plane. Set the x and y coordinates of the starting point A0 to zero, find the next point A1 on the top surface in sequence, set the y coordinate of its projection point to zero, set the z coordinate to the starting point's z coordinate, and calculate the x coordinate using the Pythagorean theorem. Specifically, the hypotenuse is the distance between the lines connecting the two points in three-dimensional space, and the right-angled side is the z-coordinate interpolation of the original coordinates of the two points. Therefore, when calculating the projected coordinates of point A1 next to the top surface point, the hypotenuse is the distance from the point to the starting point, the right-angled side is the difference in z-coordinate between the point and the starting point, and the length of the other right-angled side calculated using the Pythagorean theorem is set as the x-coordinate of the projected point. All points are projected onto the plane sequentially, and the x, y, and z coordinates are calculated. The x-coordinates are accumulated starting from the second point. Finally, the starting point is projected again for calculation. The formula for calculating the coordinates is as follows:

[0044]

[0045] Where dis is the distance, initially set to 0, and after each point is calculated, dis = x.

[0046] The last point is calculated together with the starting point to form a closed loop:

[0047]

[0048] In one embodiment, the bottom point can be projected onto a specified plane according to the above method, and the projected coordinates of the bottom point can be calculated.

[0049] Step 4: Set the Z-coordinate of each projection point to the same specified value, and determine the side triangular mesh structure based on the X and Y coordinates of each projection point. In one embodiment, the triangular mesh structure is calculated using the Delaunay triangulation algorithm based on the points projected from the top and bottom surfaces. Here, since the z-values ​​are consistent, the calculated structure does not have a convex hull problem.

[0050] Step 5: Determine the side polygons based on the side triangular mesh structure, such as... Figure 5 The diagram shows a polygonal shape with a side view.

[0051] Based on the foregoing embodiments, the present invention also provides an implementation of step S106. When performing the step of determining the three-dimensional model corresponding to the target data point set based on the top hull polygon, the bottom hull polygon, and the side polygon, a top three-dimensional structure can be constructed based on the top hull polygon, a bottom three-dimensional structure can be constructed based on the bottom hull polygon, and a side three-dimensional structure can be constructed based on the side polygon. Then, the top three-dimensional structure, the bottom three-dimensional structure, and the side three-dimensional structure are combined to obtain the three-dimensional model corresponding to the target data point set.

[0052] When performing the step of constructing a 3D top surface structure based on the top hull polygon, the Z-coordinate of each top surface point in the top hull polygon can be recovered, and the 3D top surface structure can be constructed based on the recovered top hull polygon. Similarly, when performing the step of constructing a 3D bottom surface structure based on the bottom hull polygon, the Z-coordinate of each bottom surface point in the bottom hull polygon can be recovered, and the 3D bottom surface structure can be constructed based on the recovered bottom hull polygon. When performing the step of constructing a 3D side surface structure based on the side surface polygon, each projection point in the side surface polygon can be mapped to a top surface point or a bottom surface point to obtain the 3D side surface structure, such as... Figure 6 This diagram illustrates a three-dimensional side structure. By combining the three-dimensional structures of the top, bottom, and side surfaces, a concave geometry can be constructed, such as... Figure 7 The diagram shows a concave geometry, which is also the three-dimensional model mentioned above.

[0053] In summary, the embodiments of the present invention provide a dynamic modeling method for three-dimensional concave geometry, supporting more accurate three-dimensional geometry construction and providing a more precise auxiliary foundation for application scenarios.

[0054] In contrast to the three-dimensional model creation method provided in the foregoing embodiments, this invention provides a three-dimensional model creation apparatus, see [link to previous embodiment]. Figure 8 The diagram shows a structural schematic of a device for creating a three-dimensional model. The device mainly includes the following parts:

[0055] The point set acquisition module 802 is used to acquire the target data point set to be modeled; wherein, the target data point set includes top surface points and bottom surface points;

[0056] The polygon determination module 804 is used to determine the top hull polygon based on the top surface points in the target data point set, the bottom hull polygon based on the bottom surface points in the target data point set, and the side polygon based on the target data point set.

[0057] The model building module 806 is used to determine the 3D model corresponding to the target data point set based on the top hull polygon, bottom hull polygon, and side polygon.

[0058] The three-dimensional model building device provided in this embodiment of the invention determines the top hull polygon based on the top surface point, the bottom hull polygon based on the bottom surface point, and the side polygon based on the target data point set. Finally, the corresponding three-dimensional model is determined based on the top hull polygon, the bottom hull polygon, and the side polygon. This embodiment of the invention dynamically draws the hull geometry through data points, providing a more accurate expression for the three-dimensional model, thereby obtaining a more realistic three-dimensional model and effectively improving the modeling effect.

[0059] In one embodiment, the polygon determination module 804 is further configured to: set the Z coordinate of each top surface point in the target data point set to the same specified value, and determine the top surface triangular mesh structure based on the X and Y coordinates of each top surface point; connect each top surface point in the top surface triangular mesh structure sequentially according to the point identifier carried by the top surface point in the target data point set to obtain the top surface boundary polygon; and sequentially loop through the triangles in the top surface triangular mesh structure. If the centroid of a triangle is located outside the top surface boundary polygon, the triangle is removed from the top surface triangular mesh structure to obtain the top surface concave polygon.

[0060] In one embodiment, the polygon determination module 804 is further configured to: determine a starting top point and a starting bottom point based on the distance between the top and bottom points in the target data point set; adjust the sorting of the top points in the target data point set based on the starting top point, and adjust the sorting of the bottom points in the target data point set based on the starting bottom point; determine the projection point of each top point in the target data point set in a specified plane based on the top point sorting; and determine the corresponding projection point of each bottom point in the target data point set in the specified plane based on the bottom point sorting; set the Z coordinate of each projection point to the same specified value, and determine the side triangular mesh structure based on the X and Y coordinates of each projection point; and determine the side polygon based on the side triangular mesh structure.

[0061] In one embodiment, the polygon determination module 804 is further configured to: traverse each top face point in the target data point set to calculate the distance between each top face point and each bottom face point; determine the top face point corresponding to the minimum distance as the starting top face point, and determine the bottom face point corresponding to the minimum distance as the starting bottom face point.

[0062] In one embodiment, the polygon determination module 804 is further configured to: for each top face point in the target data point set, determine the top face points preceding the top face point based on the top face point sorting, and determine the projection coordinates of the projection point of the top face point in the specified plane based on the projection coordinates of the projection points of the top face points preceding the top face point in the specified plane, and the original coordinates of the two points.

[0063] In one implementation, the model building module 806 is further configured to: construct a top three-dimensional structure based on the top hull polygon, construct a bottom three-dimensional structure based on the bottom hull polygon, and construct a side three-dimensional structure based on the side polygon; and combine the top three-dimensional structure, the bottom three-dimensional structure, and the side three-dimensional structure to obtain a three-dimensional model corresponding to the target data point set.

[0064] In one embodiment, the model building module 806 is further configured to: recover the Z coordinate of each top point in the top hull polygon, and construct a top three-dimensional structure based on the recovered top hull polygon; the model building module 806 is further configured to: map each projection point in the side polygon to a top point or a bottom point to obtain a side three-dimensional structure.

[0065] The device provided in this embodiment of the invention has the same implementation principle and technical effect as the aforementioned method embodiment. For the sake of brevity, any parts not mentioned in the device embodiment can be referred to the corresponding content in the aforementioned method embodiment.

[0066] This invention provides a server, specifically, the server includes a processor and a storage device; the storage device stores a computer program, which, when run by the processor, executes the method described in any of the above embodiments.

[0067] Figure 9 This is a schematic diagram of the structure of a server provided in an embodiment of the present invention. The server 100 includes: a processor 90, a memory 91, a bus 92, and a communication interface 93. The processor 90, the communication interface 93, and the memory 91 are connected through the bus 92. The processor 90 is used to execute executable modules, such as computer programs, stored in the memory 91.

[0068] The memory 91 may include high-speed random access memory (RAM) or non-volatile memory, such as at least one disk storage device. Communication between this system network element and at least one other network element is achieved through at least one communication interface 93 (which can be wired or wireless), such as the Internet, wide area network, local area network, metropolitan area network, etc.

[0069] Bus 92 can be an ISA bus, PCI bus, or EISA bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 9 The symbol is represented by a single double-headed arrow, but this does not mean that there is only one bus or one type of bus.

[0070] The memory 91 is used to store programs. After receiving an execution instruction, the processor 90 executes the programs. The method executed by the device for defining the flow process disclosed in any of the foregoing embodiments of the present invention can be applied to the processor 90 or implemented by the processor 90.

[0071] The processor 90 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed by the integrated logic circuitry in the hardware of the processor 90 or by instructions in software form. The processor 90 may be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this invention. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this invention can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules may reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in memory 91. Processor 90 reads the information in memory 91 and, in conjunction with its hardware, completes the steps of the above method.

[0072] The computer program product of the readable storage medium provided in the embodiments of the present invention includes a computer-readable storage medium storing program code. The instructions included in the program code can be used to execute the methods described in the foregoing method embodiments. For specific implementation, please refer to the foregoing method embodiments, which will not be repeated here.

[0073] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, essentially, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0074] Finally, it should be noted that the above-described embodiments are merely specific implementations of the present invention, used to illustrate the technical solutions of the present invention, and not to limit it. The scope of protection of the present invention is not limited thereto. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can still modify or easily conceive of changes to the technical solutions described in the foregoing embodiments within the technical scope disclosed in the present invention, or make equivalent substitutions for some of the technical features; and these modifications, changes, or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be covered within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A method of creating a three-dimensional model, characterized by, The method comprises: acquiring a target data point set to be modeled, wherein the target data point set comprises top surface points and bottom surface points; determining a top surface convex hull polygon based on the top surface points in the target data point set, determining a bottom surface convex hull polygon based on the bottom surface points in the target data point set, and determining a side surface polygon based on the target data point set; determining a three-dimensional model corresponding to the target data point set based on the top surface convex hull polygon, the bottom surface convex hull polygon and the side surface polygon; the step of determining the side surface polygon based on the target data point set comprises: determining a starting top surface point and a starting bottom surface point according to the distance between the top surface points and the bottom surface points in the target data point set; adjusting the order of the top surface points in the target data point set based on the starting top surface point, and adjusting the order of the bottom surface points in the target data point set based on the starting bottom surface point; determining the projection point of each top surface point in the target data point set in a specified plane based on the order of the top surface points, and determining the projection point corresponding to each bottom surface point in the target data point set in the specified plane based on the order of the bottom surface points; setting the Z coordinate of each projection point to a same specified value, and determining a side surface triangular mesh structure based on the X coordinate and the Y coordinate of each projection point; determining a side surface polygon according to the side surface triangular mesh structure.

2. The method of claim 1, wherein, the step of determining the top surface convex hull polygon based on the top surface points in the target data point set comprises: setting the Z coordinate of each top surface point in the target data point set to a same specified value, and determining a top surface triangular mesh structure based on the X coordinate and the Y coordinate of each top surface point; connecting each top surface point in the top surface triangular mesh structure in turn according to the point identifier carried by the top surface point in the target data point set to obtain a top surface boundary polygon; recycling the triangles in the top surface triangular mesh structure in turn, and if the centroid of the triangle is located outside the top surface boundary polygon, the triangle is removed from the top surface triangular mesh structure to obtain a top surface convex hull polygon.

3. The method of claim 1, wherein, the step of determining the starting top surface point and the starting bottom surface point according to the distance between the top surface points and the bottom surface points in the target data point set comprises: traversing each top surface point in the target data point set to calculate the distance between each top surface point and each bottom surface point; determining the top surface point corresponding to the minimum distance as the starting top surface point, and determining the bottom surface point corresponding to the minimum distance as the starting bottom surface point.

4. The method of claim 1, wherein, the step of determining the projection point of each top surface point in the target data point set in a specified plane based on the order of the top surface points comprises: for each top surface point in the target data point set, determining the top surface points located before the top surface point based on the order of the top surface points, and determining the projection coordinates of the projection point of the top surface point in the specified plane according to the projection coordinates of the projection point of the top surface points located before the top surface point and the original coordinates of the two points.

5. The method of claim 2, wherein, The step of determining the three-dimensional model corresponding to the target data point set based on the top surface concave-convex polygon, the bottom surface concave-convex polygon and the side surface polygon comprises: constructing a top surface three-dimensional structure based on the top surface concave-convex polygon, a bottom surface three-dimensional structure based on the bottom surface concave-convex polygon and a side surface three-dimensional structure based on the side surface polygon; combining the top surface three-dimensional structure, the bottom surface three-dimensional structure and the side surface three-dimensional structure to obtain the three-dimensional model corresponding to the target data point set.

6. The method of claim 5, wherein, The step of constructing the top surface three-dimensional structure based on the top surface concave-convex polygon comprises: restoring the Z coordinate of each top surface point in the top surface concave-convex polygon and constructing the top surface three-dimensional structure based on the restored top surface concave-convex polygon; The step of constructing the side surface three-dimensional structure based on the side surface polygon comprises: corresponding each projection point in the side surface polygon to the top surface point or the bottom surface point to obtain the side surface three-dimensional structure.

7. An apparatus for creating a three-dimensional model, characterized by comprising: comprise: a point set obtaining module configured to obtain a target data point set to be modeled, wherein the target data point set comprises top surface points and bottom surface points; a polygon determining module configured to determine a top surface concave-convex polygon based on the top surface points in the target data point set, determine a bottom surface concave-convex polygon based on the bottom surface points in the target data point set and determine a side surface polygon based on the target data point set; a model establishing module configured to determine a three-dimensional model corresponding to the target data point set based on the top surface concave-convex polygon, the bottom surface concave-convex polygon and the side surface polygon; The polygon determining module is specifically configured to: determine a starting top surface point and a starting bottom surface point according to the distance between the top surface points and the bottom surface points in the target data point set; adjust the order of the top surface points in the target data point set based on the starting top surface point and adjust the order of the bottom surface points in the target data point set based on the starting bottom surface point; determine a projection point of each top surface point in the target data point set in a specified plane based on the order of the top surface points and determine a projection point corresponding to each bottom surface point in the target data point set in the specified plane based on the order of the bottom surface points; set the Z coordinate of each projection point to a same specified value and determine a side triangular mesh structure based on the X coordinate and the Y coordinate of each projection point; determine a side surface polygon according to the side triangular mesh structure.

8. A server, characterized by The processor executes the computer executable instructions to implement the method in any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer executable instructions, and the computer executable instructions, when invoked and executed by a processor, cause the processor to implement the method in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Molding method of three-dimensional object

    JP2019064188A