Model simplification method, apparatus, device, and storage medium

By adjusting the shrinking order of candidate shrinking edges, the hole coverage problem caused by the QEM algorithm was solved, and the simplification effect of the model was improved.

CN116310202BActive Publication Date: 2026-06-26NEUSOFT CORP +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
NEUSOFT CORP
Filing Date
2022-12-30
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

Existing QEM algorithms tend to cover holes when simplifying 3D models, which affects the simplification effect.

Method used

By obtaining the contraction points and original cost values ​​of candidate contraction edges, calculating the updated surface and updated value, adjusting the contraction order of candidate contraction edges, determining the target contraction edge for contraction, and obtaining the target contraction edge for contraction, the hole coverage problem is solved by obtaining the updated cost value of each candidate contraction edge through technical means.

Benefits of technology

This effectively solved the problem of holes being covered, and improved the simplification effect of the model.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116310202B_ABST
    Figure CN116310202B_ABST
Patent Text Reader

Abstract

The application discloses a model simplification method, device, equipment and storage medium. The method comprises the following steps: obtaining a plurality of candidate contraction edges of a to-be-simplified model, and respectively obtaining a contraction point and an original generation value of each candidate contraction edge; based on the contraction point matched with each candidate contraction edge, a plurality of updated surfaces matched with each candidate contraction edge are respectively obtained; an initial surface matched with each candidate contraction edge is obtained, and based on each candidate contraction edge, the plurality of updated surfaces matched with each candidate contraction edge and the initial surface, an updated value matched with each candidate contraction edge is respectively calculated and obtained; based on the updated value matched with each candidate contraction edge and the original generation value, an updated generation value of each candidate contraction edge is respectively calculated and obtained; based on the updated generation value of each candidate contraction edge, a target contraction edge is determined, the target contraction edge is contracted, and a target model is obtained. The technical scheme of the application solves the problem that holes are covered in the model simplification process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of model processing technology, and in particular relates to a model simplification method, apparatus, device and storage medium. Background Technology

[0002] With the continuous development of computer hardware and software technology and the increasing popularity of augmented reality, virtual reality, and mixed reality, the demand for 3D modeling is increasing exponentially, and the structure of 3D models is becoming increasingly complex. In practical applications, there are often requirements for model processing speed, necessitating the simplification of 3D models. Methods for model simplification mainly include polygon reduction and baking. Among these, the Quadratic Error Measure (QEM) algorithm is commonly used to improve the performance of polygon reduction.

[0003] However, while the QEM algorithm balances speed and performance, it often results in newly generated faces covering the original holes in models with holes, leading to significant differences in the number of faces reduced in the model. Summary of the Invention

[0004] This application aims to at least partially address one of the technical problems in the related art. To this end, one objective of this application is to provide a model simplification method, apparatus, device, and storage medium.

[0005] To address the aforementioned technical problems, embodiments of this application provide the following technical solutions:

[0006] A model simplification method includes:

[0007] Obtain multiple candidate shrinking edges of the model to be simplified, and obtain the shrinking point and original cost of each candidate shrinking edge;

[0008] Based on the contraction point that matches each of the candidate contraction edges, multiple updated faces that match each of the candidate contraction edges are obtained respectively.

[0009] Obtain an initial face that matches each of the candidate shrinking edges, and calculate an update value that matches each of the candidate shrinking edges based on each candidate shrinking edge, the multiple update faces that match each candidate shrinking edge, and the initial face.

[0010] Based on the updated value matched with each candidate shrinking edge and the original generation value, the updated generation value of each candidate shrinking edge is calculated respectively.

[0011] Based on the updated generation value of each candidate shrinking edge, a target shrinking edge is determined, and the target shrinking edge is shrunk to obtain the target model.

[0012] Optionally, obtaining multiple updated faces matching each candidate shrinking edge based on the shrinking point matching each candidate shrinking edge includes:

[0013] Obtain the first vertex and the second vertex of each candidate shrinking edge; wherein each first vertex is contained in at least one first initial face; each second vertex is contained in at least one second initial face; the initial face includes a first initial face and a second initial face;

