CN116977530A - Three-dimensional model processing method and device, electronic equipment and medium - Google Patents

Three-dimensional model processing method and device, electronic equipment and medium Download PDF

Info

Publication number
CN116977530A
CN116977530A CN202310850189.2A CN202310850189A CN116977530A CN 116977530 A CN116977530 A CN 116977530A CN 202310850189 A CN202310850189 A CN 202310850189A CN 116977530 A CN116977530 A CN 116977530A
Authority
CN
China
Prior art keywords
dimensional
dimensional grid
point
grid
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310850189.2A
Other languages
Chinese (zh)
Inventor
梁军
丁飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Youku Network Technology Beijing Co Ltd
Original Assignee
Youku Network Technology Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Youku Network Technology Beijing Co Ltd filed Critical Youku Network Technology Beijing Co Ltd
Priority to CN202310850189.2A priority Critical patent/CN116977530A/en
Publication of CN116977530A publication Critical patent/CN116977530A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Abstract

The application provides a processing method, a device, electronic equipment and a medium of a three-dimensional model, wherein the processing method of the three-dimensional model comprises the following steps: mapping the three-dimensional grid to a two-dimensional space according to the cutting line to obtain a two-dimensional grid; iteratively adjusting the two-dimensional grid according to a target constraint condition to obtain a target two-dimensional grid, wherein the target constraint condition comprises a minimum cost function value, the cost function is used for representing the weighted sum of the torsion degree of the two-dimensional grid relative to the three-dimensional grid and the length of a cutting line corresponding to the two-dimensional grid, and the adjustment of the two-dimensional grid promotes the torsion degree and/or the length of the cutting line in the cost function to change; and storing the target two-dimensional grid. According to the technical scheme, the length of the target cutting line corresponding to the target two-dimensional grid can be reduced to a certain extent, and/or the torsion degree of the target two-dimensional grid relative to the three-dimensional grid can be reduced.

Description