[0014] Based on the contraction point matching each candidate contraction edge, the first vertex and the second vertex of each candidate contraction edge are replaced respectively to obtain a first update surface matching each first vertex and a second update surface matching each second vertex; the update surface includes the first update surface and the second update surface.

[0015] Optionally, obtaining the initial face matching each candidate shrinking edge, and calculating the update value matching each candidate shrinking edge based on each candidate shrinking edge, the plurality of update faces matching each candidate shrinking edge, and the initial face, includes:

[0016] Obtain the first initial face and the second initial face that match each of the candidate contraction edges;

[0017] Calculate a first reference value for each first updated face that matches each candidate shrinking edge, a second reference value for each second updated face that matches each candidate shrinking edge, a third reference value for each first initial face that matches each candidate shrinking edge, and a fourth reference value for each second initial face that matches each candidate shrinking edge;

[0018] The first parameter is calculated based on each of the first reference value, second reference value, third reference value, and fourth reference value that matches each of the candidate shrinking edges;

[0019] Based on the first parameter, an updated value matching each of the candidate shrinking edges is calculated.

[0020] Optionally, the calculation of the first parameter based on each of the first reference value, second reference value, third reference value, and fourth reference value matched with each of the candidate shrinking edges includes:

[0021] The first term is calculated based on each of the first reference values ​​and the second reference values ​​that match each of the candidate shrinking edges;

[0022] The second term is calculated based on each of the third and fourth reference values ​​that match each of the candidate shrinking edges;

[0023] The first parameter is calculated based on the difference between the first and second terms.

[0024] Optionally, calculating the updated value matching each candidate shrinking edge based on the first parameter includes:

[0025] Obtain the side length of each candidate shrinking edge, and calculate the weight value matching each candidate shrinking edge based on the side length of each candidate shrinking edge.

[0026] Based on the weight value matched with each of the candidate shrinking edges and the first parameter, the updated value matched with each of the candidate shrinking edges is calculated respectively.

[0027] Optionally, the step of calculating the updated generation value of each candidate shrinking edge based on the updated value matched with each candidate shrinking edge and the original generation value includes:

[0028] The updated generation value of each candidate shrinking edge is calculated based on the sum of the updated value matched with each candidate shrinking edge and the original generation value.

[0029] Optionally, determining the target shrinking edge based on the updated generation value of each of the candidate shrinking edges includes:

[0030] Sort each of the updated value values ​​to obtain an updated value queue;

[0031] Based on the updated generation value queue, determine the lower limit of the updated generation value;

[0032] Based on the aforementioned lower limit of update generation value, determine the target update generation value;

[0033] The candidate shrinking edge that matches the target update value is determined as the target shrinking edge.

[0034] Embodiments of this application also provide a model simplification apparatus, comprising:

[0035] The acquisition module is used to acquire multiple candidate shrinking edges of the model to be simplified, and to acquire the shrinking point and original cost of each candidate shrinking edge.

[0036] The module is configured to obtain multiple updated faces that match each candidate shrinking edge based on the shrinking point that matches each candidate shrinking edge.

[0037] The first calculation module is used to obtain an initial face that matches each of the candidate shrinking edges, and to calculate an update value that matches each of the candidate shrinking edges based on each candidate shrinking edge, a plurality of update faces that match each candidate shrinking edge, and the initial face.

[0038] The second calculation module is used to calculate the updated generation value of each candidate shrinking edge based on the updated value matched with each candidate shrinking edge and the original generation value.

[0039] A simplification module is used to determine the target shrinking edge based on the updated generation value of each of the candidate shrinking edges, shrink the target shrinking edge, and obtain the target model.

[0040] Embodiments of this application also provide an electronic device, including a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein the processor executes the computer program to implement the method described above.

[0041] Embodiments of this application also provide a computer-readable storage medium, the computer-readable storage medium including a stored computer program, wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to perform the method described above.

[0042] The embodiments of this application have the following technical effects:

[0043] The above-mentioned technical solution of this application calculates the updated value of the original cost value of each candidate shrinking edge based on each candidate shrinking edge, multiple updated surfaces matched with each candidate shrinking edge, and the initial surface. Then, based on the updated value corresponding to each candidate shrinking edge, the original cost value of each candidate shrinking edge is updated to obtain the updated cost value corresponding to each candidate shrinking edge. Then, based on the updated cost value corresponding to each candidate shrinking edge, the shrinking order of each candidate shrinking edge is re-determined, which helps to solve the problem of the hole 11 being covered due to edge shrinkage.

[0044] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description

[0045] Figure 1 This is a schematic diagram of the structure of a component of an industrial model provided in an embodiment of this application;

[0046] Figure 2 This is a schematic diagram of a structure in which holes generated by edge contraction based on related technologies are covered, according to an embodiment of this application.

[0047] Figure 3 This is a flowchart illustrating a model simplification method provided in an embodiment of this application;

[0048] Figure 4 This is a schematic diagram of the result of a model simplification device provided in an embodiment of this application. Detailed Implementation

[0049] The embodiments of this application are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this application, and should not be construed as limiting this application.

[0050] like Figure 1 As shown, this is component 1 of an industrial model. This component has two holes 11. When using the QEM algorithm for surface reduction, it will result in the following... Figure 2 The problem is that hole 11 shown is covered.

[0051] The problem of hole 11 being covered is caused by the collapse of the larger side in QEM, which causes the updated surface after the reduction of the surface to cover the original initial surface, thus reducing the effect of model simplification.

[0052] To address the aforementioned technical problems, embodiments of this application provide the following technical solutions:

[0053] like Figure 3 As shown, embodiments of this application provide a model simplification method, including:

[0054] Step S31: Obtain multiple candidate shrinkage edges of the model to be simplified, and obtain the shrinkage point and original cost of each candidate shrinkage edge;

[0055] In one optional embodiment of this application, a model to be simplified is obtained, and each candidate shrinking edge of the model to be simplified is obtained. Then, the original cost value and shrinking point of each candidate shrinking edge are calculated based on the QEM algorithm in the relevant algorithm.

[0056] Each model to be simplified includes multiple initial faces, and each initial face includes multiple candidate shrinking edges.

[0057] Step S32: Based on the contraction point that matches each of the candidate contraction edges, obtain multiple updated faces that match each of the candidate contraction edges;

[0058] In an optional embodiment of this application, obtaining multiple updated faces matching each candidate shrinking edge based on the shrinking point matching each candidate shrinking edge includes:

[0059] Obtain the first vertex and the second vertex of each candidate shrinking edge; wherein each first vertex is contained in at least one first initial face; each second vertex is contained in at least one second initial face; the initial face includes a first initial face and a second initial face;

[0060] Based on the contraction point matching each candidate contraction edge, the first vertex and the second vertex of each candidate contraction edge are replaced respectively to obtain a first update surface matching each first vertex and a second update surface matching each second vertex; the update surface includes the first update surface and the second update surface.

[0061] In an optional embodiment of this application, before shrinking the candidate shrinking edge, each candidate shrinking edge includes two vertices, namely a first vertex and a second vertex;

[0062] For any candidate shrinking edge, the first vertex of the candidate shrinking edge is contained in at least one first initial face, and generally, the first vertex of the candidate shrinking edge is contained in multiple first initial faces; similarly, for any candidate shrinking edge, the second vertex of the candidate shrinking edge is contained in at least one second initial face, and generally, the second vertex of the candidate shrinking edge is contained in multiple second initial faces.

[0063] In an optional embodiment of this application, for any candidate shrinking edge, based on the shrinking point that matches the candidate shrinking edge, the first vertex and the second vertex of the candidate shrinking edge are replaced with the corresponding shrinking point and then calculated. That is, assuming that the candidate shrinking edge is shrunk to the shrinking point that matches the candidate shrinking edge, and the first vertex in each first initial face containing the first vertex is also replaced with the shrinking point, thereby obtaining a first updated face based on a first initial face; at the same time, the second vertex in each second initial face containing the second vertex is also replaced with the shrinking point, thereby obtaining a second updated face based on the second initial face.