Three-dimensional model processing method and device, electronic equipment and medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method and apparatus for processing a three-dimensional model, an electronic device, and a medium.
Background
The spreading UV (UV Unwrapping) is an important step in creating a texture map for a three-dimensional model, and the specific process of spreading UV may include mapping the coordinates of each point on the three-dimensional model in a three-dimensional coordinate system to a two-dimensional UV coordinate system, so as to obtain UV coordinates. Therefore, the grid formed by each point on the three-dimensional model can be mapped to a two-dimensional space through UV spreading, a two-dimensional grid is obtained, and the two-dimensional grid is colored, so that a texture map can be obtained. The two-dimensional grid obtained based on the current UV unfolding method has the problem of large distortion degree, and further the finally obtained texture map has large distortion degree.
Disclosure of Invention
In view of this, embodiments of the present application provide a method, an apparatus, an electronic device, and a medium for processing a three-dimensional model, which can reduce the length of a target cutting line corresponding to a target two-dimensional grid to a certain extent, and/or reduce the torsion resistance of the target two-dimensional grid relative to the three-dimensional grid.
In a first aspect, an embodiment of the present application provides a method for processing a three-dimensional model, the three-dimensional model including a three-dimensional mesh, the three-dimensional mesh having a cut line, the method for processing a three-dimensional model including: mapping the three-dimensional grid to a two-dimensional space according to the cutting line to obtain a two-dimensional grid; iteratively adjusting the two-dimensional grid according to a target constraint condition to obtain a target two-dimensional grid, wherein the target constraint condition comprises a minimum cost function value, the cost function is used for representing the weighted sum of the torsion degree of the two-dimensional grid relative to the three-dimensional grid and the length of a cutting line corresponding to the two-dimensional grid, and the adjustment of the two-dimensional grid promotes the torsion degree and/or the length of the cutting line in the cost function to change; and storing the target two-dimensional grid.
In a second aspect, an embodiment of the present application provides a method for processing a three-dimensional model, the three-dimensional model including a three-dimensional mesh, the method including: determining the flatness of a target point in the three-dimensional grid, wherein the flatness of the target point is determined in a designated area, the designated area comprises at least one ring neighborhood of the target point, and the flatness of the target point is used for representing the possibility that the target point and other points in the designated area are in the same plane; determining the flatness of a first three-dimensional polygonal surface patch including the target point in the three-dimensional grid based on the flatness of the target point; and in the case that the difference between the flatness of the second three-dimensional polygonal surface piece adjacent to the first three-dimensional polygonal surface piece and the flatness of the first three-dimensional polygonal surface piece is within a specified range, dividing the second three-dimensional polygonal surface piece and the first three-dimensional polygonal surface piece into the same target area, and obtaining the cutting line of the three-dimensional grid based on the boundary of the target area.
In a third aspect, an embodiment of the present application provides a processing apparatus of a three-dimensional model including a three-dimensional mesh having a cut line, the processing apparatus of the three-dimensional model including: the mapping module is used for mapping the three-dimensional grid to a two-dimensional space according to the cutting line to obtain a two-dimensional grid; the adjusting module is used for iteratively adjusting the two-dimensional grid according to a target constraint condition to obtain a target two-dimensional grid, wherein the target constraint condition comprises a minimum value of a cost function, the cost function is used for representing the torsion degree of the two-dimensional grid relative to the three-dimensional grid and the weighted sum of the lengths of the cutting lines corresponding to the two-dimensional grid, and the torsion degree and/or the lengths of the cutting lines in the cost function are/is caused to change by the adjustment of the two-dimensional grid; and the storage module is used for storing the target two-dimensional grid.
In a fourth aspect, an embodiment of the present application provides a processing apparatus for a three-dimensional model including a three-dimensional mesh, the processing apparatus for a three-dimensional model including: the first determining module is used for determining the flatness of the target point in the three-dimensional grid, wherein the flatness of the target point is determined in a designated area, the designated area comprises at least one ring neighborhood of the target point, and the flatness of the target point is used for representing the possibility that the target point and other points in the designated area are located in the same plane; a second determining module, configured to determine, based on the flatness of the target point, flatness of a first three-dimensional polygon patch including the target point in the three-dimensional grid; the acquisition module is used for dividing the second three-dimensional polygonal surface piece and the first three-dimensional polygonal surface piece into the same target area and obtaining the cutting line of the three-dimensional grid based on the boundary of the target area under the condition that the difference between the flatness of the second three-dimensional polygonal surface piece adjacent to the first three-dimensional polygonal surface piece and the flatness of the first three-dimensional polygonal surface piece is in a specified range.
In a fifth aspect, an embodiment of the present application provides an electronic device, including: a processor; a memory for storing processor-executable instructions, wherein the processor is configured to perform the method of processing a three-dimensional model according to the first or second aspect described above.
In a sixth aspect, an embodiment of the present application provides a computer-readable storage medium storing a computer program for executing the method for processing a three-dimensional model according to the first aspect or the second aspect.
In a seventh aspect, embodiments of the present application provide a computer program product comprising instructions which, when executed by a processor of a computer device, enable the computer device to perform the method of processing a three-dimensional model according to the first or second aspect above.
In an eighth aspect, an embodiment of the present application provides a chip, including: a processor; a memory for storing processor-executable instructions, wherein the processor is configured to perform the method of processing a three-dimensional model according to the first or second aspect described above.
The embodiment of the application provides a processing method, a processing device, electronic equipment and a medium of a three-dimensional model, wherein the two-dimensional grid is subjected to iterative adjustment to promote the change of the torsion degree of the two-dimensional grid relative to the three-dimensional grid or the change of the length of a cutting line corresponding to the three-dimensional grid until the value of a cost function is minimum, so that a target two-dimensional grid can be obtained. The cost function may here characterize a weighted sum of the torsion degree of the two-dimensional grid relative to the three-dimensional grid and the length of the crop line corresponding to the two-dimensional grid. By iteratively adjusting the two-dimensional grid with the minimum value of the cost function as the target constraint condition, the balance between the torsion degree and the length of the cutting line can be maintained to a certain extent, so that the length of the target cutting line corresponding to the target two-dimensional grid can be reduced to a certain extent, and/or the torsion degree of the target two-dimensional grid relative to the three-dimensional grid can be reduced. Further, texture information of the three-dimensional model can be mapped into the target two-dimensional grid to obtain a two-dimensional texture map, and accordingly the anastomosis degree between the two-dimensional texture map and the three-dimensional model can be improved.
Drawings
FIG. 1 is a schematic diagram of a system architecture of a processing system for a three-dimensional model according to an exemplary embodiment of the present application.
Fig. 2 is a flow chart of a method for processing a three-dimensional model according to an exemplary embodiment of the application.
Fig. 3 is a flow chart of a method for processing a three-dimensional model according to another exemplary embodiment of the present application.
Fig. 4 is a flow chart of a method for processing a three-dimensional model according to another exemplary embodiment of the present application.
Fig. 5 is a schematic structural diagram of a processing device for a three-dimensional model according to an exemplary embodiment of the present application.
Fig. 6 is a schematic structural diagram of a processing apparatus for a three-dimensional model according to another exemplary embodiment of the present application.
Fig. 7 is a block diagram of an electronic device for executing a processing method of a three-dimensional model according to an exemplary embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present application, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
Summary of the application
The three-dimensional model may include a three-dimensional mesh and color information or texture information corresponding to the three-dimensional mesh. The three-dimensional mesh may be composed of a plurality of polygonal patches. To make a texture map of a three-dimensional model, the three-dimensional model may be mapped to a two-dimensional space by means of spanuv. For example, in some cases, a cut line may be selected on a three-dimensional grid of a three-dimensional model, according to which the three-dimensional grid may be expanded and individual points on the three-dimensional grid mapped to a two-dimensional space. Points in two dimensions can be represented by two coordinates, U and V. The polygonal surface patch corresponding to each polygonal surface patch on the three-dimensional grid can be obtained in the two-dimensional space through mapping. The plurality of polygonal patches in the two-dimensional space may form a two-dimensional grid. After the corresponding relation between the points in the three-dimensional grid and the points in the two-dimensional grid is established through mapping, the UV unfolding operation can be performed, and the two-dimensional texture mapping is obtained.
The polygonal patches on the three-dimensional grid may be in one-to-one correspondence with the polygonal patches in the two-dimensional space. In the mapping process, according to different selection of the cutting lines, the polygonal surface patch in the two-dimensional space can be distorted to different degrees relative to the polygonal surface patch in the three-dimensional space. For example, for any polygonal patch on a three-dimensional mesh, its corresponding polygonal patch in two-dimensional space may differ in shape or area from that polygonal patch on the three-dimensional mesh.
The current UV spreading process is implemented according to a cut line selected by a technician on a three-dimensional model, however, mapping the three-dimensional grid to a two-dimensional space according to a manually selected cut line has the technical problem of unbalance between the torsion degree of the two-dimensional grid relative to the three-dimensional grid and the length of the cut line, such as overlarge torsion degree or overlarge length of the cut line.
Aiming at the technical problems, the embodiment of the application provides a processing method of a three-dimensional model, which comprises the steps of iteratively adjusting a two-dimensional grid to promote the change of the torsion degree of the two-dimensional grid relative to the three-dimensional grid or the change of the length of a cutting line corresponding to the three-dimensional grid until the value of a cost function is minimum, so that a target two-dimensional grid can be obtained. The cost function may here characterize a weighted sum of the torsion degree of the two-dimensional grid relative to the three-dimensional grid and the length of the crop line corresponding to the two-dimensional grid. By iteratively adjusting the two-dimensional grid with the minimum value of the cost function as the target constraint condition, the balance between the torsion degree and the length of the cutting line can be maintained to a certain extent, so that the length of the target cutting line corresponding to the target two-dimensional grid can be reduced to a certain extent, and/or the torsion degree of the target two-dimensional grid relative to the three-dimensional grid can be reduced.
Exemplary System
FIG. 1 is a schematic diagram of a system architecture of a processing system for a three-dimensional model according to an exemplary embodiment of the present application, where, as shown in FIG. 1, the processing system 100 includes: terminal equipment 110. The terminal device 110 may be provided with a client 111, where the client 111 may be used to execute the method for processing the three-dimensional model provided by the embodiment of the present application.
By way of example, the terminal device 110 may be a personal computer, a mobile terminal, or a personal digital assistant. The client 111 may be image software for processing an image, such as image production, generation of a two-dimensional grid corresponding to a three-dimensional grid, UV-spreading or rendering, etc. For example, the client 111 may be three-dimensional image software.
In an application field Jing Shili, the user of the terminal device 110 may be a technician responsible for the generation work of the two-dimensional grid corresponding to the three-dimensional grid, who wishes to generate the target two-dimensional grid by the processing system 100.
Specifically, the terminal device 110 may receive an instruction input by a user to open the client 111, so as to present a display interface corresponding to the client 111. The client 111 may display the three-dimensional grid corresponding to the three-dimensional model on the display interface according to the model loading instruction input by the user. Further, the client 111 may generate an instruction according to the target two-dimensional grid input by the user, and perform the following steps: generating an initial cutting line of the three-dimensional grid, obtaining a two-dimensional grid corresponding to the three-dimensional grid based on the initial cutting line, and carrying out iterative adjustment on the two-dimensional grid according to target constraint conditions to obtain the target two-dimensional grid. The target constraint condition comprises that the cost function is minimum in value, the cost function is used for representing the torsion degree of the two-dimensional grid relative to the three-dimensional grid and the weighted sum of the lengths of the cutting lines corresponding to the two-dimensional grid, and the torsion degree and/or the lengths of the cutting lines in the cost function are/is changed by adjusting the two-dimensional grid. In some cases, the initial cut line may be presented on a three-dimensional grid in the display interface; alternatively, the initial cut line may not be presented on a three-dimensional grid in the display interface, but rather stored in the storage space in the form of data.
Further, the target two-dimensional grid corresponds to a target cut line. After obtaining the target two-dimensional grid, the client 111 may map texture information of the three-dimensional model into the target two-dimensional grid to obtain a two-dimensional texture map, and implement the UV unfolding process.
It is to be understood that the above application scenario examples are only shown for the convenience of understanding the spirit and principle of the present application, and the embodiments of the present application are not limited thereto. Rather, embodiments of the present application may be applied to any scenario where it may be applicable. For example, in other scenarios, the client may send the target two-dimensional grid generation instruction to the server, and the server executes a corresponding algorithm according to the target two-dimensional grid generation instruction to implement the following steps: mapping the three-dimensional grid to a two-dimensional space according to the cutting line to obtain a two-dimensional grid; iteratively adjusting the two-dimensional grid according to the target constraint condition to obtain a target two-dimensional grid; and storing the target two-dimensional grid.
Exemplary method
Fig. 2 is a flow chart of a method for processing a three-dimensional model according to an exemplary embodiment of the application. The method of fig. 2 may be performed by the terminal device of fig. 1, and in particular by a client. As shown in fig. 2, the processing method of the three-dimensional model may include the following.
210: and mapping the three-dimensional grid to a two-dimensional space according to the cutting line to obtain a two-dimensional grid.
The three-dimensional model may be modeled on the object. In some embodiments, the three-dimensional model may be obtained by three-dimensional reconstruction of objects in the physical world, or may be obtained by a technician modeling an imagined object. The three-dimensional model may include a three-dimensional mesh, which may be formed of a plurality of polygonal patches, which may be triangular, quadrilateral, or other polygonal in shape.
The three-dimensional grid may have cut lines. The cut lines may represent paths of the three-dimensional mesh expansion. In some embodiments, the three-dimensional grid may be expanded according to the cut line, which is equivalent to dividing the point through which the cut line passes into two, and mapping each point in the three-dimensional grid (for forming the plurality of polygonal patches in the three-dimensional grid) into the two-dimensional space, that is, the point corresponding to each point in the three-dimensional grid may be obtained in the two-dimensional space. It should be understood that, for a point in the three-dimensional grid through which the cut line passes, after mapping it into the two-dimensional space, two points corresponding thereto can be obtained in the two-dimensional space. Points in two-dimensional space may constitute a two-dimensional grid.
In some cases, the process of mapping points in a three-dimensional grid into two-dimensional space according to a cut line may be referred to as a process of model parameterization. In some embodiments, the points in the three-dimensional grid may be mapped into the two-dimensional space according to the mapping matrix corresponding to the points in the three-dimensional grid, i.e., the coordinates of each point in the two-dimensional grid may be obtained according to the coordinates of each point in the three-dimensional grid and the corresponding mapping matrix. For any point in the three-dimensional grid, its corresponding mapping matrix may be determined based on, among other factors, the location of the point relative to the cutoff line.
The cut line in step 210 may be an initial cut line, which may be selected by a technician on the three-dimensional grid, or obtained by calculating curvature and corner points of the three-dimensional grid, or randomly selected, or obtained by other cut line determining methods, which is not limited in this embodiment of the present application.
220: and iteratively adjusting the two-dimensional grid according to a target constraint condition to obtain a target two-dimensional grid, wherein the target constraint condition comprises a minimum value of a cost function, the cost function is used for representing a weighted sum of the torsion degree of the two-dimensional grid relative to the three-dimensional grid and the length of a cutting line corresponding to the two-dimensional grid, and the torsion degree and/or the length of the cutting line in the cost function are/is caused to change by the adjustment of the two-dimensional grid.
The plurality of points in the two-dimensional mesh may constitute a plurality of polygonal patches in the two-dimensional mesh. For convenience of distinction, the polygonal patches in the three-dimensional mesh may be referred to as three-dimensional polygonal patches, and the polygonal patches in the two-dimensional mesh may be referred to as two-dimensional polygonal patches. The two-dimensional polygonal patches in the two-dimensional mesh and the three-dimensional polygonal patches in the three-dimensional mesh may be in one-to-one correspondence.
The degree of torsion of a two-dimensional mesh relative to a three-dimensional mesh can be characterized by the difference between a two-dimensional polygonal surface patch in the two-dimensional mesh and a corresponding three-dimensional polygonal surface patch in the three-dimensional mesh.
In some embodiments, the degree of torsion of a two-dimensional polygonal surface piece relative to a three-dimensional polygonal surface piece may be determined from a change in shape and/or area of the two-dimensional polygonal surface piece relative to the three-dimensional polygonal surface piece. For example, the degree of torsion of a two-dimensional polygonal surface piece relative to a three-dimensional polygonal surface piece may be determined from the difference between the area of the two-dimensional polygonal surface piece and the area of the three-dimensional polygonal surface piece or the ratio between the two areas. The torsion degree of each two-dimensional polygonal surface piece relative to the three-dimensional polygonal surface piece is summed or averaged to obtain the torsion degree of the two-dimensional grid relative to the three-dimensional grid.
In another embodiment, the degree of torsion of the two-dimensional mesh relative to the three-dimensional mesh may be determined from the difference between the sum of the areas of all the two-dimensional polygonal patches in the two-dimensional mesh and the sum of the areas of all the three-dimensional polygonal patches in the three-dimensional mesh. For example, the degree of torsion of the two-dimensional mesh relative to the three-dimensional mesh may be derived from the ratio (or difference) between the sum of the areas of all two-dimensional polygonal patches and the sum of the areas of all three-dimensional polygonal patches.
In other embodiments, a first three-dimensional polygonal surface patch and a second three-dimensional polygonal surface patch co-sided with the first three-dimensional polygonal surface patch are present in the three-dimensional mesh, a first two-dimensional polygonal surface patch corresponding to the first three-dimensional polygonal surface patch and a second two-dimensional polygonal surface patch corresponding to the second three-dimensional polygonal surface patch are present in the two-dimensional mesh, and the first two-dimensional polygonal surface patch is co-sided with the second two-dimensional polygonal surface patch. The coordinates of the geometric center of the first two-dimensional polygonal patch can be obtained from the coordinates of the respective points (vertices of the polygonal patch) involved in the first two-dimensional polygonal patch, and the coordinates of the geometric center of the second two-dimensional polygonal patch can be obtained from the coordinates of the respective points involved in the second two-dimensional polygonal patch. According to the coordinates of the geometric center, an included angle between a line from the geometric center of the first two-dimensional polygonal surface patch to the midpoint of the common edge and a line from the geometric center of the second two-dimensional polygonal surface patch to the midpoint of the common edge can be obtained, and the included angle can be called a first included angle. Similarly, the angle between the line from the geometric center of the first three-dimensional polygonal surface patch to the midpoint of the common edge and the line from the geometric center of the second three-dimensional polygonal surface patch to the midpoint of the common edge may be referred to as a second angle. In some cases, two lines or line segments may form two angles in the three-dimensional space, and the sum of the angles of the two angles is 360 degrees, so the second angle may be an angle smaller than 180 degrees between the two angles formed by the two lines. The difference between the first included angle and the second included angle may represent a change in shape of the first two-dimensional polygonal surface piece relative to the first three-dimensional polygonal surface piece, and thus a degree of torsion of the first two-dimensional polygonal surface piece relative to the first three-dimensional polygonal surface piece may be obtained from the difference between the first included angle and the second included angle. For example, the difference between the first included angle and the second included angle or the ratio between the first included angle and the second included angle may be used as the degree of torsion of the first two-dimensional polygonal surface sheet relative to the first three-dimensional polygonal surface sheet. The torsion degree of each two-dimensional polygonal surface piece relative to the three-dimensional polygonal surface piece is summed or averaged to obtain the torsion degree of the two-dimensional grid relative to the three-dimensional grid. Alternatively, the torsion degree of the two-dimensional grid relative to the three-dimensional grid can be obtained according to the difference between the sum of the first included angles corresponding to all the two-dimensional polygonal surface pieces and the sum of the second included angles corresponding to all the three-dimensional polygonal surface pieces. Further, the difference between the area of the two-dimensional polygonal surface piece and the area of the three-dimensional polygonal surface piece and the difference between the first included angle and the second included angle can be combined to obtain the torsion degree of the two-dimensional grid relative to the three-dimensional grid.
The cut lines of the three-dimensional grid may be continuous or discontinuous. For discontinuous cut lines, the length of the discontinuous cut lines represents the total length of discontinuous cut line segments, and the longer the cut lines, the too scattered two-dimensional texture mapping obtained after UV spreading is caused, so that the follow-up optimization of a three-dimensional model is not facilitated, and the corresponding joint of the cut lines after mapping has a breaking effect; the shorter the length of the cut line, the greater the degree of torsion of the two-dimensional grid relative to the three-dimensional grid may be, resulting in texture deformation.
Therefore, in iteratively adjusting the two-dimensional grid, it is desirable that the degree of torsion of the two-dimensional grid relative to the three-dimensional grid is as small as possible, and the length of the corresponding cut line of the two-dimensional grid is as short as possible. By setting the cost function, taking the minimum value of the cost function as a target constraint condition, and iteratively adjusting the two-dimensional grid, the balance between the torsion degree and the length of the cutting line can be realized.
The cost function may be used to characterize a weighted sum of the torsion resistance of the two-dimensional grid relative to the three-dimensional grid and the length of the crop line corresponding to the two-dimensional grid.
The adjustment of the two-dimensional grid causes a change in the torsion degree and/or the length of the cut line in the cost function. In some embodiments, the torsion degree of two adjacent and co-edge two-dimensional polygonal panels in the two-dimensional grid is large relative to the torsion degree of the corresponding three-dimensional polygonal panels in the three-dimensional grid, and a specific point on the common edge of the two-dimensional polygonal panels can be cut, so that the two-dimensional polygonal panels can deform independently of each other, and the torsion degree of the two-dimensional polygonal panels can be reduced respectively. Since the designated points on the common edge of the two-dimensional polygonal panels are cut, the points corresponding to the designated points in the three-dimensional grid are also cut, i.e., the length of the cutting line of the three-dimensional grid is increased. In some embodiments, the torsion degree of two-dimensional polygonal surface pieces which are adjacent in the two-dimensional grid and can be deformed independently is small, and adjacent points on the two-dimensional polygonal surface pieces can be combined, so that the two-dimensional polygonal surface pieces have a common side, and the torsion degree of the two-dimensional polygonal surface pieces cannot be greatly increased. Since the adjacent points on the two-dimensional polygonal surface sheets are combined, the points corresponding to the adjacent points on the two-dimensional polygonal surface sheets in the three-dimensional grid are also combined, that is, the length of the cutting line of the three-dimensional grid is shortened. In some embodiments, a particular two-dimensional polygonal panel may be deformed independently of an adjacent two-dimensional polygonal panel, e.g., a particular point on the two-dimensional polygonal panel is located on a boundary of a two-dimensional mesh or in a cut line (i.e., the particular point is the point cut by the cut line). If the torsion degree of the two-dimensional polygonal surface patch is large, the coordinates of the designated points can be adjusted to reduce the torsion degree of the two-dimensional polygonal surface patch, and at the moment, the cutting line of the three-dimensional grid can be kept unchanged.
In each iteration process, the torsion degree of the two-dimensional grid relative to the three-dimensional grid and the weight value of the length of the cutting line corresponding to the two-dimensional grid are variable, for example, in the case that the torsion degree of the current iteration process is smaller relative to the torsion degree of the previous iteration process, the weight value corresponding to the length of the cutting line can be appropriately increased and/or the weight value corresponding to the torsion degree can be appropriately reduced; in the case that the torsion degree of the current iteration process becomes larger than that of the previous iteration process, the weight value corresponding to the length of the cutting line can be appropriately reduced and/or the weight value corresponding to the torsion degree can be appropriately increased.
230: and storing the target two-dimensional grid.
In each iteration process, the two-dimensional grid and the cutting line corresponding to the two-dimensional grid in the current iteration process can be saved, and the torsion degree of the two-dimensional grid relative to the three-dimensional grid and the length of the cutting line corresponding to the two-dimensional grid are brought into the cost function. If the value of the cost function becomes smaller, replacing the two-dimensional grid of the previous iteration process by the two-dimensional grid of the current iteration process, and replacing the cutting line of the previous iteration process by the cutting line of the current iteration process; if the value of the cost function becomes larger or unchanged, the two-dimensional grid and the corresponding cut line in the current iteration process can be deleted, and the two-dimensional grid and the corresponding cut line in the last iteration process are still reserved.
Through continuous iteration, the value of the cost function can be minimized, namely, the iteration process is completed, and the target two-dimensional grid and the target cutting line corresponding to the target two-dimensional grid can be obtained. In some embodiments, the cut line resulting from each iteration may be represented by the length of the cut line or by the length of the cut line and the location of the cut line in a two-dimensional/three-dimensional grid.
The embodiment of the application provides a processing method of a three-dimensional model, which comprises the steps of adjusting a two-dimensional grid through iteration to promote the change of the torsion degree of the two-dimensional grid relative to the three-dimensional grid or the change of the length of a cutting line corresponding to the three-dimensional grid until the value of a cost function is minimum, so that a target two-dimensional grid can be obtained. The cost function may here characterize a weighted sum of the torsion degree of the two-dimensional grid relative to the three-dimensional grid and the length of the crop line corresponding to the two-dimensional grid. By iteratively adjusting the two-dimensional grid with the minimum value of the cost function as the target constraint condition, the balance between the torsion degree and the length of the cutting line can be maintained to a certain extent, so that the length of the target cutting line corresponding to the target two-dimensional grid can be reduced to a certain extent, and/or the torsion degree of the target two-dimensional grid relative to the three-dimensional grid can be reduced. Further, texture information of the three-dimensional model can be mapped into the target two-dimensional grid to obtain a two-dimensional texture map, and accordingly the anastomosis degree between the two-dimensional texture map and the three-dimensional model can be improved.
According to an embodiment of the present application, iteratively adjusting the two-dimensional grid according to the target constraint may include: performing first adjustment operation on the designated points in the two-dimensional grid according to the target constraint condition to obtain a first adjusted two-dimensional grid; determining an adjustment cutting line corresponding to the first adjustment operation; determining the value of a cost function corresponding to the first two-dimensional grid according to the torsion degree of the first two-dimensional grid relative to the three-dimensional grid and the length of an adjustment cutting line corresponding to the first two-dimensional grid; and under the condition that the value of the cost function corresponding to the first adjustment two-dimensional grid is smaller than that of the cost function corresponding to the two-dimensional grid, storing the first adjustment two-dimensional grid and adjusting the cutting line.
In some embodiments, the specified point may comprise a first point and the first adjustment operation comprises a trimming operation. Performing a first adjustment operation on the designated points in the two-dimensional grid to obtain a first adjusted two-dimensional grid may include: and cutting the first points in the two-dimensional grid to generate two second points so as to obtain a first adjustment two-dimensional grid. Determining an adjustment cut line corresponding to the first adjustment operation may include: and mapping the cutting operation to the three-dimensional grid to adjust the cutting line of the three-dimensional grid, so as to obtain an adjusted cutting line.
The first point may be a point on a common edge of two-dimensional polygonal patches that are adjacent and co-edge in the two-dimensional mesh, i.e., the first point may be a common vertex of the two-dimensional polygonal patches. For example, two-dimensional polygonal patches may have two common vertices, and the first point may be either of the two common vertices. Since the first point connects the two-dimensional polygonal panels, movement of the first point causes the shape of the two-dimensional polygonal panels to change. In the case where the degree of torsion of both two-dimensional polygonal panels connected at the first point is large, such as in the case where both are greater than or equal to the first threshold value, it is difficult to reduce the degree of torsion of both two-dimensional polygonal panels by moving the first point, i.e., adjusting the coordinates of the first point. Thus, the first point may be cut by performing a cutting operation on the first point to generate two second points. The two second points can be moved independently of each other, so that the two-dimensional polygonal panels can be deformed independently of each other. For example, the second point may be moved in a gradient direction of the second point, and the step of the movement may be preset according to the size of the three-dimensional mesh and/or the side length of the three-dimensional polygonal surface patch, e.g., the step may be one tenth of the side length of the three-dimensional polygonal surface patch. The location of the two second points relative to the location of the first points reduces the degree of torsion of the two-dimensional polygonal panels. The two-dimensional grid comprising two second points is referred to as a first adjusted two-dimensional grid. Here, the first threshold value may be set according to actual needs.
And mapping the cutting operation to the three-dimensional grid to adjust the cutting line of the three-dimensional grid, so that the adjusted cutting line can be obtained. Specifically, the three-dimensional polygonal surface patch in the three-dimensional grid and the two-dimensional polygonal surface patch in the two-dimensional grid are in one-to-one correspondence, and the points through which the cutting line of the three-dimensional grid passes can correspond to two points in the two-dimensional grid which can move independently of each other. Similarly, the first point in the two-dimensional grid is cut, so that the point corresponding to the first point in the three-dimensional grid passes through the cutting line, namely, a section of cutting line is added at the point corresponding to the first point in the three-dimensional grid. For example, one end of the segment cut line is a point (first end point) corresponding to the first point in the three-dimensional grid, and the other end of the segment cut line ends at a point (second end point) adjacent to the first end point in the three-dimensional grid. Corresponding to the segment of the trim line including the first end point and excluding the second end point, the segment of the trim line is connected to other segments of the trim line (resulting from previous iterations). That is, the mapping of a first endpoint to two-dimensional space may become two points, with the mapping of a second endpoint to two-dimensional space still being one point. Alternatively, the point corresponding to the first point in the three-dimensional mesh may be a point (midpoint) in the middle of the segment cut line, one end of the segment cut line may end at a point (first end point) adjacent to the midpoint in the first direction in the three-dimensional mesh, and the other end of the segment cut line may end at a point (second end point) adjacent to the midpoint in the second direction in the three-dimensional mesh, and the second direction may be an opposite direction to the first direction. The segment cut line, which corresponds to the segment cut line including the midpoint and excluding the first end point and the second end point, may not be connected to other cut line segments (obtained by previous iterative processes) at the first end point and the second end point. That is, the midpoint mapping to the two-dimensional space may become two points, the first endpoint mapping to the two-dimensional space is still one point, and the second endpoint mapping to the two-dimensional space is still one point. That is, the cutting operation is mapped to the three-dimensional grid, and the cutting line of the three-dimensional grid can be adjusted, for example, a new cutting line can be added on the basis of the original cutting line, so as to obtain an adjusted cutting line.
And determining the value of the cost function corresponding to the first two-dimensional regulation grid according to the torsion degree of the first two-dimensional regulation grid relative to the three-dimensional grid and the length of the regulation cutting line corresponding to the first two-dimensional regulation grid. And under the condition that the value of the cost function corresponding to the first adjustment two-dimensional grid is smaller than that of the cost function corresponding to the two-dimensional grid, the first adjustment two-dimensional grid and the adjustment cutting line can be saved. In some embodiments, the previous two-dimensional grid may be replaced with a first adjusted two-dimensional grid, and the previous trim line may be replaced with an adjusted trim line. Here, the iterative process corresponding to the clipping operation may be a current iterative process, and the previous two-dimensional grid may refer to a two-dimensional grid obtained by the previous iterative process.
In this embodiment, the first point of the common vertex of two adjacent two-dimensional polygonal panels having larger original torsion degrees can be cut through the cutting operation, so that the torsion degrees of the two adjacent two-dimensional polygonal panels can be reduced, and the torsion degrees of the two-dimensional grids relative to the three-dimensional grids can be further reduced. Further, in the present embodiment, although the cutting operation causes the length of the cutting line to become long, in the case where the value of the cost function becomes small, the two-dimensional grid can be made to change toward the direction in which the torsion degree and the length of the cutting line are relatively balanced, that is, the adverse effect caused by the increase in the length of the cutting line is smaller than the adverse effect caused by the decrease in the torsion degree.
In other embodiments, the designated points may include third and fourth points that are adjacent and unconnected, and the first adjustment operation includes a merge operation. Performing a first adjustment operation on the designated points in the two-dimensional grid to obtain a first adjusted two-dimensional grid may include: and combining the third point and the fourth point in the two-dimensional grid to generate a fifth point so as to obtain the first adjustment two-dimensional grid. Determining an adjustment cut line corresponding to the first adjustment operation may include: and mapping the merging operation to the three-dimensional grid to adjust the cutting line of the three-dimensional grid, so as to obtain an adjusted cutting line.
The third and fourth points may be points on two-dimensional polygonal panels that are adjacent in a two-dimensional grid and that are deformable independently of each other, respectively. Specifically, two-dimensional polygonal patches that are adjacent in the two-dimensional mesh and that can be deformed independently of each other may correspond to two adjacent three-dimensional polygonal patches in the three-dimensional mesh, and the third point and the fourth point may correspond to the same point in the three-dimensional mesh, i.e., to a common vertex of two adjacent three-dimensional polygonal patches in the three-dimensional mesh. The cut lines of the three-dimensional mesh may pass through the common vertex, so that the common vertex corresponds to a third point and a fourth point in the two-dimensional mesh, so that the third point and the fourth point may move independently of each other, and further the two-dimensional polygonal panels may deform independently of each other.
In the case where the torsion degrees of the two-dimensional polygonal surface patch corresponding to the third point and the two-dimensional polygonal surface patch corresponding to the fourth point are both small, for example, both are smaller than or equal to the second threshold value, the third point and the fourth point may be subjected to the merging operation to generate the fifth point. The third and fourth points may be replaced with the fifth point, and the other vertices of the two-dimensional polygonal surface corresponding to the third point and the two-dimensional polygonal surface corresponding to the fourth point reconstruct a new two-dimensional polygonal surface. The fifth point can connect two-dimensional polygonal panels which are originally adjacent and can deform independently of each other, the position of the fifth point can be near the third point or the fourth point, and the torsion degree of the two-dimensional polygonal panels cannot be increased excessively. The two-dimensional grid containing the fifth points is referred to as a first adjusted two-dimensional grid. Here, the second threshold value may be set according to actual needs. In some cases, the second threshold may be less than the first threshold described above.
And mapping the merging operation to the three-dimensional grid to adjust the cutting line of the three-dimensional grid, so that the adjusted cutting line can be obtained. Specifically, the three-dimensional polygonal surface patch in the three-dimensional grid and the two-dimensional polygonal surface patch in the two-dimensional grid are in one-to-one correspondence, and the points through which the cutting line of the three-dimensional grid passes can correspond to two points in the two-dimensional grid which can move independently of each other. Likewise, the merging operation is performed on the third point and the fourth point in the two-dimensional grid, so that a section of the cut line at the point corresponding to the third point/the fourth point in the three-dimensional grid is deleted. That is, the merging operation is mapped to the three-dimensional grid, and the cut line of the three-dimensional grid can be adjusted, for example, a section of the cut line can be deleted on the basis of the original cut line, so as to obtain an adjusted cut line. In some cases, if there are multiple sections of cut lines passing through the third/fourth points, the multiple sections of cut lines may be deleted, where the length of each of the multiple sections of cut lines may be the side length of the three-dimensional polygonal surface piece passing through the third/fourth points.
And determining the value of the cost function corresponding to the first two-dimensional regulation grid according to the torsion degree of the first two-dimensional regulation grid relative to the three-dimensional grid and the length of the regulation cutting line corresponding to the first two-dimensional regulation grid. And under the condition that the value of the cost function corresponding to the first adjustment two-dimensional grid is smaller than that of the cost function corresponding to the two-dimensional grid, the first adjustment two-dimensional grid and the adjustment cutting line can be saved. In some embodiments, the previous two-dimensional grid may be replaced with a first adjusted two-dimensional grid, and the previous trim line may be replaced with an adjusted trim line. Here, the iterative process corresponding to the merging operation may be a current iterative process, and the previous two-dimensional grid may refer to a two-dimensional grid obtained by the previous iterative process.
In this embodiment, the third point and the fourth point which are not connected originally may be combined by the combining operation under the condition that the torsion degrees of the two-dimensional polygonal surface piece corresponding to the third point and the two-dimensional polygonal surface piece corresponding to the fourth point are smaller, so that the length of the cutting line may be reduced. Furthermore, in the present embodiment, the merging operation may cause a small increase in the torsion degree of the two-dimensional mesh, but since the value of the cost function is made smaller, the two-dimensional mesh may be made to change toward a direction in which the torsion degree and the length of the cut line are relatively balanced, i.e., the adverse effect caused by the increase in the torsion degree is smaller than the adverse effect caused by the decrease in the length of the cut line.
According to an embodiment of the present application, the iterative adjustment of the two-dimensional grid according to the target constraint condition further includes: and carrying out second adjustment operation on the sixth point in the two-dimensional grid according to the target constraint condition to obtain a second adjustment two-dimensional grid, wherein the second adjustment operation is used for changing the coordinates of the sixth point, the cutting line corresponding to the second adjustment two-dimensional grid is identical to the cutting line corresponding to the two-dimensional grid, and the torsion degree of the second adjustment two-dimensional grid relative to the three-dimensional grid is smaller than that of the two-dimensional grid relative to the three-dimensional grid.
The sixth point may be any point in a two-dimensional grid.
In some embodiments, the sixth point may be a vertex of a two-dimensional polygonal surface patch in the two-dimensional mesh, and may be independently movable without being connected to a vertex of another two-dimensional polygonal surface patch, and the independent movement of the sixth point may affect the shape of the two-dimensional polygonal surface patch, that is, affect the torsion degree of the two-dimensional polygonal surface patch. For example, the sixth point is located on the boundary of the two-dimensional grid; or, the sixth point is located in the cut line, that is, the sixth point is a point cut by the cut line.
When the torsion degree of the two-dimensional polygonal surface patch where the sixth point is located is larger, for example, when the torsion degree is larger than the third threshold value, the second adjustment operation can be performed on the sixth point to change the coordinates of the sixth point, so that the torsion degree of the two-dimensional polygonal surface patch is reduced. The two-dimensional grid obtained after changing the coordinates of the sixth point is referred to as a second adjusted two-dimensional grid. The change of the coordinates of the sixth point does not affect the cut line, so the cut line corresponding to the second adjustment two-dimensional grid is the same as the cut line corresponding to the two-dimensional grid before the execution of the second adjustment operation. The torsion degree of the two-dimensional polygonal surface patch where the sixth point is located is reduced, so that the torsion degree of the second adjustment two-dimensional grid is smaller than that of the two-dimensional grid before the second adjustment operation is executed. Thus, the two-dimensional mesh before the second adjustment operation is performed may be replaced with the second adjustment two-dimensional mesh. Here, the third threshold value may be set according to actual needs.
In other embodiments, the sixth point may be a common vertex of two adjacent two-dimensional polygonal patches in the two-dimensional mesh, the sixth point may be movable, and movement of the sixth point may affect the shape of the two-dimensional polygonal patches, i.e., affect the tortuosity of the two-dimensional polygonal patches. In the case where the tortuosity of both two-dimensional polygonal panels is large, for example, if the tortuosity is greater than the fourth threshold value, the second adjustment operation may be performed on the sixth point to change the coordinates of the sixth point, thereby reducing the tortuosity of both two-dimensional polygonal panels. The two-dimensional grid obtained after changing the coordinates of the sixth point is referred to as a second adjusted two-dimensional grid. The cut line corresponding to the second adjustment two-dimensional grid is the same as the cut line corresponding to the two-dimensional grid before the second adjustment operation is executed. Here, the fourth threshold value may be set according to actual needs.
Since the movement of the sixth point affects the shape of the two-dimensional polygonal patches, it is limited to reduce the degree of torsion of the two-dimensional mesh by moving the sixth point. Moreover, in some cases, it may be difficult to move the sixth point to reduce the degree of torsion of the two-dimensional mesh, so that the operation of moving the common vertices of the two-dimensional polygon patches may be performed in some iterative processes, and may not be performed in some iterative processes, i.e., if the operation of moving the common vertices of the two-dimensional polygon patches is performed, after the degree of torsion of the two-dimensional mesh is reduced, the result of performing the operation may be saved, otherwise, the operation may be canceled.
Further, in the process of iteratively adjusting the two-dimensional grid, after the second adjusted two-dimensional grid is obtained, a cost function corresponding to the second adjusted two-dimensional grid is calculated, and then the length of the cutting line corresponding to the second adjusted two-dimensional grid can be adjusted. For example, a first adjustment operation is performed on a specified point in the second adjustment two-dimensional grid, so that the value of the cost function becomes smaller. The first adjustment operation may be a cutting operation or a merging operation, and specific processes of the cutting operation and the merging operation may be described in the above embodiments, which are not described herein. In some cases, the second adjustment operation may be further performed after each execution of the first adjustment operation. For example, in one iteration, the first adjustment operation may be performed first, then the second adjustment operation may be performed, and then the next iteration may be performed repeatedly.
In this embodiment, the cut lines of the two-dimensional grid may be adjusted by the first adjustment operation to reduce the lengths of the cut lines and the torsion degrees of the two-dimensional grid as much as possible so that both are maintained at a relatively low level. Further, the degree of torsion of the two-dimensional grid can be reduced as much as possible without changing the cut line by the second adjustment operation.
According to an embodiment of the present application, the method for processing a three-dimensional model further includes: obtaining a torsion degree function, wherein the torsion degree function is a function of coordinates of torsion degree of the two-dimensional grid relative to the three-dimensional grid about points in the two-dimensional space; calculating a derivative of the torsion resistance function with respect to coordinates of points in the two-dimensional space; determining the point as a sixth point and determining a gradient direction of the sixth point when the derivative meets the specified condition, wherein performing a second adjustment operation on the sixth point in the two-dimensional grid to obtain a second adjusted two-dimensional grid may include: and performing a second adjustment operation on the sixth point according to the gradient direction to obtain a second adjustment two-dimensional grid.
The degree of torsion can be l d The coordinates of the points in the two-dimensional space may be coordinates in either of two dimensions in the two-dimensional space. The degree of torsion may be characterized by the difference between a two-dimensional polygonal surface patch in a two-dimensional mesh and a corresponding three-dimensional polygonal surface patch in a three-dimensional mesh, and this difference may be characterized by the coordinates of points in a two-dimensional space. For example, the degree of torsion of the two-dimensional mesh relative to the three-dimensional mesh can be obtained from the ratio between the sum of the areas of all the two-dimensional polygonal patches and the sum of the areas of all the three-dimensional polygonal patches, where after the three-dimensional mesh is determined, the sum of the areas of all the three-dimensional polygonal patches is fixed, and the sum of the areas of all the two-dimensional polygonal patches can be calculated from two Coordinates of points in the dimensional grid. Thus, the torsion-degree function is a function of the torsion-degree of the two-dimensional grid with respect to the coordinates of points in the two-dimensional space.
The calculation of the derivative of the torsion-resistance function with respect to the coordinates of the point in the two-dimensional space may be the calculation of the derivative of the torsion-resistance function with respect to the coordinates of the point in the two-dimensional space in two dimensions, respectively. For example, points in two dimensions may be represented by coordinates in both the abscissa x and the ordinate y, and calculating the derivative of the torsion-resistance function with respect to the coordinates of the points in two dimensions may be calculating l d Derivatives with respect to x and y, respectively. It should be understood that when the two-dimensional space is UV space, coordinates in two dimensions in the two-dimensional space may refer to U-coordinates and V-coordinates.
The specified condition may be that a derivative of the torsion-curvature function with respect to coordinates of a point in the two-dimensional space is greater than or equal to a fifth threshold. Here, the fifth threshold value may be set according to actual needs.
For a certain point (x, y) in the two-dimensional space, at l d Derivative sum of x d In the case where one of the derivatives with respect to y satisfies a specified condition, the point may be determined as a sixth point. If l d Determining the gradient direction of the sixth point in the x dimension with respect to the derivative of x satisfying a specified condition; if l d The derivative of y satisfies a specified condition, and the gradient direction of the sixth point in the y dimension can be determined; if l d The derivative with respect to x and the derivative with respect to y each satisfy a specified condition, and the gradient direction of the sixth point in the x and y dimensions may be determined, respectively. And performing a second adjustment operation on the sixth point along the gradient direction, namely changing the coordinates of the sixth point to obtain a second adjustment two-dimensional grid.
The gradient direction may characterize the direction in which the torsion-curvature function increases the fastest at point (x, y). The gradient direction may be according to l d The first derivative g of the coordinates of the point may be determined from l d The second derivative h of the coordinates with respect to the point. Changing the coordinates of the sixth point along the gradient direction can reduce the torsion degree of the two-dimensional grid. In some cases, the coordinates of the points along the gradient direction may not be updated in place at a timeThe cost function is made to approach the minimum by continually approaching saddle points in a stepwise update over multiple iterations.
In other embodiments, the appropriate position of the sixth point may be found by continuously adjusting the coordinate of the sixth point and calculating the torsion degree of the two-dimensional polygonal surface patch where the sixth point after the coordinate is adjusted, so as to reduce the torsion degree of the two-dimensional grid.
According to an embodiment of the present application, the weight value of the torsion in the cost function is a variable, and the two-dimensional grid is iteratively adjusted according to the target constraint condition, and the method further includes: and under the condition that the torsion degree of the two-dimensional grid relative to the three-dimensional grid is larger than a specified threshold value, adjusting the weight value of the torsion degree in the cost function.
The weight value of the length of the clipping line in the cost function may be a constant, and the weight value of the torsion degree may be a variable. And under the condition that the torsion degree of the two-dimensional grid relative to the three-dimensional grid is larger than a specified threshold value, adjusting the weight value of the torsion degree in the cost function, for example, properly increasing the weight value of the torsion degree so as to increase the adjustment strength of the torsion degree. In some embodiments, the weight value of the torsion degree may be set to 0 or other initial value at the beginning of the iteration, and may be adjusted appropriately as the iteration proceeds. Here, the specified threshold may be set according to actual needs.
In this embodiment, by setting the weight value of the torsion degree as a variable, the contribution proportion of the torsion degree and the length of the cutting line in the cost function to the value of the cost function can be continuously adjusted according to the iteration condition, so that the two-dimensional grid can be adjusted in a targeted manner. Further, the weight value of the length of the cutting line in the cost function can be set to be constant, so that the contribution proportion of the torsion degree in the cost function and the length of the cutting line to the value of the cost function can be changed by adjusting the weight value of the torsion degree, the adjusting process of the weight value can be simplified, and the process of adjusting the weight value of the length of the cutting line is omitted.
According to an embodiment of the present application, the method for processing a three-dimensional model further includes: determining the flatness of a target point in the three-dimensional grid, wherein the flatness of the target point is determined in a designated area, the designated area comprises at least one ring neighborhood of the target point, and the flatness of the target point is used for representing the possibility that the target point and other points in the designated area are in the same plane; determining the flatness of a first three-dimensional polygonal surface patch including the target point in the three-dimensional grid based on the flatness of the target point; and in the case that the difference between the flatness of the second three-dimensional polygonal surface piece adjacent to the first three-dimensional polygonal surface piece and the flatness of the first three-dimensional polygonal surface piece is within a specified range, dividing the second three-dimensional polygonal surface piece and the first three-dimensional polygonal surface piece into the same target area, and obtaining the cutting line of the three-dimensional grid based on the boundary of the target area.
The target point may be any point in a three-dimensional grid. The designated area may be at least one annular neighborhood of the target point, such as an annular neighborhood of the target point, a two-annular neighborhood, etc. A ring neighborhood may be an area formed by points adjacent to the target point, which may be referred to as a point of a ring neighborhood, a two-ring neighborhood may be an area formed by points adjacent to the target point and points adjacent to a point of a ring neighborhood, and so on. That is, at least one of the adjacent areas of the target point may be an area formed by expanding the range outward around the target point to an adjacent point or a next adjacent point.
The three-dimensional mesh may be composed of a plurality of three-dimensional polygonal patches, and since the three-dimensional mesh may present the structure of the object, and the structure of the object may be three-dimensional, some of the three-dimensional polygonal patches in the three-dimensional mesh may not be in one plane, or approximately in one plane, depending primarily on the structure of the object presented by the three-dimensional mesh. That is, the target point in the three-dimensional grid may or may not be in one plane with points in at least one ring of neighbors, and the likelihood that the target point is in the same plane as other points in the designated area may be characterized by the flatness of the target point.
Specifically, in some embodiments, the direction of the target point within the designated area may be represented by three-dimensional coordinates of the target point. Further, the principal direction of the specified region may be calculated by a principal component analysis (Principal Component Analysis, PCA) algorithm or other algorithm, for example, the principal direction of the specified region may be calculated from the three-dimensional coordinates of all points within the specified region. The flatness of the target point can be determined from the difference between the direction of the target point and the main direction of the designated area. For example, a difference between the direction of the target point and the main direction of the designated area is large, the flatness of the target point may be represented by a small value, and a difference between the direction of the target point and the main direction of the designated area is small, and the flatness of the target point may be represented by a large value.
Based on the flatness of the target point, the flatness of the first three-dimensional polygon facet in the three-dimensional mesh including the target point may be determined. Specifically, in an embodiment, the first three-dimensional polygonal surface patch may include a plurality of vertices, and each of the plurality of vertices may be used as a target point, so that the flatness of each vertex may be calculated. The flatness of the first three-dimensional polygonal surface piece can be calculated according to the flatness of the plurality of vertexes, for example, the flatness of the first three-dimensional polygonal surface piece can be obtained by averaging the flatness of the plurality of vertexes. Similarly, the flatness of each three-dimensional polygonal patch in the three-dimensional mesh may be calculated.
In the case where the difference between the flatness of the second three-dimensional polygonal surface piece adjacent to the first three-dimensional polygonal surface piece and the flatness of the first three-dimensional polygonal surface piece is within a specified range, the second three-dimensional polygonal surface piece and the first three-dimensional polygonal surface piece may be divided into the same target area. Alternatively, the difference in flatness between the polygonal surface patch in at least one ring neighborhood of the first three-dimensional polygonal surface patch and the first three-dimensional polygonal surface patch may be determined, and the three-dimensional polygonal surface patch and the first three-dimensional polygonal surface patch, the difference being located in the specified range, may be divided into the same target area. The designated range may be a value interval, which may be set according to actual needs.
In one embodiment, the boundary of the target area may be directly used as a cut line of the three-dimensional grid.
In another embodiment, the flatness of the target area may be further calculated. Similarly to the calculation process of the flatness of the three-dimensional polygonal patch, the flatness of the target area may be calculated from the flatness of each point in the target area, wherein the flatness of each point may be referred to the calculation process of the flatness of the target point described above. In the case where the difference between the flatness of the three-dimensional polygonal surface patch adjacent to the target area and the flatness of the target area is within a specified range, the target area may be updated, that is, the current target area and the three-dimensional polygonal surface patch are divided into new target areas. And so on until the difference between the flatness of the target area and the flatness of the adjacent three-dimensional polygonal surface patch is outside of the specified range.
Further, the flatness of the first three-dimensional polygonal surface piece may be the largest among the plurality of three-dimensional polygonal surface pieces in the three-dimensional mesh, i.e., the first three-dimensional polygonal surface piece corresponds to the initial seed. After the target area of the first three-dimensional polygonal surface patch is not updated any more, the three-dimensional polygonal surface patch with the largest flatness can be selected as a new seed from the rest three-dimensional polygonal surface patches, and then the target area corresponding to the new seed is determined. Similarly, the three-dimensional mesh may be divided into a plurality of different planar regions, a process which may be referred to as model segmentation (Mesh Segmentation). The boundary between the plurality of different planar areas may be used as a cut line. Here, the process of dividing the three-dimensional mesh into a plurality of different planar areas according to the seeds may also be referred to as an execution process of the area growing algorithm.
The cutting line can be used as an initial cutting line of the two-dimensional grid, and the two-dimensional grid can be iteratively adjusted on the basis of the initial cutting line.
In this embodiment, the flatness of the target point is determined in at least one annular neighborhood of the target point, so that the flatness of the target point can be measured by placing the target point in a large area, and thus the reliability of the flatness of the target point can be improved, and the accuracy of a plurality of different planar areas finally divided is further improved, namely the reliability of the cutting line is improved. In particular, some points on the three-dimensional grid may not be seen in one plane, i.e., the surface of the three-dimensional grid is rugged, but seen in one plane, i.e., the surface of the three-dimensional grid is smooth. In other words, some points are microscopically out of one plane, but macroscopically, visually in one plane. For any one of the points, the point can be placed in at least one ring neighborhood of the point, and the at least one ring neighborhood is used as a reference plane, so that the reliability of the flatness of the point can be improved, and the reliability of the flatness of the three-dimensional polygonal surface sheet containing the point can be further improved.
Of course, in other embodiments, the three-dimensional mesh may be divided into a plurality of different planar areas by the magnitude of the included angle between the normal directions of each three-dimensional polygonal patch.
According to an embodiment of the present application, the method for processing a three-dimensional model further includes: and mapping the texture information of the three-dimensional model into a target two-dimensional grid to obtain a two-dimensional texture map.
After the iteration is completed, a target two-dimensional grid can be obtained, and the target two-dimensional grid can correspond to the target cutting line, or the target two-dimensional grid is obtained by cutting points in the three-dimensional grid according to the target cutting line. And mapping the texture information of the three-dimensional model into a target two-dimensional grid to obtain a two-dimensional texture map, namely realizing the UV unfolding process.
In some embodiments, the original three-dimensional grid (input grid) may be first re-gridded (remesh) to reduce the complexity of the three-dimensional grid. For example, the original three-dimensional grid comprises 160 facets and the re-gridded three-dimensional grid comprises 20 facets. Further, the three-dimensional mesh (output mesh) after the re-gridding may be used as the three-dimensional mesh in the above-described embodiment to execute the above-described processing method of the three-dimensional model.
In this embodiment, by re-gridding, the complexity of the three-dimensional grid can be reduced, the isotropy of the three-dimensional grid can be improved, and thus the difficulty in determining the cut line of the three-dimensional grid can be reduced. In addition, the processing difficulty of the three-dimensional model can be reduced by re-gridding, and the processing speed of a large-scale three-dimensional model (such as a three-dimensional model with more than one hundred planes) can be improved.
In particular, in some embodiments, the original three-dimensional mesh surface may be repartitioned into an isotropic triangular or quaternary primary mesh using a unified local smoothing operator, optimizing the edge direction and the position of the points in the output mesh. The alignment of edges to sharp features of the grid while generating a grid with high isotropy can ensure that three-dimensional model details are not lost. The remesh may use an Instant mesh or other suitable scheme.
In some embodiments, the original three-dimensional mesh may be divided into a plurality of portions, which are respectively re-gridded to obtain a re-gridded three-dimensional mesh. The re-meshing process of the multiple parts can be parallel, so that the ultra-large grid can be supported to carry out re-meshing.
According to an embodiment of the present application, iteratively adjusting a two-dimensional grid according to a target constraint condition to obtain a target two-dimensional grid includes: in each iterative adjustment, the following steps are performed: determining a current weight value of the torsion degree in the cost function; searching a designated point in the current two-dimensional grid, wherein the value of a cost function corresponding to the first two-dimensional grid obtained by performing first adjustment operation on the designated point is smaller than that of the cost function corresponding to the current two-dimensional grid; when a specified point exists in the current two-dimensional grid, executing first adjustment operation aiming at the specified point, and executing second adjustment operation aiming at any point in the first two-dimensional grid under the condition that the derivative of the coordinates of any point meets specified conditions, so as to obtain a second two-dimensional grid, and taking the second two-dimensional grid as a new current two-dimensional grid until the specified point does not exist in the current two-dimensional grid; when no specified point exists in the current two-dimensional grid, aiming at any point in the current two-dimensional grid, under the condition that the derivative of the coordinates of any point meets specified conditions, executing second adjustment operation to obtain a third adjustment two-dimensional grid, and taking the third adjustment two-dimensional grid as a new current two-dimensional grid; and stopping iteration under the condition that the current weight value meets the preset condition, no specified point exists in the current two-dimensional grid, and the derivative of the coordinate of any point in the current two-dimensional grid does not meet the specified condition.
In this embodiment, in the first iterative adjustment process, the current two-dimensional grid is the two-dimensional grid obtained according to the initial cut line. In the subsequent iterative adjustment process, the current two-dimensional grid is the two-dimensional grid at the end of the previous iterative adjustment. One specific implementation of this embodiment can be seen in the description of the embodiment of fig. 3 below.
Fig. 3 is a flow chart of a method for processing a three-dimensional model according to another exemplary embodiment of the present application. The embodiment of fig. 3 is an example of the embodiment of fig. 2, and for avoiding repetition, reference is made to the description of the above embodiment for the same point, and no further description is given here. As shown in fig. 3, the processing method of the three-dimensional model may include the following.
310: and mapping the three-dimensional grid to a two-dimensional space according to the initial cutting line to obtain a two-dimensional grid.
The acquisition process of the initial cut line can be referred to the description in the above embodiment.
320: and determining a weight value of the torsion degree in the cost function in the current (kth) iterative adjustment process of the two-dimensional grid.
The cost function L may be expressed as follows:
L=l s +λ(l d -α)
l s the length of the cut line may be represented; l (L) d The degree of torsion of the two-dimensional grid can be represented; λ may represent a weight value of the torsion degree, equivalent to a hyper-parameter that adjusts the torsion degree and the length of the cut line; alpha may represent the upper boundary of the degree of torsion, e.g. if the degree of torsion l d When the value is larger than the upper boundary, λ can be increased appropriately, and the value of α can be set as required.
Length of cutting line l s Can be calculated by the following formula:
|e i the I represents the length corresponding to the ith edge on the three-dimensional grid, S represents the set of all the trimming edges related to the trimming lines of the three-dimensional grid, and M represents the set of all the edges of the three-dimensional grid.
Torsion degree l of two-dimensional grid d Can be calculated by the following formula:
|A t i represents the area of the t-th three-dimensional polygonal patch on the three-dimensional mesh, and F represents the set of all three-dimensional polygonal patches on the three-dimensional mesh. When the t-th three-dimensional polygonal surface patch on the three-dimensional grid is mapped to the two-dimensional space, a mapping matrix (also called as affine transformation matrix R) is corresponding to delta t,1 And delta t,2 May be two singular values of R.
In the kth iterative adjustment process, the weight value lambda of the torsion degree k Can be determined by the following formula:
λ k =max(0,(l d (T k-1 ,W k-1 )-α)+λ k-1 )
W k-1 the coordinates of each point in the two-dimensional grid during the k-1 th iterative adjustment process can be represented and can also be called as the coordinates of the point in the UV space; t (T) k-1 The topology structure of the two-dimensional grid in the k-1 iteration adjustment process can be represented, and the topology structure can be also called as the topology structure of the UV space; l (L) d (T k - 1 ,W k-1 ) The torsion degree of the two-dimensional grid relative to the three-dimensional grid obtained through the k-1 iteration adjustment process can be represented. Here, lambda 0 Can take the value of 0,l d (T 0 ,W 0 ) The degree of torsion of the two-dimensional grid based on the initial cut line can be represented. Here, the topology may represent a connection relationship between points in the two-dimensional mesh, such as whether the points are cut by a cut line. In this example, the weight value is increased relative to the previous iteration when the degree of torsion is greater than the upper boundary α, i.e. the adjustment of the degree of torsion is enhanced such that it decreases, and the weight value is unchanged relative to the previous iteration when the degree of torsion is less than the upper boundary α.
330: executing a current iterative adjustment process, performing a first adjustment operation on points O in the two-dimensional grid to obtain a first adjusted two-dimensional grid, mapping the first adjustment operation to the three-dimensional grid, and adjusting the cutting line of the three-dimensional grid to obtain an adjusted cutting line; and calculating a difference value I between the value of the cost function corresponding to the first adjustment two-dimensional grid and the value of the cost function corresponding to the two-dimensional grid, wherein if the I is smaller than 0, a specified point exists, and the point O is the specified point.
Step 330 may traverse the points in the two-dimensional grid for point O. The point O may be a point at which a clipping operation or a merging operation can be performed as described above. If the difference I corresponding to the current point O is smaller than 0, the current point O is a designated point, step 330 ends, and step 340 is executed, otherwise the traversal is continued until the current point O is a designated point. If the traversing is completed, the difference I corresponding to all the points in the two-dimensional grid is smaller than 0, and then no specified point exists in the two-dimensional grid, and step 340 is performed.
340: it is determined whether a specified point exists in the two-dimensional grid.
If so, step 350 is performed, and if not, step 360 is performed.
Specifically, the first adjustment operation may be a trimming operation or a merging operation, and the specific procedure of the trimming operation and the merging operation may be described in the above embodiments. By the first adjustment operation, the length of the cut line of the three-dimensional grid can be changed.
In some embodiments, in the current iterative adjustment process, a point O may be found in the two-dimensional grid, and a first adjustment operation may be performed on the point O to obtain a first adjusted two-dimensional grid corresponding to the point O and an adjusted cutting line. And calculating the value of the cost function corresponding to the first adjustment two-dimensional grid. Under the condition that the value of the cost function corresponding to the first two-dimensional grid is smaller than that of the cost function corresponding to the two-dimensional grid, replacing the previous two-dimensional grid by using the first two-dimensional grid and replacing the previous cutting line by using the cutting line, and updating the topological structure of the UV space and the point coordinates, namely, the point O can be used as a designated point; otherwise, the first adjustment operation is withdrawn, and a new point O is found until the point O can be used as the designated point.
Specifically, the torsion degree corresponding to the first two-dimensional grid and the length of the adjustment cutting line are substituted into the cost function, so that the value of the cost function corresponding to the first two-dimensional grid can be obtained. Under the condition that the value of the cost function corresponding to the first adjustment two-dimensional grid is larger than or equal to the value of the cost function corresponding to the two-dimensional grid, the first adjustment operation is indicated not to enable the value of the cost function to be smaller, so that the first adjustment operation can be canceled, namely the two-dimensional grid and the corresponding cutting line before the first adjustment operation are reserved, and then new point O can be continuously searched. The point O may be determined according to the degree of torsion of the two-dimensional polygonal panels, for example, in the case where the degrees of torsion of the two-dimensional polygonal panels are both greater than or equal to a first threshold value, a common vertex of the two-dimensional polygonal panels may be regarded as the point O so as to perform the clipping operation; alternatively, in the case where the degree of torsion of two-dimensional polygonal panels that are adjacent and can be deformed independently of each other is less than or equal to the second threshold value, a point on the two-dimensional polygonal panels that are adjacent but not connected may be regarded as a point O so as to perform the merging operation.
350: taking the first two-dimensional regulation grid as a two-dimensional grid, taking a regulation cutting line as a cutting line, calculating the derivative of the torsion degree function on the coordinates of any point in the two-dimensional grid, determining the gradient direction of the point under the condition that the derivative of the coordinates of any point meets a specified condition, and carrying out second regulation operation on the point according to the gradient direction to obtain a second two-dimensional regulation grid, wherein the second two-dimensional regulation grid is taken as the two-dimensional grid; otherwise, the second adjustment operation is not performed. That is, in the current iteration, 350 may be performed for each point in the two-dimensional grid.
The first two-dimensional grid is used as the two-dimensional grid to update the two-dimensional grid, and the adjusting cutting line is used as the cutting line to update the cutting line.
The torsion-resistance function, the specified conditions and the gradient direction can be found in the description of the above embodiments. The second adjustment operation is for changing the coordinates of the point, and a specific procedure of the second adjustment operation can be seen from the description in the above embodiment. Updating the two-dimensional grid can be achieved by using the second adjustment two-dimensional grid as the two-dimensional grid.
Step 350 may be followed by selecting a new point O and further performing step 330.
360: calculating the derivative of the torsion degree function on the coordinates of any point in the two-dimensional grid, determining the gradient direction of the point under the condition that the derivative of the coordinates of any point meets the specified condition, and performing a second adjustment operation on the point according to the gradient direction to obtain a third adjustment two-dimensional grid, wherein the third adjustment two-dimensional grid is used as the two-dimensional grid; otherwise, the second adjustment operation is not performed. That is, in the current iteration, 360 may be performed for each point in the two-dimensional grid.
370: determining |lambda k ―λ k―1 |<0.001 is true.
In the current iteration, after executing 350 or 360, if the inequality is satisfied, the whole iterative adjustment process is ended, and the final two-dimensional grid is the target two-dimensional grid, otherwise, the next iteration (k+1st iteration) is continued, i.e. steps 320, 330, 340, 350, or 320, 330, 340, 360 are re-executed. Here, |λ k ―λ k―1 |<0.001 may indicate that the difference between the weight values of the torsion degrees in the two adjacent iterative adjustment processes is not large, and is nearly equal, i.e., the updating of the weight values of the torsion degrees is temporarily finished. At this time, if the update of the cut line (corresponding to the first adjustment operation) has ended, the update of the coordinates of the point (corresponding to the second adjustment operation) has also ended, the entire iterative adjustment process may be ended. As long as one of the update of the weight value of the torsion degree, the update of the cut line, and the update of the coordinates of the point is not ended, the iterative adjustment process continues until all of the above three updates are ended. Here, 0.001 may be a preset threshold value, which may be set according to actual needs, and may be replaced by other values, such as 0.0001, or the like.
And the cut line corresponding to the target two-dimensional grid is a target cut line. After the target two-dimensional grid is obtained, texture information of the three-dimensional model can be mapped into the target two-dimensional grid to obtain a two-dimensional texture map, and then the UV unfolding process is realized.
In other embodiments, the second adjustment operation may not be performed, i.e., only the loop of steps 320, 330, 370 may be performed as an iterative adjustment process.
The processing method of the three-dimensional model provided by the embodiment of the application can fuse the length of the cutting line and the torsion degree of the two-dimensional grid so as to optimize the length of the cutting line and the torsion degree of the two-dimensional grid. For example, a reasonable cutting line can be found by using an algorithm, so that the seam of the three-dimensional model after UV display is less, and the torsion degree of the three-dimensional model mapped to a two-dimensional space can be reduced. In some cases, the processing method of the three-dimensional model provided by the embodiment of the application can reduce the joint length by 20% -50% under the condition of the same torsion degree. Further, by introducing the result of model segmentation (initial cut line) as a priori, the search space in the process of adjusting the cut line can be reduced, so that the UV expansion of a large three-dimensional model can be supported.
In addition, the processing method of the three-dimensional model provided by the embodiment of the application can realize automatic UV display, reduce the threshold of UV display work and improve the UV display efficiency to a certain extent.
The embodiment of the application also provides a processing method of the three-dimensional model, as shown in fig. 4. The fig. 4 embodiment is the same as part of the fig. 2 embodiment described above, and therefore reference is made to the description of the above embodiment for the same. The method of fig. 4 may be performed by the terminal device of fig. 1, and in particular by a client. The processing method of the three-dimensional model may include the following.
410: and determining the flatness of the target point in the three-dimensional grid, wherein the flatness of the target point is determined in a designated area, the designated area comprises at least one annular neighborhood of the target point, and the flatness of the target point is used for representing the possibility that the target point is located in the same plane as other points in the designated area.
The three-dimensional model includes a three-dimensional mesh. The target point may be any point in a three-dimensional grid. The specific explanation of the designated area and the determination of the flatness of the target point can be found in the above embodiments, and the description thereof is omitted herein for avoiding repetition.
420: based on the flatness of the target point, flatness of a first three-dimensional polygonal surface patch including the target point in the three-dimensional mesh is determined.
The determination of the flatness of the first three-dimensional polygonal surface patch may be referred to the description in the above embodiments, and for avoiding repetition, the description is omitted here.
430: and in the case that the difference between the flatness of the second three-dimensional polygonal surface piece adjacent to the first three-dimensional polygonal surface piece and the flatness of the first three-dimensional polygonal surface piece is within a specified range, dividing the second three-dimensional polygonal surface piece and the first three-dimensional polygonal surface piece into the same target area, and obtaining the cutting line of the three-dimensional grid based on the boundary of the target area.
In the case where the difference between the flatness of the second three-dimensional polygonal surface piece adjacent to the first three-dimensional polygonal surface piece and the flatness of the first three-dimensional polygonal surface piece is within a specified range, the second three-dimensional polygonal surface piece and the first three-dimensional polygonal surface piece may be divided into the same target area. Alternatively, the difference in flatness between the polygonal surface patch in at least one ring neighborhood of the first three-dimensional polygonal surface patch and the first three-dimensional polygonal surface patch may be determined, and the three-dimensional polygonal surface patch and the first three-dimensional polygonal surface patch, the difference being located in the specified range, may be divided into the same target area. The designated range may be a value interval, which may be set according to actual needs.
The specific process of obtaining the cut line of the three-dimensional grid based on the boundary of the target area can be referred to the description in the above embodiment, and in order to avoid repetition, the description is omitted here.
The embodiment of the application provides a processing method of a three-dimensional model, which can measure the flatness of a target point by determining the flatness of the target point in at least one annular neighborhood of the target point, so that the reliability of the flatness of the target point can be improved, and the accuracy of a plurality of different planar areas which are finally divided is further improved, namely the reliability of a cutting line is improved. In particular, some points on the three-dimensional grid may not be seen in one plane, i.e., the surface of the three-dimensional grid is rugged, but seen in one plane, i.e., the surface of the three-dimensional grid is smooth. In other words, some points are microscopically out of one plane, but macroscopically, visually in one plane. For any one of the points, the point can be placed in at least one ring neighborhood of the point, and the at least one ring neighborhood is used as a reference plane, so that the reliability of the flatness of the point can be improved, and the reliability of the flatness of the three-dimensional polygonal surface sheet containing the point can be further improved. In addition, the cut line obtained by the method according to the embodiment performs UV spreading operation on the three-dimensional model, so that the torsion degree of the two-dimensional texture map can be reduced to a certain extent and the seams can be reduced to a certain extent.
It should be understood that one or more steps in the method provided by the embodiments of the present application may be performed by a client or by a server.
Exemplary apparatus
Fig. 5 is a schematic structural diagram of a processing apparatus 500 for a three-dimensional model according to an exemplary embodiment of the present application. As shown in fig. 5, the processing apparatus 500 for a three-dimensional model includes: a mapping module 510, an adjustment module 520, and a save module 530.
The three-dimensional model includes a three-dimensional mesh having cut lines. The mapping module 510 is configured to map the three-dimensional grid to a two-dimensional space according to the cut line, so as to obtain a two-dimensional grid; the adjustment module 520 is configured to iteratively adjust the two-dimensional grid according to a target constraint condition, so as to obtain a target two-dimensional grid, where the target constraint condition includes a minimum value of a cost function, the cost function is used to characterize a weighted sum of a torsion degree of the two-dimensional grid relative to the three-dimensional grid and a length of a cutting line corresponding to the two-dimensional grid, and the adjustment of the two-dimensional grid causes a change in the torsion degree and/or the length of the cutting line in the cost function; the save module 530 is configured to save the target two-dimensional grid.
The embodiment of the application provides a processing device of a three-dimensional model, which is used for promoting the change of the torsion degree of a two-dimensional grid relative to a three-dimensional grid or the change of the length of a cutting line corresponding to the three-dimensional grid by iteratively adjusting the two-dimensional grid until the value of a cost function is minimum, so that a target two-dimensional grid can be obtained. The cost function may here characterize a weighted sum of the torsion degree of the two-dimensional grid relative to the three-dimensional grid and the length of the crop line corresponding to the two-dimensional grid. By iteratively adjusting the two-dimensional grid with the minimum value of the cost function as the target constraint condition, the balance between the torsion degree and the length of the cutting line can be maintained to a certain extent, so that the length of the target cutting line corresponding to the target two-dimensional grid can be reduced to a certain extent, and/or the torsion degree of the target two-dimensional grid relative to the three-dimensional grid can be reduced. Further, texture information of the three-dimensional model can be mapped into the target two-dimensional grid to obtain a two-dimensional texture map, and accordingly the anastomosis degree between the two-dimensional texture map and the three-dimensional model can be improved.
According to an embodiment of the present application, the adjustment module 520 is configured to: performing first adjustment operation on the designated points in the two-dimensional grid according to the target constraint condition to obtain a first adjusted two-dimensional grid; determining an adjustment cutting line corresponding to the first adjustment operation; determining the value of a cost function corresponding to the first two-dimensional grid according to the torsion degree of the first two-dimensional grid relative to the three-dimensional grid and the length of an adjustment cutting line corresponding to the first two-dimensional grid; and under the condition that the value of the cost function corresponding to the first adjustment two-dimensional grid is smaller than that of the cost function corresponding to the two-dimensional grid, storing the first adjustment two-dimensional grid and adjusting the cutting line.
According to an embodiment of the present application, the designated point includes a first point, the first adjustment operation includes a trimming operation, and the adjustment module 520 is configured to: and cutting the first points in the two-dimensional grid to generate two second points so as to obtain a first adjustment two-dimensional grid. The adjustment module 520 is configured to: and mapping the cutting operation to the three-dimensional grid to adjust the cutting line of the three-dimensional grid, so as to obtain an adjusted cutting line.
According to an embodiment of the present application, the designated points include a third point and a fourth point that are adjacent and not connected, the first adjustment operation includes a merging operation, and the adjustment module 520 is configured to: and combining the third point and the fourth point in the two-dimensional grid to generate a fifth point so as to obtain the first adjustment two-dimensional grid. The adjustment module 520 is configured to: and mapping the merging operation to the three-dimensional grid to adjust the cutting line of the three-dimensional grid, so as to obtain an adjusted cutting line.
According to an embodiment of the present application, the adjustment module 520 is further configured to: and carrying out second adjustment operation on the sixth point in the two-dimensional grid according to the target constraint condition to obtain a second adjustment two-dimensional grid, wherein the second adjustment operation is used for changing the coordinates of the sixth point, the cutting line corresponding to the second adjustment two-dimensional grid is identical to the cutting line corresponding to the two-dimensional grid, and the torsion degree of the second adjustment two-dimensional grid relative to the three-dimensional grid is smaller than that of the two-dimensional grid relative to the three-dimensional grid.
According to an embodiment of the present application, the processing apparatus 500 for three-dimensional model further includes an obtaining module 540, configured to: obtaining a torsion degree function, wherein the torsion degree function is a function of coordinates of torsion degree of the two-dimensional grid relative to the three-dimensional grid about points in the two-dimensional space; calculating a derivative of the torsion resistance function with respect to coordinates of points in the two-dimensional space; in the case where the derivative satisfies the specified condition, the point is determined as a sixth point and the gradient direction of the sixth point is determined. The adjustment module 520 is configured to: and performing a second adjustment operation on the sixth point according to the gradient direction to obtain a second adjustment two-dimensional grid.
According to an embodiment of the present application, the weight value of the torsion in the cost function is a variable, and the adjustment module 520 is further configured to: and under the condition that the torsion degree of the two-dimensional grid relative to the three-dimensional grid is larger than a specified threshold value, adjusting the weight value of the torsion degree in the cost function.
According to an embodiment of the present application, the adjustment module 520 is configured to: in each iterative adjustment, the following steps are performed: determining a current weight value of the torsion degree in the cost function; searching a designated point in the current two-dimensional grid, wherein the value of a cost function corresponding to the first two-dimensional grid obtained by performing first adjustment operation on the designated point is smaller than that of the cost function corresponding to the current two-dimensional grid; when a specified point exists in the current two-dimensional grid, executing first adjustment operation aiming at the specified point, and executing second adjustment operation aiming at any point in the first two-dimensional grid under the condition that the derivative of the coordinates of any point meets specified conditions, so as to obtain a second two-dimensional grid, and taking the second two-dimensional grid as a new current two-dimensional grid until the specified point does not exist in the current two-dimensional grid; when no specified point exists in the current two-dimensional grid, aiming at any point in the current two-dimensional grid, under the condition that the derivative of the coordinates of any point meets specified conditions, executing second adjustment operation to obtain a third adjustment two-dimensional grid, and taking the third adjustment two-dimensional grid as a new current two-dimensional grid; and stopping iteration under the condition that the current weight value meets the preset condition, no specified point exists in the current two-dimensional grid, and the derivative of the coordinate of any point in the current two-dimensional grid does not meet the specified condition.
According to an embodiment of the present application, the processing apparatus 500 for three-dimensional model further includes a determining module 550 for: determining the flatness of a target point in the three-dimensional grid, wherein the flatness of the target point is determined in a designated area, the designated area comprises at least one ring neighborhood of the target point, and the flatness of the target point is used for representing the possibility that the target point and other points in the designated area are in the same plane; determining the flatness of a first three-dimensional polygonal surface patch including the target point in the three-dimensional grid based on the flatness of the target point; and in the case that the difference between the flatness of the second three-dimensional polygonal surface piece adjacent to the first three-dimensional polygonal surface piece and the flatness of the first three-dimensional polygonal surface piece is within a specified range, dividing the second three-dimensional polygonal surface piece and the first three-dimensional polygonal surface piece into the same target area, and obtaining the cutting line of the three-dimensional grid based on the boundary of the target area.
According to an embodiment of the present application, the determining module 550 is configured to: the flatness of the target points in the three-dimensional grid is determined based on a principal component analysis algorithm.
According to an embodiment of the present application, the mapping module 510 is further configured to: and mapping the texture information of the three-dimensional model into a target two-dimensional grid to obtain a two-dimensional texture map.
It should be understood that the operations and functions of the mapping module 510, the adjusting module 520, the saving module 530, the obtaining module 540, and the determining module 550 in the above embodiments may refer to the description in the processing method of the three-dimensional model provided in the above embodiment of fig. 2 or fig. 3, and are not repeated herein for avoiding repetition.
Fig. 6 is a schematic structural diagram of a processing apparatus 600 for a three-dimensional model according to another exemplary embodiment of the present application. As shown in fig. 6, the processing apparatus 600 for a three-dimensional model includes: the first determination module 610, the second determination module 620, and the acquisition module 630.
The three-dimensional model includes a three-dimensional mesh. The first determining module 610 is configured to determine a flatness of a target point in the three-dimensional grid, where the flatness of the target point is determined in a designated area, and the designated area includes at least one ring neighborhood of the target point, and the flatness of the target point is used to characterize a likelihood that the target point is located in a same plane as other points in the designated area; the second determining module 620 is configured to determine, based on the flatness of the target point, flatness of a first three-dimensional polygon patch including the target point in the three-dimensional grid; the obtaining module 630 is configured to, when a difference between a flatness of a second three-dimensional polygonal surface piece adjacent to the first three-dimensional polygonal surface piece and a flatness of the first three-dimensional polygonal surface piece is within a specified range, divide the second three-dimensional polygonal surface piece and the first three-dimensional polygonal surface piece into a same target area, and obtain a cutting line of the three-dimensional grid based on a boundary of the target area.
The embodiment of the application provides a processing device of a three-dimensional model, which can measure the flatness of a target point by determining the flatness of the target point in at least one annular neighborhood of the target point, so that the reliability of the flatness of the target point can be improved, and the accuracy of a plurality of different planar areas which are finally divided is further improved, namely the reliability of a cutting line is improved. In particular, some points on the three-dimensional grid may not be seen in one plane, i.e., the surface of the three-dimensional grid is rugged, but seen in one plane, i.e., the surface of the three-dimensional grid is smooth. In other words, some points are microscopically out of one plane, but macroscopically, visually in one plane. For any one of the points, the point can be placed in at least one ring neighborhood of the point, and the at least one ring neighborhood is used as a reference plane, so that the reliability of the flatness of the point can be improved, and the reliability of the flatness of the three-dimensional polygonal surface sheet containing the point can be further improved. In addition, the cut line obtained by the method according to the embodiment performs UV spreading operation on the three-dimensional model, so that the torsion degree of the two-dimensional texture map can be reduced to a certain extent and the seams can be reduced to a certain extent.
It should be understood that the operations and functions of the first determining module 610, the second determining module 620, and the obtaining module 630 in the above embodiment may refer to the description in the processing method of the three-dimensional model provided in the above embodiment of fig. 4, and are not repeated herein for avoiding repetition.
Fig. 7 is a block diagram of an electronic device 700 for executing a processing method of a three-dimensional model according to an exemplary embodiment of the present application.
Referring to fig. 7, an electronic device 700 includes a processing component 710 that further includes one or more processors and memory resources represented by memory 720 for storing instructions, such as applications, executable by the processing component 710. The application programs stored in memory 720 may include one or more modules that each correspond to a set of instructions. Further, the processing component 710 is configured to execute instructions to perform the processing method of the three-dimensional model described above.
The electronic device 700 may also include a power component configured to perform power management of the electronic device 700, a wired or wireless network interface configured to connect the electronic device 700 to a network, and an input output (I/O) interface. The electronic device 700 may be operated based on an operating system stored in the memory 720, such as Windows Server TM ,Mac OS X TM ,Unix TM ,Linux TM ,FreeBSD TM Or the like.
A non-transitory computer readable storage medium, which when executed by a processor of the electronic device 700, enables the electronic device 700 to perform a method of processing a three-dimensional model.
Any combination of the above optional solutions may be adopted to form an optional embodiment of the present application, which is not described herein.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, and are not repeated herein.
In the several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a usb disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program verification codes.
It should be noted that in the description of the present application, the terms "first," "second," "third," and the like are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. Furthermore, in the description of the present application, unless otherwise indicated, the meaning of "a plurality" is two or more.
It should be noted that, the user information (including but not limited to user equipment information, user personal information, etc.) and the data (including but not limited to data for analysis, stored data, presented data, etc.) related to the present application are information and data authorized by the user or fully authorized by each party, and the collection, use and processing of the related data need to comply with the related laws and regulations and standards of the related country and region, and provide corresponding operation entries for the user to select authorization or rejection.
The foregoing description of the preferred embodiments of the application is not intended to be limiting, but rather is to be construed as including any modifications, equivalents, and alternatives falling within the spirit and principles of the application.