[0064] Step S33: Obtain the initial face that matches each of the candidate shrinking edges, and calculate the update value that matches each of the candidate shrinking edges based on each candidate shrinking edge, the multiple update faces that match each candidate shrinking edge, and the initial face.

[0065] In an optional embodiment of this application, the step of obtaining an initial face matching each candidate shrinking edge, and calculating an update value matching each candidate shrinking edge based on each candidate shrinking edge, a plurality of updated faces matching each candidate shrinking edge, and the initial face, includes:

[0066] Obtain the first initial face and the second initial face that match each of the candidate contraction edges;

[0067] Calculate a first reference value for each first updated face that matches each candidate shrinking edge, a second reference value for each second updated face that matches each candidate shrinking edge, a third reference value for each first initial face that matches each candidate shrinking edge, and a fourth reference value for each second initial face that matches each candidate shrinking edge;

[0068] The first parameter is calculated based on each of the first reference value, second reference value, third reference value, and fourth reference value that matches each of the candidate shrinking edges;

[0069] Based on the first parameter, an updated value matching each of the candidate shrinking edges is calculated.

[0070] In an optional embodiment of this application, for any candidate shrinking edge, each first updated face, second updated face, first initial face, and second initial face corresponding to the candidate shrinking edge is obtained;

[0071] Then, calculate the first reference value for each first updated surface, the second reference value for each second updated surface, the third reference value for each first initial surface, and the fourth reference value for each second initial surface;

[0072] Wherein, the first reference value can be the first area S1 of the first updated surface; the second reference value can be the second area S2 of the second updated surface; the third reference value can be the third area S3 of the first initial surface; and the fourth reference value can be the fourth area S4 of the second initial surface.

[0073] Furthermore, the first parameter is calculated based on each first area S1, each second area S2, each third area S3, and each fourth area S4.

[0074] In an optional embodiment of this application, the calculation of the first parameter based on each of the first reference value, second reference value, third reference value, and fourth reference value matched with each of the candidate shrinking edges includes:

[0075] The first term is calculated based on each of the first reference values ​​and the second reference values ​​that match each of the candidate shrinking edges;

[0076] The second term is calculated based on each of the third and fourth reference values ​​that match each of the candidate shrinking edges;

[0077] The first parameter is calculated based on the difference between the first and second terms.

[0078] In an optional embodiment of this application, the first item can be calculated based on the following formula:

[0079]

[0080] Where N is the number of first reference values, S i1 This represents the i-th first reference value; M is the number of second reference values, and S... j1 This represents the j-th second reference value.

[0081] In an optional embodiment of this application, the second item can be calculated based on the following formula:

[0082]

[0083] Where P is the number of third reference values, S t1 S represents the t-th third reference value; Q is the number of fourth reference values, and S... k1 This represents the k-th fourth reference value.

[0084] In an optional embodiment of this application, the first parameter can be calculated based on the following formula:

[0085] First parameter = First term - Second term =

[0086]

[0087] In an optional embodiment of this application, calculating the updated value matching each of the candidate shrinking edges based on the first parameter includes:

[0088] Obtain the side length of each candidate shrinking edge, and calculate the weight value matching each candidate shrinking edge based on the side length of each candidate shrinking edge.

[0089] Based on the weight value matched with each of the candidate shrinking edges and the first parameter, the updated value matched with each of the candidate shrinking edges is calculated respectively.

[0090] In an optional embodiment of this application, when calculating the updated value of the original cost value of each candidate shrinking edge, the side length of the candidate shrinking edge is obtained, and the weight value of the updated value is calculated using the side length.

[0091] In an optional embodiment of this application, in order to solve the problem that the hole 11 is covered due to the shrinkage edge, the original cost value of each candidate shrinkage edge is increased based on the update value corresponding to each candidate shrinkage edge (since the first parameter is determined based on the difference between the sum of the areas of multiple updated faces matched with each candidate shrinkage edge and the sum of the areas of multiple initial faces, i.e. the area deviation is greater than 0 and the side length is greater than 0, and the update value calculated based on the product of the first parameter and the side length is also greater than 0).

[0092] Specifically, the update value corresponding to any candidate shrinking edge can be calculated based on the following formula:

[0093] The w-th update value = the first parameter * l w ;

[0094] Among them, l w Let w be the length of the w-th candidate shrinking edge; w is a positive integer.

[0095] In the embodiments of this application, when calculating the updated value of the original cost value of each candidate shrinking edge, the area of ​​the initial face containing the vertex of the candidate shrinking edge and the area of ​​the updated face containing the shrinking point after shrinking the candidate shrinking edge are combined. At the same time, the side length of the candidate shrinking edge is also considered, and the original cost value of each candidate shrinking edge is further improved, thus solving the problem that the hole 11 is covered due to the shrinking edge.

[0096] Step S34: Based on the updated value matched with each candidate shrinking edge and the original generation value, calculate the updated generation value of each candidate shrinking edge respectively;

[0097] In an optional embodiment of this application, the step of calculating the updated generation value of each candidate shrinking edge based on the updated value matched with each candidate shrinking edge and the original generation value includes:

[0098] The updated generation value of each candidate shrinking edge is calculated based on the sum of the updated value matched with each candidate shrinking edge and the original generation value.

[0099] In an optional embodiment of this application, the update cost corresponding to any candidate shrinking edge can be calculated based on the following formula:

[0100] The updated value of the yth generation = the original value of the yth generation + the first parameter * l y ;

[0101] Where y is a positive integer;

[0102] In an optional embodiment of this application, based on the above algorithm, the updated cost value of each candidate shrinking edge can be calculated.

[0103] In the embodiments of this application, the original cost value corresponding to any candidate shrinking edge is less than the updated cost value corresponding to that candidate shrinking edge. Therefore, the embodiments of this application increase the original cost value of any candidate shrinking edge, which helps to solve the problem of the hole 11 being covered due to edge shrinkage.

[0104] Step S35: Based on the updated generation value of each candidate shrinking edge, determine the target shrinking edge, shrink the target shrinking edge, and obtain the target model.

[0105] In an optional embodiment of this application, determining the target shrinking edge based on the updated generation value of each of the candidate shrinking edges includes:

[0106] Sort each of the updated value values ​​to obtain an updated value queue;

[0107] Based on the aforementioned update value queue, determine the lower limit of the update value;

[0108] Based on the aforementioned lower limit of update generation value, determine the target update generation value;

[0109] The candidate shrinking edge that matches the target update value is determined as the target shrinking edge.

[0110] In an optional embodiment of this application, after obtaining the update value of each candidate shrinking edge, all update values ​​are arranged in ascending order or in descending order to obtain an update value queue.

[0111] Based on the update generation value queue, the update generation value with the smallest value is obtained, which is the lower limit of the update generation value. This lower limit of the update generation value is determined as the target update generation value. Then, the candidate shrinking edge that matches the target update generation value is determined as the target shrinking edge.

[0112] In an optional embodiment of this application, after obtaining a target shrinking edge, a shrinking point matching the target shrinking edge is obtained, and the target shrinking edge is shrunk to the shrinking point. The first vertex in each first initial face containing the first vertex of the target shrinking edge is replaced based on the shrinking point to obtain multiple first updated faces. The second vertex in each second initial face containing the second vertex of the target shrinking edge is replaced based on the shrinking point to obtain multiple second updated faces. An updated model is obtained based on the multiple first updated faces and the second updated faces.

[0113] In an optional embodiment of this application, after completing a model simplification, the number of initial faces included in the current updated model is compared with a face number threshold. If the number of initial faces in the current updated model is not greater than the face number threshold, then the current updated model is determined as the target model.