Claims (15)

1. A method for processing a three-dimensional model, wherein the three-dimensional model includes a three-dimensional mesh having a cut line, the method comprising:
mapping the three-dimensional grid to a two-dimensional space according to the cutting line to obtain a two-dimensional grid;
iteratively adjusting the two-dimensional grid according to a target constraint condition to obtain a target two-dimensional grid, wherein the target constraint condition comprises a minimum value of a cost function, the cost function is used for representing a weighted sum of torsion degree of the two-dimensional grid relative to the three-dimensional grid and length of a cutting line corresponding to the two-dimensional grid, and the adjustment of the two-dimensional grid promotes the torsion degree and/or the length of the cutting line in the cost function to change;
And storing the target two-dimensional grid.
2. The method of processing a three-dimensional model according to claim 1, wherein iteratively adjusting the two-dimensional mesh according to a target constraint comprises:
performing first adjustment operation on the designated points in the two-dimensional grid according to the target constraint condition to obtain a first adjusted two-dimensional grid;
determining an adjustment cutting line corresponding to the first adjustment operation;
determining the value of the cost function corresponding to the first two-dimensional regulation grid according to the torsion degree of the first two-dimensional regulation grid relative to the three-dimensional grid and the length of the regulation cutting line corresponding to the first two-dimensional regulation grid;
and storing the first adjustment two-dimensional grid and the adjustment cutting line under the condition that the value of the cost function corresponding to the first adjustment two-dimensional grid is smaller than that of the cost function corresponding to the two-dimensional grid.
3. The method according to claim 2, wherein the specified points include first points, the first adjustment operation includes a clipping operation, and the performing the first adjustment operation on the specified points in the two-dimensional grid to obtain a first adjusted two-dimensional grid includes:
Performing the cropping operation on the first points in the two-dimensional grid to generate two second points to obtain the first adjusted two-dimensional grid, wherein,
the determining the adjustment cutting line corresponding to the first adjustment operation includes:
and mapping the cutting operation to the three-dimensional grid to adjust the cutting line of the three-dimensional grid, so as to obtain the adjusted cutting line.
4. The method according to claim 2, wherein the specified points include a third point and a fourth point that are adjacent and not connected, the first adjustment operation includes a merging operation, and the performing the first adjustment operation on the specified points in the two-dimensional grid to obtain a first adjusted two-dimensional grid includes:
the merging operation is performed on the third point and the fourth point in the two-dimensional grid, a fifth point is generated, so as to obtain the first adjustment two-dimensional grid, wherein,
the determining the adjustment cutting line corresponding to the first adjustment operation includes:
and mapping the merging operation to the three-dimensional grid to adjust the cutting line of the three-dimensional grid, so as to obtain the adjusted cutting line.
5. The method of processing a three-dimensional model according to claim 2, wherein iteratively adjusting the two-dimensional mesh according to a target constraint condition further comprises:
And performing a second adjustment operation on a sixth point in the two-dimensional grid according to the target constraint condition to obtain a second adjusted two-dimensional grid, wherein the second adjustment operation is used for changing coordinates of the sixth point, a cutting line corresponding to the second adjusted two-dimensional grid is identical to a cutting line corresponding to the two-dimensional grid, and the torsion degree of the second adjusted two-dimensional grid relative to the three-dimensional grid is smaller than that of the two-dimensional grid relative to the three-dimensional grid.
6. The method of processing a three-dimensional model according to claim 5, further comprising:
obtaining a torsion degree function, wherein the torsion degree function is a function of coordinates of torsion degree of the two-dimensional grid relative to the three-dimensional grid about points in the two-dimensional space;
calculating derivatives of the torsion degree function with respect to coordinates of points in the two-dimensional space;
in case the derivative fulfils a specified condition, determining the point as the sixth point and determining a gradient direction of the sixth point, wherein,
and performing a second adjustment operation on a sixth point in the two-dimensional grid to obtain a second adjusted two-dimensional grid, including:
And carrying out the second adjustment operation on the sixth point according to the gradient direction so as to obtain the second adjustment two-dimensional grid.
7. The method for processing a three-dimensional model according to claim 1, wherein a weight value of a torsion degree in the cost function is a variable, the iteratively adjusting the two-dimensional grid according to a target constraint condition, further comprising:
and adjusting the weight value of the torsion in the cost function under the condition that the torsion of the two-dimensional grid relative to the three-dimensional grid is larger than a specified threshold value.
8. The method for processing the three-dimensional model according to claim 1, wherein iteratively adjusting the two-dimensional grid according to the target constraint condition to obtain a target two-dimensional grid comprises:
in each iterative adjustment, the following steps are performed:
determining a current weight value of the torsion degree in the cost function;
searching a designated point in the current two-dimensional grid, wherein the value of a cost function corresponding to a first adjustment two-dimensional grid obtained by performing a first adjustment operation on the designated point is smaller than the value of the cost function corresponding to the current two-dimensional grid;
when the specified point exists in the current two-dimensional grid, executing the first adjustment operation aiming at the specified point, and executing the second adjustment operation aiming at any point in the first adjustment two-dimensional grid under the condition that the derivative of the coordinate of any point meets the specified condition, so as to obtain a second adjustment two-dimensional grid, and taking the second adjustment two-dimensional grid as a new current two-dimensional grid until the specified point does not exist in the current two-dimensional grid;
When the specified point does not exist in the current two-dimensional grid, aiming at any point in the current two-dimensional grid, executing the second adjustment operation to obtain a third adjustment two-dimensional grid under the condition that the derivative of the coordinates of any point meets specified conditions, and taking the third adjustment two-dimensional grid as a new current two-dimensional grid;
and stopping iteration under the condition that the current weight value meets a preset condition, the specified point does not exist in the current two-dimensional grid, and the derivative of the coordinate of any point in the current two-dimensional grid does not meet the specified condition.
9. The method of processing a three-dimensional model according to claim 1, further comprising:
determining the flatness of a target point in the three-dimensional grid, wherein the flatness of the target point is determined in a designated area, the designated area comprises at least one ring neighborhood of the target point, and the flatness of the target point is used for representing the possibility that the target point is in the same plane with other points in the designated area;
determining the flatness of a first three-dimensional polygonal surface patch including the target point in the three-dimensional grid based on the flatness of the target point;
And when the difference between the flatness of the second three-dimensional polygonal surface piece adjacent to the first three-dimensional polygonal surface piece and the flatness of the first three-dimensional polygonal surface piece is within a specified range, dividing the second three-dimensional polygonal surface piece and the first three-dimensional polygonal surface piece into the same target area, and obtaining a cutting line of the three-dimensional grid based on the boundary of the target area.
10. The method of processing a three-dimensional model according to any one of claims 1 to 9, further comprising:
and mapping the texture information of the three-dimensional model into the target two-dimensional grid to obtain a two-dimensional texture map.
11. A method for processing a three-dimensional model, wherein the three-dimensional model comprises a three-dimensional mesh, the method comprising:
determining the flatness of a target point in the three-dimensional grid, wherein the flatness of the target point is determined in a designated area, the designated area comprises at least one ring neighborhood of the target point, and the flatness of the target point is used for representing the possibility that the target point is in the same plane with other points in the designated area;
determining the flatness of a first three-dimensional polygonal surface patch including the target point in the three-dimensional grid based on the flatness of the target point;
And when the difference between the flatness of the second three-dimensional polygonal surface piece adjacent to the first three-dimensional polygonal surface piece and the flatness of the first three-dimensional polygonal surface piece is within a specified range, dividing the second three-dimensional polygonal surface piece and the first three-dimensional polygonal surface piece into the same target area, and obtaining a cutting line of the three-dimensional grid based on the boundary of the target area.
12. A processing apparatus for a three-dimensional model, the three-dimensional model including a three-dimensional mesh having a cut line, the processing apparatus comprising:
the mapping module is used for mapping the three-dimensional grid to a two-dimensional space according to the cutting line to obtain a two-dimensional grid;
the adjustment module is used for iteratively adjusting the two-dimensional grid according to a target constraint condition to obtain a target two-dimensional grid, wherein the target constraint condition comprises a cost function with the minimum value, the cost function is used for representing the weighted sum of the torsion degree of the two-dimensional grid relative to the three-dimensional grid and the length of a cutting line corresponding to the two-dimensional grid, and the adjustment of the two-dimensional grid promotes the torsion degree and/or the length of the cutting line in the cost function to change;
And the storage module is used for storing the target two-dimensional grid.
13. A processing apparatus for a three-dimensional model, wherein the three-dimensional model includes a three-dimensional mesh, the processing apparatus comprising:
a first determining module, configured to determine a flatness of a target point in the three-dimensional grid, where the flatness of the target point is determined in a specified area, the specified area including at least one ring neighborhood of the target point, the flatness of the target point being used to characterize a likelihood that the target point is located in the same plane as other points in the specified area;
a second determining module, configured to determine, based on the flatness of the target point, flatness of a first three-dimensional polygon patch including the target point in the three-dimensional grid;
an obtaining module, configured to, when a difference between a flatness of a second three-dimensional polygonal surface piece adjacent to the first three-dimensional polygonal surface piece and a flatness of the first three-dimensional polygonal surface piece is within a specified range, divide the second three-dimensional polygonal surface piece and the first three-dimensional polygonal surface piece into a same target area, and obtain a cutting line of the three-dimensional grid based on a boundary of the target area.
14. An electronic device, comprising:
a processor;
a memory for storing the processor-executable instructions,
wherein the processor is configured to perform the method of processing a three-dimensional model according to any of the preceding claims 1 to 11.
15. A computer-readable storage medium, characterized in that the storage medium stores a computer program for executing the method of processing a three-dimensional model according to any one of the preceding claims 1 to 11.
CN202310850189.2A 2023-07-11 2023-07-11 Three-dimensional model processing method and device, electronic equipment and medium Pending CN116977530A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310850189.2A CN116977530A (en) 2023-07-11 2023-07-11 Three-dimensional model processing method and device, electronic equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310850189.2A CN116977530A (en) 2023-07-11 2023-07-11 Three-dimensional model processing method and device, electronic equipment and medium