[0114] If the initial number of faces in the current updated model is greater than the face number threshold, repeat the above steps to obtain each remaining candidate shrinkage edge of the current updated model, update the original value of each candidate shrinkage edge to obtain the updated value of each candidate shrinkage edge, determine the target updated value based on the updated value of each candidate shrinkage edge, determine the candidate shrinkage edge that matches the target updated value as the new target shrinkage edge, shrink the new target shrinkage edge to the shrinkage point that matches the new target shrinkage edge, and then obtain the new updated model. This process is repeated until the initial number of faces in the current new updated model is not greater than the face number threshold, at which point the current new updated model is determined as the target model.

[0115] In the embodiments of this application, the updated value of each candidate shrinking edge is calculated, the original value of each candidate shrinking edge is updated, the updated value of each candidate shrinking edge is obtained, and the shrinking order of the candidate shrinking edges is re-determined based on the updated value of each candidate shrinking edge, thereby realizing the determination of the shrinking order of the candidate shrinking edges.

[0116] like Figure 4 As shown, embodiments of this application also provide a model simplification device 40, comprising:

[0117] The acquisition module 41 is used to acquire multiple candidate shrinkage edges of the model to be simplified, and to acquire the shrinkage point and original cost of each candidate shrinkage edge.

[0118] The module 42 is used to obtain multiple updated faces that match each candidate shrinking edge based on the shrinking point that matches each candidate shrinking edge.

[0119] The first calculation module 43 is used to obtain an initial face that matches each of the candidate shrinking edges, and to calculate an update value that matches each of the candidate shrinking edges based on each candidate shrinking edge, a plurality of update faces that match each candidate shrinking edge, and the initial face.

[0120] The second calculation module 44 is used to calculate the updated generation value of each candidate shrinking edge based on the updated value matched with each candidate shrinking edge and the original generation value.

[0121] The simplification module 45 is used to determine the target shrinking edge based on the updated generation value of each of the candidate shrinking edges, shrink the target shrinking edge, and obtain the target model.

[0122] Optionally, obtaining multiple updated faces matching each candidate shrinking edge based on the shrinking point matching each candidate shrinking edge includes:

[0123] Obtain the first vertex and the second vertex of each candidate shrinking edge; wherein each first vertex is contained in at least one first initial face; each second vertex is contained in at least one second initial face; the initial face includes a first initial face and a second initial face;

[0124] Based on the contraction point matching each candidate contraction edge, the first vertex and the second vertex of each candidate contraction edge are replaced respectively to obtain a first update surface matching each first vertex and a second update surface matching each second vertex; the update surface includes the first update surface and the second update surface.

[0125] Optionally, obtaining the initial face matching each candidate shrinking edge, and calculating the update value matching each candidate shrinking edge based on each candidate shrinking edge, the plurality of update faces matching each candidate shrinking edge, and the initial face, includes:

[0126] Obtain the first initial face and the second initial face that match each of the candidate contraction edges;

[0127] Calculate a first reference value for each first updated face that matches each candidate shrinking edge, a second reference value for each second updated face that matches each candidate shrinking edge, a third reference value for each first initial face that matches each candidate shrinking edge, and a fourth reference value for each second initial face that matches each candidate shrinking edge;

[0128] The first parameter is calculated based on each of the first reference value, second reference value, third reference value, and fourth reference value that matches each of the candidate shrinking edges;

[0129] Based on the first parameter, an updated value matching each of the candidate shrinking edges is calculated.

[0130] Optionally, the step of calculating the first parameter based on each of the first reference value, second reference value, third reference value, and fourth reference value matched with each of the candidate shrinking edges includes:

[0131] The first term is calculated based on each of the first reference values ​​and the second reference values ​​that match each of the candidate shrinking edges;

[0132] The second term is calculated based on each of the third and fourth reference values ​​that match each of the candidate shrinking edges;

[0133] The first parameter is calculated based on the difference between the first and second terms.

[0134] Optionally, calculating the updated value matching each candidate shrinking edge based on the first parameter includes:

[0135] Obtain the side length of each candidate shrinking edge, and calculate the weight value matching each candidate shrinking edge based on the side length of each candidate shrinking edge.

[0136] Based on the weight value matched with each of the candidate shrinking edges and the first parameter, the updated value matched with each of the candidate shrinking edges is calculated respectively.

[0137] Optionally, the step of calculating the updated generation value of each candidate shrinking edge based on the updated value matched with each candidate shrinking edge and the original generation value includes:

[0138] The updated generation value of each candidate shrinking edge is calculated based on the sum of the updated value matched with each candidate shrinking edge and the original generation value.

[0139] Optionally, determining the target shrinking edge based on the updated generation value of each of the candidate shrinking edges includes:

[0140] Sort each of the updated value values ​​to obtain an updated value queue;

[0141] Based on the updated generation value queue, determine the lower limit of the updated generation value;

[0142] Based on the aforementioned lower limit of update generation value, determine the target update generation value;

[0143] The candidate shrinking edge that matches the target update value is determined as the target shrinking edge.

[0144] Embodiments of this application also provide an electronic device, including a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein the processor executes the computer program to implement the method described above.

[0145] Embodiments of this application also provide a computer-readable storage medium, the computer-readable storage medium including a stored computer program, wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to perform the method described above.

[0146] Furthermore, other configurations and functions of the apparatus in the embodiments of this application are known to those skilled in the art, and will not be described in detail here to reduce redundancy.

[0147] It should be noted that the logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Alternatively, the computer-readable medium may be paper or other suitable media on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in a computer memory.

[0148] It should be understood that various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.

[0149] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.

[0150] In the description of this application, it should be understood that the terms "center", "longitudinal", "lateral", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", "axial", "radial", "circumferential", etc., indicating the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings, are only for the convenience of describing this application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of this application.

[0151] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "multiple" means at least two, such as two, three, etc., unless otherwise explicitly specified.

[0152] In this application, unless otherwise expressly specified and limited, the terms "installation," "connection," "joining," and "fixing," etc., should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral part; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; they can refer to the internal communication of two components or the interaction between two components, unless otherwise expressly limited. Those skilled in the art can understand the specific meaning of the above terms in this application according to the specific circumstances.

[0153] In this application, unless otherwise expressly specified and limited, "above" or "below" the second feature can mean that the first feature is in direct contact with the second feature, or that the first feature is in indirect contact with the second feature through an intermediate medium. Furthermore, "above," "on top of," and "over" the second feature can mean that the first feature is directly above or diagonally above the second feature, or simply that the first feature is at a higher horizontal level than the second feature. "Below," "below," and "under" the second feature can mean that the first feature is directly below or diagonally below the second feature, or simply that the first feature is at a lower horizontal level than the second feature.

[0154] Although embodiments of this application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting this application. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of this application.

Claims

1. A model simplification method, characterized in that, include: Obtain multiple candidate shrinking edges of the model to be simplified, and obtain the shrinking point and original cost of each candidate shrinking edge; Based on the contraction point that matches each of the candidate contraction edges, multiple updated faces that match each of the candidate contraction edges are obtained respectively. Obtain an initial face that matches each of the candidate shrinking edges, and calculate an update value that matches each of the candidate shrinking edges based on each candidate shrinking edge, the multiple update faces that match each candidate shrinking edge, and the initial face. The step of calculating the update value matching each candidate shrinking edge includes: calculating the update value matching each candidate shrinking edge based on a first parameter and a weight value matching each candidate shrinking edge. The first parameter is determined by the difference between the sum of the areas of multiple updated faces matching each candidate shrinking edge and the sum of the areas of multiple initial faces matching each candidate shrinking edge. The weight value matching each candidate shrinking edge is calculated based on the side length of each candidate shrinking edge. The updated generation value of each candidate shrinking edge is calculated based on the sum of the updated value matched with each candidate shrinking edge and the original generation value. Based on the updated generation value of each candidate shrinking edge, a target shrinking edge is determined, and the target shrinking edge is shrunk to obtain the target model.