Publications (1)

Publication Number Publication Date
CN116977530A true CN116977530A (en) 2023-10-31

Family

ID=88478826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310850189.2A Pending CN116977530A (en) 2023-07-11 2023-07-11 Three-dimensional model processing method and device, electronic equipment and medium

Country Status (1)

Country Link
CN (1) CN116977530A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022037259A1 (en) * 2020-08-17 2022-02-24 腾讯科技(深圳)有限公司 Image processing method and apparatus, electronic device, and computer readable storage medium
US20220058859A1 (en) * 2020-08-24 2022-02-24 Autodesk, Inc. Uv mapping on 3d objects with the use of artificial intelligence
CN114418836A (en) * 2022-03-11 2022-04-29 腾讯科技(深圳)有限公司 Data processing method, device, equipment and medium
CN114445564A (en) * 2022-04-08 2022-05-06 腾讯科技(深圳)有限公司 Model expansion method, device, storage medium and computer program product
WO2023273339A1 (en) * 2021-06-30 2023-01-05 广东三维家信息科技有限公司 Three-dimensional model simplification method and apparatus and storage medium
US20230186565A1 (en) * 2021-12-09 2023-06-15 Electronics And Telecommunications Research Institute Apparatus and method for generating lightweight three-dimensional model based on image

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022037259A1 (en) * 2020-08-17 2022-02-24 腾讯科技(深圳)有限公司 Image processing method and apparatus, electronic device, and computer readable storage medium
US20220058859A1 (en) * 2020-08-24 2022-02-24 Autodesk, Inc. Uv mapping on 3d objects with the use of artificial intelligence
WO2023273339A1 (en) * 2021-06-30 2023-01-05 广东三维家信息科技有限公司 Three-dimensional model simplification method and apparatus and storage medium
US20230186565A1 (en) * 2021-12-09 2023-06-15 Electronics And Telecommunications Research Institute Apparatus and method for generating lightweight three-dimensional model based on image
CN114418836A (en) * 2022-03-11 2022-04-29 腾讯科技(深圳)有限公司 Data processing method, device, equipment and medium
CN114445564A (en) * 2022-04-08 2022-05-06 腾讯科技(深圳)有限公司 Model expansion method, device, storage medium and computer program product

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
M HOSSNY 等: "Fast Synthetic LiDAR Rendering via Spherical UV Unwrapping of Equirectangular Z-Buffer Images", ARXIV, 30 June 2020 (2020-06-30) *
付妍;宋本聪;周秉锋;: "闭合三角网格的优化切割与保角映射", 计算机辅助设计与图形学学报, no. 01, 15 January 2008 (2008-01-15) *