2. The method according to claim 1, characterized in that, The step of obtaining multiple updated faces matching each candidate shrinking edge based on the shrinking point matching each candidate shrinking edge includes: Obtain the first vertex and the second vertex of each candidate shrinking edge; wherein each first vertex is contained in at least one first initial face; each second vertex is contained in at least one second initial face; the initial face includes a first initial face and a second initial face; Based on the contraction point matching each candidate contraction edge, the first vertex and the second vertex of each candidate contraction edge are replaced respectively to obtain a first update surface matching each first vertex and a second update surface matching each second vertex; the update surface includes the first update surface and the second update surface.

3. The method according to claim 2, characterized in that, The step of obtaining an initial face matching each candidate shrinking edge, and calculating an update value matching each candidate shrinking edge based on each candidate shrinking edge, multiple updated faces matching each candidate shrinking edge, and the initial face, includes: Obtain the first initial face and the second initial face that match each of the candidate contraction edges; Calculate a first reference value for each first updated face that matches each candidate shrinking edge, a second reference value for each second updated face that matches each candidate shrinking edge, a third reference value for each first initial face that matches each candidate shrinking edge, and a fourth reference value for each second initial face that matches each candidate shrinking edge; The first parameter is calculated based on each of the first reference value, second reference value, third reference value, and fourth reference value that matches each of the candidate shrinking edges; Based on the first parameter, an updated value matching each of the candidate shrinking edges is calculated; Wherein, the first reference value, the second reference value, the third reference value, and the fourth reference value are area values.

4. The method according to claim 3, characterized in that, The calculation of the first parameter based on each of the first reference value, second reference value, third reference value, and fourth reference value matched with each of the candidate shrinking edges includes: The first term is calculated based on each of the first reference values ​​and the second reference values ​​that match each of the candidate shrinking edges; The second term is calculated based on each of the third and fourth reference values ​​that match each of the candidate shrinking edges; The first parameter is calculated based on the difference between the first and second terms.

5. The method according to claim 1, characterized in that, Determining the target shrinking edge based on the updated generation value of each of the candidate shrinking edges includes: Sort each of the updated value values ​​to obtain an updated value queue; Based on the updated generation value queue, determine the lower limit of the updated generation value; Based on the aforementioned lower limit of update generation value, determine the target update generation value; The candidate shrinking edge that matches the target update value is determined as the target shrinking edge.

6. A model simplification device, characterized in that, include: The acquisition module is used to acquire multiple candidate shrinking edges of the model to be simplified, and to acquire the shrinking point and original cost of each candidate shrinking edge. The module is configured to obtain multiple updated faces that match each candidate shrinking edge based on the shrinking point that matches each candidate shrinking edge. The first calculation module is used to obtain an initial face that matches each of the candidate shrinking edges, and to calculate an update value that matches each of the candidate shrinking edges based on each candidate shrinking edge, a plurality of update faces that match each candidate shrinking edge, and the initial face. The step of calculating the update value matching each candidate shrinking edge includes: calculating the update value matching each candidate shrinking edge based on a first parameter and a weight value matching each candidate shrinking edge. The first parameter is determined by the difference between the sum of the areas of multiple updated faces matching each candidate shrinking edge and the sum of the areas of multiple initial faces matching each candidate shrinking edge. The weight value matching each candidate shrinking edge is calculated based on the side length of each candidate shrinking edge. The second calculation module is used to calculate the updated value of each candidate shrinking edge based on the sum of the updated value matched with each candidate shrinking edge and the original value. A simplification module is used to determine the target shrinking edge based on the updated generation value of each of the candidate shrinking edges, shrink the target shrinking edge, and obtain the target model.

7. An electronic device, characterized in that, The method includes a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein the processor, when executing the computer program, implements the method as claimed in any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored computer program, wherein, when the computer program is executed, it controls the device on which the computer-readable storage medium is located to perform the method as described in any one of claims 1 to 5.