Similar Documents

Publication Publication Date Title
CN110322464B (en) Three-dimensional point cloud-based small-curvature thin-wall part boundary extraction method
CN107123164B (en) Three-dimensional reconstruction method and system for keeping sharp features
US8694284B2 (en) Part modeled by parallel geodesic curves
CN109872394B (en) Long and narrow triangular mesh optimization method based on least square support vector machine
CN110084894B (en) Local amplification display method and device of three-dimensional model and electronic equipment
US9922458B2 (en) Methods and systems for generating polycube segmentations from input meshes of objects
JP2008305372A (en) System and method for calculating loft surface using 3d scan data
CN107146251B (en) Symmetry analysis method of three-dimensional face model
KR20150093391A (en) Method for rendering terrain
CN113538689A (en) Three-dimensional model mesh simplification method based on feature fusion of neural network
CN103679814A (en) Processing method and device for triangle mesh model
CN116071519A (en) Image processing method and device for generating grid model based on harmonic mapping
CN109697748B (en) Model compression processing method, model mapping processing method, model compression processing device, and storage medium
CN114077771A (en) Pneumatic shape reverse design method
CN116977530A (en) Three-dimensional model processing method and device, electronic equipment and medium
CN113343328A (en) Efficient closest point projection method based on improved Newton iteration
CN110543819B (en) Three-dimensional (3D) printing triangular mesh single-hole classification identification and repair method and system
CN107247833B (en) CAE mass data lightweight method under cloud computing
CN114494641B (en) Three-dimensional model light weight method and device
JP4981313B2 (en) Three-dimensional shape processing apparatus, curved surface creation program, and curved surface creation method
JPWO2015151553A1 (en) Change detection support device, change detection support method, and program
CN111583098B (en) Line segment clustering and fitting method and system based on sequence image
CN117593485B (en) Three-dimensional model simplifying method and system based on Haoskov distance perception
Zhou et al. Research and Implementation of Lightweight Technology for Digital Twin Models of Complex Equipment
CA2711825A1 (en) System and method for generating quadrangulations

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination