Three-dimensional model surface deformation method and apparatus

By specifying the movement trajectory and preset area radius on the surface of the 3D model, the target area is automatically determined and deformed, which solves the problems of high technical requirements and high learning costs in orthotic fabrication. This enables efficient, well-fitting and breathable orthotic fabrication, improving the efficiency and accuracy of the treatment process.

WO2026007366A1PCT designated stage Publication Date: 2026-01-08KLARITY MEDICAL & EQUIP GZ
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/143494
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-04
Filing Date
2024-12-28
Publication Date
2026-01-08

AI Technical Summary

Technical Problem

In the existing technology, the manufacturing methods of orthotics have problems such as high technical requirements, long cycle, poor fit, serious material waste, poor breathability and unreasonable structural design. In addition, computer-aided design requires professional three-dimensional modeling ability, which has a high learning cost and limits its application.

Method used

A method and apparatus for deforming the surface of a three-dimensional model are provided. By specifying the movement trajectory and preset area radius on the surface of the three-dimensional model, the target area is automatically determined, and deformation is performed according to the outer contour boundary and the inner contour boundary. Deformation is achieved by using preset amplitude, which simplifies the operation process.

Benefits of technology

It reduces the learning cost of optimizing and adjusting 3D models, improves the production efficiency and fit of orthotics, reduces material waste, enhances breathability, and improves the efficiency and accuracy of orthodontic effects and treatment processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024143494_08012026_PF_FP_ABST
    Figure CN2024143494_08012026_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed in the present invention are a three-dimensional model surface deformation method and apparatus. The method comprises: determining a target region on the basis of a movement trajectory specified on a three-dimensional model surface and a preset region radius; determining an outer contour boundary of the target region on the basis of the relative positional relationship of each point in the target region, and determining an outer contour region of the target region on the basis of the outer contour boundary and a preset transition radius; determining an inner contour region and an inner contour boundary of the target region on the basis of the outer contour region; and on the basis of a preset amplitude, respectively deforming the outer contour region and the inner contour region. In the present invention, surface deformation of a three-dimensional model can be automatically realized on the basis of the specified movement trajectory, the operation is simple and easy for users, the effect is visual, and the learning cost of three-dimensional model operation can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

A method and device for deforming a surface of a three-dimensional model TECHNICAL FIELD

[0001] The present application relates to the technical field of three-dimensional models, and in particular to a method and device for deforming a surface of a three-dimensional model. BACKGROUND

[0002] In the prior art, the manufacture of orthoses is mainly divided into two methods: traditional hand-made and computer-aided design. Among them, the traditional hand-made manufacturing method of orthoses usually requires an orthotist to extract the body shape of a patient using a plaster bandage to make a "negative mold", and then fill the "negative mold" with plaster to form a "positive mold". According to the CT (Computed Tomography) and X-ray film data of the patient, the orthotist needs to add and remove plaster in different areas of the positive mold, and finally use a plate to perform thermal plastic forming to cut out the required shape. This manufacturing method has high technical requirements for the orthotist, and has the disadvantages of long cycle, poor fit, material waste, etc. Moreover, the hand-made orthosis also has the disadvantages of high consumption of materials, poor air permeability, unreasonable structure design, etc., which not only increases the treatment cost of the patient, but also increases the weight of the orthosis, affects the comfort of the patient, and poor air permeability may cause skin problems such as pressure ulcers, and unreasonable structure design may reduce the service life of the orthosis, ultimately affecting the orthotic effect.

[0003] By contrast, through computer-aided design of orthoses, the data of the patient can be directly converted into a three-dimensional model, and optimization and adjustment can be performed on the model, and then the model can be printed layer by layer into a solid orthosis using 3D printing technology or machine carving technology, without the cumbersome process of hand-made and plaster filling, which can facilitate the storage of patient data and design experience, improve the manufacturing efficiency, increase the fit, and reduce material waste.

[0004] However, although computer-aided design has various advantages, three-dimensional modeling and optimization and adjustment on the model need to be realized by using professional three-dimensional modeling software through specific precise numerical adjustment and instruction operation, which requires the orthotist to have certain three-dimensional modeling ability, and has the problem of high learning cost, which to some extent restricts the application of computers in the design of orthoses. SUMMARY

[0005] To overcome the problems in the related art, the present application provides a method and device for deforming a surface of a three-dimensional model to solve the defects in the related art.

[0006] According to a first aspect of the present application, a method for deforming a surface of a three-dimensional model is provided, the method comprising:

[0007] determining a target region according to a movement track specified on the surface of the three-dimensional model and a preset region radius;

[0008] determining an outer contour boundary of the target region according to a relative position relationship of each point in the target region, and determining an outer contour region of the target region according to the outer contour boundary and a preset transition radius;

[0009] determining an inner contour region and an inner contour boundary of the target region according to the outer contour region;

[0010] deforming the outer contour region and the inner contour region respectively according to a preset amplitude.

[0011] Preferably, the determining a target region according to a movement track specified on the surface of the three-dimensional model and a preset region radius comprises:

[0012] spreading a point A on the movement track, calculating a dot product of a direction vector of the spread point P and the point A and a direction of the track; wherein point B is another point on the movement track;

[0013] determining a relative position of the spread point P and the track segment AB according to the dot product and a relationship between 0 and 1;

[0014] if the spread point P is on the left side of the track segment AB, calculating a distance of the spread point P to the track segment AB as a distance between the spread point P and the point A;

[0015] if the spread point P is on the right side of the track segment AB, calculating a distance of the spread point P to the track segment AB as a distance between the spread point P and the point B;

[0016] if the spread point P is in the middle of the track segment AB, calculating a distance of the spread point P to the track segment AB as a distance of the spread point P projected to the track segment AB;

[0017] determining the target region according to all points on the surface of the three-dimensional model having a distance less than the region radius to any track segment of the movement track.

[0018] Preferably, the determining an outer contour boundary of the target region according to a relative position relationship of each point in the target region comprises:

[0019] traversing all points in the target region, judging whether a neighbor point of the point is located in the target region;

[0020] ​When a point in the target region has more than one neighbor point not in the target region, the point is determined as an outer contour boundary point of the target region;

[0021] The outer contour boundary of the target region is determined according to all the outer contour boundary points.

[0022] Preferably, the determination of the outer contour region of the target region according to the outer contour boundary and a preset transition radius comprises:

[0023] Starting from any outer contour boundary point on the outer contour boundary, the distance between the outer contour boundary point and all points in the target region is calculated in a loop, and points with a distance less than the transition radius are recorded as outer contour points;

[0024] After all the outer contour boundary points are traversed, the outer contour region of the target region is determined according to all the recorded outer contour points.

[0025] Preferably, the determination of the inner contour region and the inner contour boundary of the target region according to the outer contour region comprises:

[0026] The inner contour region of the target region is obtained by subtracting all points in the outer contour region from all points in the target region;

[0027] All points in the inner contour region are traversed to determine whether the neighbor points of the point are located in the outer contour region;

[0028] When a point in the inner contour region has more than one neighbor point in the outer contour region, the point is determined as an inner contour boundary point of the target region;

[0029] The inner contour boundary of the target region is determined according to all the inner contour boundary points.

[0030] Preferably, the deformation of the outer contour region and the inner contour region according to a preset amplitude respectively comprises:

[0031] For a point in the outer contour region, a deformation coefficient of the point is determined according to the shortest distance between the point and the outer contour boundary and the shortest distance between the point and the inner contour boundary;

[0032] A first deformation value of each point in the outer contour region is determined according to the deformation coefficient and the amplitude;

[0033] Each point in the outer contour region is deformed according to the first deformation value.

[0034] Preferably, the deformation of the outer contour region and the inner contour region according to a preset amplitude respectively comprises:

[0035] determining a first deformation value of each point in the inner contour region according to the amplitude;

[0036] deforming each point in the inner contour region according to the first deformation value;

[0037] obtaining the radius of each point in the inner contour region after deformation;

[0038] determining a second deformation value of each point in the inner contour region according to the median of the radius of all neighboring points of the point;

[0039] deforming each point in the inner contour region according to the second deformation value.

[0040] Preferably, the method further comprises:

[0041] when the target region forms a closed loop region, starting from the highest point and the lowest point in the target region respectively, obtaining a first outer contour boundary where the highest point is located, and a second outer contour boundary where the lowest point is located;

[0042] when the first outer contour boundary and the second outer contour boundary have a containing relationship, starting from any point in the closed loop region, and determining an outer contour region of the closed loop region according to all points whose distance to the first outer contour boundary is not greater than the transition radius, and determining an inner contour region of the closed loop region according to all points whose distance to the first outer contour boundary is greater than the transition radius;

[0043] deforming the outer contour region and the inner contour region of the closed loop region according to the amplitude respectively.

[0044] Preferably, after the deformation of the target region is completed, the method further comprises:

[0045] expanding the target region according to a specified correction track with a starting point in the target region and an ending point outside the target region, and deforming the expanded target region again;

[0046] and / or,

[0047] squeezing the target region according to a specified correction track with a starting point outside the target region and an ending point in the target region, and deforming the squeezed target region again.

[0048] According to a second aspect of the present application, a deformation device for a three-dimensional model surface is provided, the device comprising:

[0049] a movement determination module, configured to determine a target area according to a movement track specified on the surface of the three-dimensional model and a preset area radius;

[0050] an outer contour drawing module, configured to determine an outer contour boundary of the target area according to the relative position relationship of each point in the target area, and determine an outer contour area of the target area according to the outer contour boundary and a preset transition radius;

[0051] an inner contour drawing module, configured to determine an inner contour area and an inner contour boundary of the target area according to the outer contour area;

[0052] a deformation module, configured to deform the outer contour area and the inner contour area respectively according to a preset amplitude.

[0053] The present application discloses a three-dimensional model surface deformation method and device, which can automatically deform a specified area on the surface of a three-dimensional model by presetting area radius, transition radius and amplitude and according to a movement track of a designer sliding on the surface of the three-dimensional model, and has the advantages of simple operation, easy to use, intuitive effect, and can significantly reduce the learning cost of three-dimensional model optimization and adjustment, thereby promoting the application of three-dimensional models.

[0054] Further, based on the various advantages of computer-aided design of orthoses, when designing a computer-aided orthosis, the present application provides a method for selecting an irregular rugged surface of a model and deforming it to a certain extent, so as to help designers evaluate the correction effect of different design schemes, quickly generate brace designs, optimize and verify the design, reduce trial and adjustment time, and thus select the best treatment scheme, improve the efficiency and accuracy of the treatment process.

[0055] It should be understood that the foregoing general description and the following detailed description are only exemplary and explanatory, and cannot limit the present application. BRIEF DESCRIPTION OF DRAWINGS

[0056] Fig. 1 is a flowchart of a three-dimensional model surface deformation method according to an embodiment of the present application.

[0057] Fig. 2 is a schematic diagram of determining a target area and outer and inner contours according to a movement track AC according to an embodiment of the present application.

[0058] Fig. 3 is a schematic diagram of calculating the distance from a diffusion point P to a track line segment AB according to an embodiment of the present application.

[0059] Fig. 4 is a schematic diagram of a case where a target area forms a closed loop area according to an embodiment of the present application.

[0060] Fig. 5 is a schematic diagram showing another case where a target region forms a closed region according to an embodiment of the present application.

[0061] Fig. 6 is a schematic diagram showing a structure of a morphing device for a three-dimensional model surface according to an embodiment of the present application.

[0062] Fig. 7 is a schematic diagram showing a structure of a computing device hardware according to an embodiment of the present application. DETAILED DESCRIPTION

[0063] The exemplary embodiments will be described in detail herein below with reference to the drawings. The following description is related to the drawings when the drawings are referred to, and the same numerals in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all the embodiments consistent with the present application. Rather, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.

[0064] The terms used in the present application are merely for the purpose of describing particular embodiments and are not intended to limit the present application. As used in the present application and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "and / or," as used herein, refer to and encompass any or all possible combinations of one or more of the associated listed items.

[0065] It will be understood that, although the terms first, second, third, etc. can be used herein to describe various information, these terms are not intended to denote a particular order. These terms are used merely to distinguish one from another. For example, a first information can be termed a second information, and similarly, a second information can be termed a first information, without departing from the scope of the present application. Depending on the context, the word "if' as used herein can be interpreted to mean "when" or "in response to determining".

[0066] The present application will be described in detail below with reference to the drawings and specific embodiments.

[0067] As shown in Fig. 1, Fig. 1 is a flowchart showing a morphing method for a three-dimensional model surface according to an embodiment of the present application, including the following steps:

[0068] Step S101, determining a target region according to a movement trajectory designated on a three-dimensional model surface and a preset region radius;

[0069] Step S102, determining an outer contour boundary of the target region according to a relative positional relationship of each point in the target region, and determining an outer contour region of the target region according to the outer contour boundary and a preset transition radius;

[0070] Step S103, according to the outer contour region, determining the inner contour region and the inner contour boundary of the target region;

[0071] Step S104, according to the preset amplitude, respectively deforming the outer contour region and the inner contour region.

[0072] Specifically, in step S101, the moving trajectory specified on the surface of the three-dimensional model can be captured, and a region radius is set in advance to determine the target region that needs to be deformed.

[0073] Specifically, in some embodiments, the above-mentioned specified moving trajectory can be obtained by a mouse, a keyboard, or a touchable screen, etc. For example, the moving trajectory when the mouse slides over the surface of the model, which can be set according to actual needs, and the present application does not limit this.

[0074] Specifically, the region radius is a value specified by the user designer in advance or selected, which is used to specify the size of the target region that needs to be deformed, and the specific value is set according to the design requirements.

[0075] Specifically, as shown in FIG. 2, when the specified moving trajectory AC is obtained by, for example, sliding a mouse over the surface of the model, etc., the moving trajectory is diffused from the starting point A to all the vertices of the three-dimensional model, and it is determined whether the distance between each vertex and the moving trajectory AC is within the range of the region radius input by the user, that is, the point that needs to be deformed, that is, the target region that needs to be deformed, can be determined.

[0076] Specifically, in step S101, the specific process of determining the target region according to the specified moving trajectory on the surface of the three-dimensional model and the preset region radius can include:

[0077] Diffusing a point A on the moving trajectory, calculating the dot product of the direction vector of the diffused point P and point A With the trajectory direction ; wherein point B is another point on the moving trajectory;

[0078] According to the relationship between the dot product and 0 and 1, the relative position of the diffused point P and the trajectory line segment AB is determined;

[0079] If the diffused point P is on the left side of the trajectory line segment AB, the distance from the diffused point P to the trajectory line segment AB is the distance between the diffused point P and point A;

[0080] If the diffused point P is on the right side of the trajectory line segment AB, the distance from the diffused point P to the trajectory line segment AB is the distance between the diffused point P and point B;

[0081] If the diffusion point P is in the middle of the trajectory line segment AB, then the distance from the diffusion point P to the trajectory line segment AB is calculated as the distance from the projection of the diffusion point P onto the trajectory line segment AB.

[0082] The target region is determined by all points on the surface of the 3D model whose distance from any trajectory line segment of the movement trajectory is less than the region radius.

[0083] Specifically, as shown in Figure 3, Figure 3 is a schematic diagram illustrating the calculation of the distance from the diffusion point P to the trajectory line segment AB according to an embodiment of the present invention; wherein, point A and point B are the two endpoints of the trajectory line segment AB, and for the diffusion point P1, the direction vector is calculated. With trajectory direction When the dot product is less than 0, it indicates that the diffusion point P1 is located to the left of the trajectory line segment AB. Therefore, the distance from diffusion point P1 to trajectory line segment AB can be determined by calculating the distance between diffusion point P1 and point A. For diffusion point P2, the direction vector is calculated. With trajectory direction When the dot product is greater than 0 and less than 1, it indicates that the diffusion point P2 is located in the middle of the trajectory line segment AB. Therefore, the distance from diffusion point P2 to trajectory line segment AB can be determined by calculating the projected distance from diffusion point P2 to trajectory line segment AB. For diffusion point P3, the direction vector is calculated. With trajectory direction When the dot product is greater than 1, it means that the diffusion point P3 is located to the right of the trajectory line segment AB. Therefore, the distance from the diffusion point P3 to the trajectory line segment AB can be determined by calculating the distance between the diffusion point P3 and point B.

[0084] Specifically, as shown in Figure 2, the target area can be divided into an outer contour area and an inner contour area. The inner contour area represents the central area where deformation occurs, and the degree of deformation within it is generally consistent. The outer contour area represents the edge area where deformation occurs, and the degree of deformation within it varies with its distance from the moving trajectory AC, simulating the gentle drop between the deformed target area and the non-deformed area. The outer contour boundary is the contour line in the outer contour area that is farthest from the moving trajectory AC, used to define the edge of the target area. The inner contour boundary is the contour line in the inner contour area that is farthest from the moving trajectory AC, used to define the boundary between the inner contour area and the outer contour area.

[0085] Specifically, in step S102, the diffusion can start from any point in the target area and traverse all points in the target area to find the outer contour boundary of the target area.

[0086] Specifically, in step S102, the outer contour boundary of the target area is determined based on the relative positional relationship of each point within the target area, which may include:

[0087] traversing all points in the target region, judging whether the neighboring points of the point are located in the target region or not;

[0088] when there is more than one neighboring point of the point in the target region not located in the target region, determining that the point is an outer contour boundary point of the target region;

[0089] determining the outer contour boundary of the target region according to all the outer contour boundary points.

[0090] Specifically, in the present application, on the surface of the three-dimensional model, the neighboring points of each vertex refer to other several vertices closest to the vertex. Specifically, in some embodiments, the neighboring points can be determined by the index values of the vertices on the surface of the three-dimensional model, and specifically, the up, down, left and right four neighboring points can be obtained by increasing or decreasing the index value of the vertex by a specified index difference value, wherein the specified index difference value can be determined according to the difference between the indexes of the neighboring points in the surface of the three-dimensional model, such as the difference between the left and right neighboring points can be set to 1, and the specific value of the index difference value is not limited in the present application. Specifically, in other embodiments, the neighboring points of the vertices can also be determined by other ways, which are not limited in the present application.

[0091] Specifically, the target region determined in step S101 can be represented by a region point array composed of all points in the target region, and then a point in the region point array of the target region can be started to traverse all points in the target region, and whether the neighboring points of the point are also in the region point array can be determined by the index of the point. When only one of the neighboring points of the point is not in the region point array, it is indicated that the point is located at the edge of the target region, and then the point can be determined as an outer contour boundary point. After all the outer contour boundary points are recorded, all the outer contour boundary points can be reordered according to the coordinates, so as to determine and draw the outer contour boundary. Specifically, when drawing the outer contour boundary, a specific color such as fluorescent green in FIG. 1 can be used for drawing, so as to highlight the display of the outer contour boundary.

[0092] Specifically, after the outer contour boundary is determined, the outer contour boundary points on the outer contour boundary can be diffused to traverse all points in the target region, and the distance between the points and the outer contour boundary points can be calculated, so as to determine the outer contour region.

[0093] Specifically, in step S102, the outer contour region of the target region is determined according to the outer contour boundary and a preset transition radius, and specifically can include:

[0094] traversing from any outer contour boundary point on the outer contour boundary, and cyclically calculating the distance between the outer contour boundary point and all points in the target region, and recording the points with a distance less than the transition radius as outer contour points;

[0095] After all the outer contour boundary points are traversed, the outer contour region of the target region is determined according to all the recorded outer contour points.

[0096] Specifically, in the present application, the transition radius can be pre-specified by a user, so as to indicate the width of the outer contour region, so as to embody the different change degrees of the deformation edge region. Specifically, the smaller the value of the transition radius is, the smaller the width of the outer contour region is, and the faster the gradient deformation amplitude changes between the outer contour boundary and the inner contour boundary, so that the deformation edge region presents a relatively steep gradient, and the size of the inner contour region, i.e., the main deformation region in the middle, is also expanded; and the larger the value of the transition radius is, the larger the width of the outer contour region is, and the slower the gradient deformation amplitude changes between the outer contour boundary and the inner contour boundary, so that the deformation edge region presents a relatively flat gradient, but the size of the inner contour region, i.e., the main deformation region in the middle, is also squeezed. Therefore, the transition radius can be set and adjusted according to the desired deformation effect.

[0097] Specifically, after the outer contour region is obtained, all the points in the target region can be subtracted from all the points in the outer contour region, so as to obtain all the points in the inner contour region. Then, according to the position relationship of the neighboring points of all the points in the inner contour region, the inner contour boundary points are found out, and the inner contour boundary is drawn.

[0098] Specifically, in step S103, the inner contour region and the inner contour boundary of the target region are determined according to the outer contour region, and specifically can include:

[0099] The inner contour region of the target region is obtained by subtracting all the points in the outer contour region from all the points in the target region;

[0100] All the points in the inner contour region are traversed, and it is determined whether the neighboring points of the point are located in the outer contour region;

[0101] When one or more neighboring points of the point in the inner contour region are located in the outer contour region, the point is determined as the inner contour boundary point of the target region;

[0102] The inner contour boundary of the target region is determined according to all the inner contour boundary points.

[0103] Specifically, the point array in the inner contour region can be obtained by comparing the region point array of the target region and the outer contour point array corresponding to the outer contour region.

[0104] Specifically, starting from a certain point in the region point array of the inner contour region, all points in the inner contour region can be traversed, and whether the neighboring points of the point are also in the region point array of the outer contour region can be determined by the index of the point. When only one of the neighboring points of the point is in the region point array of the outer contour region, it is indicated that the point is located at the boundary of the inner contour region and the outer contour region, and the point can be determined as an inner contour boundary point. After all the inner contour boundary points are recorded, the inner contour boundary points can be reordered according to the coordinates, so as to determine and draw the inner contour boundary. Specifically, when the inner contour boundary is drawn, a specific color such as red in FIG. 1 can be used for drawing, so as to highlight the display of the inner contour boundary.

[0105] Specifically, after the outer contour region and the inner contour region are determined, the points in the outer contour region and the inner contour region can be respectively deformed.

[0106] Specifically, for the points in the outer contour region, the deformation coefficient needs to be calculated according to the proportion of the distance of the point to the outer contour boundary, so as to achieve the purpose of smooth transition of the outer contour region.

[0107] Specifically, in step S104, the outer contour region and the inner contour region are respectively deformed according to the preset amplitude, and specifically can include:

[0108] For the points in the outer contour region, the deformation coefficient of the point is determined according to the shortest distance between the point and the outer contour boundary and the shortest distance between the point and the inner contour boundary;

[0109] According to the deformation coefficient and the amplitude, a first deformation value of each point in the outer contour region is determined;

[0110] According to the first deformation value, each point in the outer contour region is deformed.

[0111] Specifically, the calculation method of the deformation coefficient of each point in the outer contour region can be: calculating the distance between the point and all the vertices of the outer contour boundary array to obtain the minimum value d1; and calculating the distance between the point and all the vertices of the inner contour boundary array to obtain the minimum value d2; and the deformation coefficient of the point is k=d1 / (d1+d2). After the deformation coefficient is obtained, the first deformation value of each point in the outer contour region is amplitude*k; and the deformation manner of each point in the outer contour region is to displace a distance corresponding to the first deformation value in the direction opposite to the model center point.

[0112] For the points in the inner contour region, the median filtering method can be used to replace the radius of a point with the median of the points in the field of the point.

[0113] Specifically, in step S104, the outer contour region and the inner contour region are respectively deformed according to the preset amplitude, and specifically can include:

[0114] determining a first deformation value of each point in the inner contour region according to the amplitude;

[0115] deforming each point in the inner contour region according to the first deformation value;

[0116] obtaining a radius of each point in the inner contour region after deformation;

[0117] for each point in the inner contour region, determining a second deformation value of the point according to a median of the radius of all adjacent points of the point;

[0118] deforming each point in the inner contour region according to the second deformation value.

[0119] Specifically, the first deformation value of each point in the inner contour region = amplitude, that is, each point in the inner contour region is deformed by a distance corresponding to the amplitude. However, since the points on the surface of the three-dimensional model are uneven, the inner contour region deformed only according to the first deformation value of the equal amplitude is also uneven, and therefore the deformed points can be fine-tuned in a median filtering manner to make the deformed inner contour region tend to be flat.

[0120] Specifically, the radius of each point in the surface of the three-dimensional model is the distance between the point and the center point of the model.

[0121] Specifically, the process of the above median filtering can be represented by the following formula:

[0122] wherein n is the number of each point, x n represents the radius of point n after deformation, y n represents the median radius of point n, that is, the median of the radius of all adjacent points of point n; median is a median filtering function; k represents the range of adjacent points obtained in the median filtering, which can be set according to actual requirements, and the present application does not limit it.

[0123] Specifically, after the median radius y n of each point in the inner contour region is calculated and obtained, the second deformation value of point n = y n -x n can be calculated according to the median radius y n of point n and the original radius x n of point n after deformation; and after each point in the inner contour region is deformed according to the second deformation value, each point in the inner contour region can be deformed to a position corresponding to the median radius, so that the finally obtained deformed inner contour region is a relatively flat region.

[0124] Specifically, in the present application, the amplitude is specified by a user value, which is used to represent the deformation degree of the three-dimensional model surface, i.e. the height difference between the three-dimensional model surface after deformation and the three-dimensional model surface before deformation. Specifically, the greater the amplitude, the greater the deformation amplitude of the three-dimensional model surface; the smaller the amplitude, the smaller the deformation amplitude of the three-dimensional model surface. Specifically, the deformation of the three-dimensional model surface can include both convex and concave deformation modes, when the amplitude is positive, the deformation mode of each point on the three-dimensional model surface is to displace a distance corresponding to the deformation value in the direction opposite to the center point of the model, which is manifested as upward convex; while when the amplitude is negative, the deformation mode of the three-dimensional model surface is to displace a distance corresponding to the deformation value in the direction of the center point of the model, which is manifested as downward concave.

[0125] Specifically, since the mouse track and other movement tracks generally present as linear tracks, the corresponding generated deformation target region is also a strip-shaped region. In some cases, according to the user-specified movement track, it can be connected with the previous movement track, so that the target region forms a closed loop region, and according to the difference of the movement track, the closed loop region formed by the target region can exist in two different cases as shown in FIG. 4 and FIG. 5.

[0126] As shown in FIG. 4, the closed loop region formed by the target region can be a sheet-shaped region on one side surface of the three-dimensional model, at this time, one side of the outer contour boundary and the inner contour boundary of the original strip-shaped target region is completely surrounded by the other side of the inner contour boundary, then the surrounded outer contour boundary and the inner contour boundary can be covered, the inner contour region is re-determined by the inner contour boundary of the outer ring, and all inside the closed loop region formed by the strip-shaped region is deformed.

[0127] As shown in FIG. 5, the closed loop region formed by the target region can also be an annular strip-shaped region formed around the three-dimensional model, the outer contour region and the inner contour region generated by the new movement track are connected with the generated outer contour region and the inner contour region respectively, forming two outer contour boundaries and two inner contour boundaries, without deforming other regions.

[0128] Specifically, when the target region forms a closed loop region, the specific case to which the closed loop region belongs can be determined by the relationship between the outer contour boundary point array associated with the highest point and the lowest point in the outer contour boundary. For the closed loop region shown in FIG. 4, since the highest point and the lowest point in the outer contour boundary both belong to the outermost outer contour boundary, the outer contour boundary point array associated with the highest point and the lowest point in the outer contour boundary has a containing and coinciding relationship. For the closed loop region shown in FIG. 5, since the highest point and the lowest point in the outer contour boundary belong to the upper outer contour boundary and the lower outer contour boundary respectively, the outer contour boundary point array associated with the highest point and the lowest point in the outer contour boundary does not have a containing and coinciding relationship.

[0129] Specifically, in some embodiments, the method described in the present application can further include:

[0130] When the target region forms a closed loop region, starting from the highest point and the lowest point in all points in the target region respectively, a first outer contour boundary where the highest point is located and a second outer contour boundary where the lowest point is located are obtained by diffusion;

[0131] When the first outer contour boundary and the second outer contour boundary have a containing relationship, starting from an arbitrary point in the closed loop region, an outer contour region of the closed loop region is determined according to all points whose distance to the first outer contour boundary is not greater than the transition radius, and an inner contour region of the closed loop region is determined according to all points whose distance to the first outer contour boundary is greater than the transition radius;

[0132] According to the amplitude, the outer contour region and the inner contour region of the closed loop region are deformed respectively.

[0133] Specifically, starting from the point with the maximum z value in the outer contour boundary, diffusion is performed to find the adjacent edge relationship of the point on the triangular patch, and the outer contour boundary array where the point is located is obtained. At the same time, starting from the point with the minimum z value in the outer contour boundary, diffusion is performed to find the outer contour boundary array where the point is located according to the adjacent edge relationship. If the two arrays have a containing relationship, it is determined that the current user operation belongs to the case shown in FIG. 4, the array is the outermost outer contour boundary, and only one outer contour boundary and one inner contour boundary are generated, and the region inside the inner contour boundary is re-diffused to complete. Otherwise, it is determined that the current user operation belongs to the case shown in FIG. 5, and two outer contour boundaries and two inner contour boundaries are generated, and the calculation method of the outer contour boundary, the outer contour region, the inner contour boundary and the inner contour region is the same as that in steps S102 and S102.

[0134] Specifically, for the case shown in FIG. 4, when the target region forms a closed loop region, starting from the outer contour boundary of the outermost layer, the distance between the outer contour boundary point and all points in the target region and the surface region of the three-dimensional model contained in the target region can be calculated in a loop, the points with a distance less than or equal to the transition radius are recorded as the outer contour points, the corresponding outer contour region is generated and the outer contour boundary is determined; and the points with a distance greater than the transition radius are recorded as the inner contour points, the corresponding inner contour region is generated and the inner contour boundary is determined; and the outer contour boundary and the inner contour boundary are drawn using different colors respectively. Then the newly generated outer contour region and inner contour region are deformed respectively.

[0135] Specifically, the application can also realize real-time dynamic adjustment, such as expansion and extrusion, of the target region that has completed deformation.

[0136] Specifically, in some embodiments, after the target region is deformed, the method further comprises:

[0137] According to the specified modification trajectory with the starting point in the target region and the ending point outside the target region, the target region is expanded, and the expanded target region is deformed again;

[0138] and / or,

[0139] According to the specified modification trajectory with the starting point outside the target region and the ending point in the target region, the target region is extruded, and the extruded target region is deformed again.

[0140] Specifically, for the shape of the target region that has completed deformation, a modification trajectory can be specified by mouse movement or the like, and the shape of the deformed target region is expanded and extruded, that is, the shape of the target region is rendered in real time according to the mouse trajectory or the like, and the user can more intuitively see whether the shape drawing can achieve the target effect or determine the purpose of the deformation range; at the same time, dynamic regulation is convenient for the user to adjust in real time when the shape after deformation is not satisfactory, and finally achieves the purpose of more beautiful design, higher freedom, more accurate design, and better orthopedic effect.

[0141] After the user mouse click event is detected, the points near the mouse and the mouse click point with a distance less than the region radius can be calculated, and it is judged whether there is any point in the target region array, if yes, it is indicated that the starting point of the specified modification track is outside the target region, then it is judged that the current operation of the user is to expand the previous target region; if there is no point in the target region array, it is indicated that the starting point of the specified modification track is in the target region, then it is judged that the current operation of the user is to extrude the previous target region.

[0142] Specifically, the points of the user-specified modification track that meet the radius requirement of the target region can be calculated in the same way as the target region points, compared with the existing target region point array, and the intersecting points are obtained. According to the judgment of expansion or extrusion, new region points are added to the target region array or region points of the overlapping part are subtracted, so as to achieve the purpose of expansion and extrusion. After array merging or subtraction, the new target region array containing all points is recalculated to draw the expanded or extruded outer contour region and inner contour region, and the deformation is reperformed.

[0143] In summary, the application discloses a three-dimensional model surface deformation method and device, which can automatically deform the specified region on the three-dimensional model surface by presetting the region radius, transition radius and amplitude and the like parameters and according to the moving track of the designer sliding on the three-dimensional model surface, is simple to operate, easy to use, intuitive in effect, can significantly reduce the learning cost of three-dimensional model optimization and adjustment, and thus promotes the application of the three-dimensional model.

[0144] Further, the application also provides an orthopedist with a method for selecting an irregular rugged surface of a model and deforming the surface to a certain extent, so as to help the designer evaluate the correction effect of different design schemes, quickly generate brace design, improve the orthopedic effect, shorten the orthosis manufacturing time, optimize and verify the design, reduce the trial and adjustment time, select the best treatment scheme, and improve the efficiency and accuracy of the treatment process.

[0145] Specifically, the method of the application can form a strip-shaped region on the orthosis, and the strip-shaped region can be connected to exert pressure on or release pressure from a part of the human body; by exerting pressure on one side, the other side is raised to release pressure, the soft tissue of the human body moves to the idle position to generate a rotating force, and the correction of the scoliosis and torsion of the spine is achieved.

[0146] Moreover, the strip-shaped deformation region is usually used to define the modification design range of the orthosis, facilitate the orthopedist to position the design position of the orthosis during the hot plastic shell drawing process, and facilitate cutting and polishing and the like; meanwhile, the strip-shaped region is also used to solve the problem that the edge height of the block-shaped region is insufficient, at this time, the deformation of the block-shaped region cannot be superimposed, and the strip-shaped region needs to be superimposed; the strip-shaped region better assists the orthopedist to complete the design of the orthosis, achieves the purpose of accurately treating the patient through fine design, realizes personalized customization, and instead of using a single block-shaped region to press or protrude to solve all problems.

[0147] Corresponding to the three-dimensional model surface deformation method embodiment described above, the application further provides a three-dimensional model surface deformation device.

[0148] As shown in FIG. 6, FIG. 6 is a structural schematic diagram of a morphing device for a three-dimensional model surface according to an embodiment of the present application, which comprises the following modules:

[0149] A movement detection module 610 is configured to determine a target region according to a movement trajectory designated on the three-dimensional model surface and a preset region radius.

[0150] An outer contour drawing module 620 is configured to determine an outer contour boundary of the target region according to the relative positional relationship of each point in the target region, and determine an outer contour region of the target region according to the outer contour boundary and a preset transition radius.

[0151] An inner contour drawing module 630 is configured to determine an inner contour region and an inner contour boundary of the target region according to the outer contour region.

[0152] A morphing module 640 is configured to morph the outer contour region and the inner contour region respectively according to a preset amplitude.

[0153] Specifically, the movement detection module 610 can be configured to:

[0154] Spread a point A on the movement trajectory, calculate the dot product of the direction vector of the spread point P and the point A and the direction of the trajectory; wherein point B is another point on the movement trajectory.

[0155] According to the relationship between the dot product and 0 and 1, determine the relative position of the spread point P and the trajectory segment AB;

[0156] If the spread point P is on the left side of the trajectory segment AB, then the distance of the spread point P to the trajectory segment AB is the distance between the spread point P and the point A;

[0157] If the spread point P is on the right side of the trajectory segment AB, then the distance of the spread point P to the trajectory segment AB is the distance between the spread point P and the point B;

[0158] If the spread point P is in the middle of the trajectory segment AB, then the distance of the spread point P to the trajectory segment AB is the distance of the spread point P projected to the trajectory segment AB;

[0159] According to all points on the three-dimensional model surface whose distance to any trajectory segment of the movement trajectory is less than the region radius, determine the target region.

[0160] Specifically, the outer contour drawing module 620 can be configured to:

[0161] Iterate all points in the target region, and determine whether the neighboring points of the point are located in the target region;

[0162] ​When a point in the target region has more than one neighbor point not in the target region, the point is determined as an outer contour boundary point of the target region;

[0163] The outer contour boundary of the target region is determined according to all the outer contour boundary points.

[0164] Specifically, the outer contour drawing module 620 can be further configured to:

[0165] Starting from any outer contour boundary point on the outer contour boundary, the distance between the outer contour boundary point and all points in the target region is calculated in a loop, and points with a distance less than the transition radius are recorded as outer contour points;

[0166] After all the outer contour boundary points are traversed, the outer contour region of the target region is determined according to all the recorded outer contour points.

[0167] Specifically, the inner contour drawing module 630 can be configured to:

[0168] The inner contour region of the target region is obtained by subtracting all points in the outer contour region from all points in the target region;

[0169] All points in the inner contour region are traversed to determine whether the neighbor points of the point are located in the outer contour region;

[0170] When a point in the inner contour region has more than one neighbor point in the outer contour region, the point is determined as an inner contour boundary point of the target region;

[0171] The inner contour boundary of the target region is determined according to all the inner contour boundary points.

[0172] Specifically, the deformation module 640 can be configured to:

[0173] For a point in the outer contour region, the deformation coefficient of the point is determined according to the shortest distance between the point and the outer contour boundary and the shortest distance between the point and the inner contour boundary;

[0174] According to the deformation coefficient and the amplitude, a first deformation value of each point in the outer contour region is determined;

[0175] Each point in the outer contour region is deformed according to the first deformation value.

[0176] Specifically, the deformation module 640 can be further configured to:

[0177] According to the amplitude, a first deformation value of each point in the inner contour region is determined;

[0178] Each point in the inner contour region is deformed according to the first deformation value;

[0179] The radius of each point in the inner contour region after deformation is obtained;

[0180] For each point in the inner contour region, a second deformation value of the point is determined according to the median of the radius of all neighboring points of the point;

[0181] Each point in the inner contour region is deformed according to the second deformation value.

[0182] Specifically, the movement detection module 610, the outer contour drawing module 620, the inner contour drawing module 630 and the deformation module 640 of the device can also be used for:

[0183] When the target region forms a closed loop region, starting from the highest point and the lowest point in all points in the target region respectively, a first outer contour boundary where the highest point is located is obtained, and a second outer contour boundary where the lowest point is located is obtained;

[0184] When the first outer contour boundary and the second outer contour boundary have a containing relationship, starting from an arbitrary point in the closed loop region, an outer contour region of the closed loop region is determined according to all points whose distance to the first outer contour boundary is not greater than the transition radius, and an inner contour region of the closed loop region is determined according to all points whose distance to the first outer contour boundary is greater than the transition radius;

[0185] According to the amplitude, the outer contour region and the inner contour region of the closed loop region are deformed respectively.

[0186] Specifically, after the deformation of the target region is completed, the movement detection module 610, the outer contour drawing module 620, the inner contour drawing module 630 and the deformation module 640 of the device can also be used for:

[0187] According to the specified correction track with the starting point in the target region and the ending point outside the target region, the target region is expanded, and the expanded target region is deformed again;

[0188] and / or,

[0189] According to the specified correction track with the starting point outside the target region and the ending point in the target region, the target region is squeezed, and the squeezed target region is deformed again.

[0190] The implementation process of the functions and roles of each module in the above device is specifically described in the implementation process of the corresponding steps in the above method, and will not be repeated here.

[0191] For the device embodiment, since it basically corresponds to the method embodiment, the relevant part can be seen from the part of the method embodiment. The device embodiment described above is only illustrative, wherein the modules described as separate components can or can not be physically separated, and the components displayed as modules can or can not be physical modules, i.e., can be located in one place or distributed on multiple network modules. Part or all of the modules can be selected according to actual needs to achieve the purpose of the technical solutions of the present application. Those skilled in the art can understand and implement without creative labor.

[0192] The present application also provides a computer device, which comprises at least a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the method of any one of the preceding embodiments when executing the program.

[0193] Fig. 7 shows a more specific schematic diagram of the hardware structure of the computer device provided by the present application, which can comprise a processor 701, a memory 702, an input / output interface 703, a communication interface 704 and a bus 705. The processor 701, the memory 702, the input / output interface 703 and the communication interface 704 are connected to each other through the bus 705 for internal communication.

[0194] The processor 701 can be implemented by a general CPU (Central Processing Unit), a microprocessor, an ASIC (Application Specific Integrated Circuit) or one or more integrated circuits, etc., for executing relevant programs to implement the technical solutions provided by the present application. The processor 701 can also comprise a graphics card, which can be an Nvidia titan X graphics card or a 1080Ti graphics card, etc.

[0195] The memory 702 can be implemented by a ROM (Read Only Memory), a RAM (Random Access Memory), a static storage device, a dynamic storage device, etc. The memory 702 can store an operating system and other application programs, and when the technical solutions provided by the present application are implemented by software or firmware, the relevant program codes are stored in the memory 702 and called and executed by the processor 701.

[0196] The input / output interface 703 is configured to connect with an input / output module to realize information input and output. The input / output module can be configured in the device as a component (not shown in the figure) or externally connected to the device to provide corresponding functions. The input device can include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output device can include a display, a speaker, a vibrator, an indicator light, etc.

[0197] The communication interface 704 is configured to connect with a communication module (not shown in the figure) to realize communication interaction between the device and other devices. The communication module can realize communication through a wired manner (such as a USB, a network cable, etc.) or a wireless manner (such as a mobile network, WIFI, Bluetooth, etc.).

[0198] The bus 705 includes a path for transmitting information between various components (such as the processor 701, the memory 702, the input / output interface 703, and the communication interface 704) of the device.

[0199] It should be noted that although the above device only shows the processor 701, the memory 702, the input / output interface 703, the communication interface 704, and the bus 705, in the specific implementation process, the device can also include other components necessary for normal operation. In addition, those skilled in the art can understand that the above device can also only contain the components necessary to implement the present application scheme, and does not have to contain all the components shown in the figure.

[0200] The present application also provides a computer readable storage medium having a computer program stored thereon, which is executed by a processor to implement the method of any of the preceding embodiments.

[0201] The computer readable medium includes permanent and non-permanent, removable and non-removable media, which can be realized by any method or technology to store information. The information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information accessible by a computing device. According to the definition herein, the computer readable medium does not include transitory computer readable media such as modulated data signals and carriers.

[0202] Those skilled in the art can clearly understand the present application by the description of the above embodiments. Based on such an understanding, the technical solutions of the present application can be embodied in the form of a software product. The computer software product can be stored in a storage medium, such as a ROM / RAM, a magnetic disk, or an optical disk, and includes a number of instructions to cause a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in various embodiments or some parts of the embodiments.

[0203] The system, device, module or unit illustrated in the above embodiments can be implemented by a computer chip or entity, or by a product with certain functions. A typical implementation device is a computer, and the specific form of the computer can be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0204] The various embodiments in the present application are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to each other. Each embodiment focuses on the differences from other embodiments. In particular, the device embodiments are described more simply because they are basically similar to the method embodiments, and the relevant parts can be referred to the part of the method embodiments. The device embodiments described above are only illustrative, and the modules described as separate components can or can not be physically separated. In the implementation of the present application, the functions of each module can be implemented in one or more software and / or hardware. Some or all of the modules can be selected to achieve the purpose of the present embodiment according to the actual needs. Those skilled in the art can understand and implement without creative labor.

[0205] Obviously, the above embodiments of the present application are only examples for clearly illustrating the present application, and are not intended to limit the implementation manner of the present application. Any modification, equivalent replacement, and improvement within the spirit and principle of the present application shall be included in the protection scope of the claims of the present application.

Claims

1. A method for deforming the surface of a three-dimensional model, characterized in that, The method comprises: determining a target area according to a movement track specified on the surface of the three-dimensional model and a preset area radius; determining an outer contour boundary of the target area according to the relative position relationship of each point in the target area, and determining an outer contour area of the target area according to the outer contour boundary and a preset transition radius; determining an inner contour area and an inner contour boundary of the target area according to the outer contour area; deforming the outer contour area and the inner contour area respectively according to a preset amplitude.

2. The method of claim 1, wherein, The determining of the target area according to the movement track specified on the surface of the three-dimensional model and the preset area radius comprises: At any point A on the moving trajectory, the diffusion point P and the directional vector of point A are calculated With trajectory direction dot product; wherein point B is another point on the movement track; determining the relative position of the diffusion point P and the track line segment AB according to the relationship between the dot product and 0 and 1; if the diffusion point P is on the left side of the track line segment AB, then the distance of the diffusion point P to the track line segment AB is the distance between the diffusion point P and point A; if the diffusion point P is on the right side of the track line segment AB, then the distance of the diffusion point P to the track line segment AB is the distance between the diffusion point P and point B; if the diffusion point P is in the middle of the track line segment AB, then the distance of the diffusion point P to the track line segment AB is the distance of the projection of the diffusion point P to the track line segment AB; determining the target area according to all points on the surface of the three-dimensional model that are less than the area radius from any track line segment of the movement track.

3. The method of claim 1, wherein, The determining of the outer contour boundary of the target area according to the relative position relationship of each point in the target area comprises: traversing all points in the target area to determine whether the neighboring points of the point are in the target area; when there is more than one neighboring point of the point in the target area that is not in the target area, then the point is determined as an outer contour boundary point of the target area; determining the outer contour boundary of the target area according to all the outer contour boundary points.

4. The method of claim 1, wherein, The determining of the outer contour area of the target area according to the outer contour boundary and the preset transition radius comprises: traversing from any outer contour boundary point on the outer contour boundary, cyclically calculating the distance between the outer contour boundary point and all points in the target area, and recording the points with a distance less than the transition radius as outer contour points; after traversing all outer contour boundary points, determining the outer contour area of the target area according to all recorded outer contour points.

5. The method of claim 1, wherein, The determining of the inner contour area and the inner contour boundary of the target area according to the outer contour area comprises: obtaining the inner contour area of the target area by subtracting all points in the outer contour area from all points in the target area; traversing all points in the inner contour area to determine whether the neighboring points of the point are in the outer contour area; when there is more than one neighboring point of the point in the inner contour area that is in the outer contour area, then the point is determined as an inner contour boundary point of the target area; determining the inner contour boundary of the target area according to all the inner contour boundary points.

6. The method of claim 1, wherein, The method further comprises: When the target region forms a closed loop region, respectively starting from the highest point and the lowest point among all points in the target region, a first outer contour boundary where the highest point is located and a second outer contour boundary where the lowest point is located are obtained; When the first outer contour boundary and the second outer contour boundary have a containing relationship, starting from an arbitrary point in the closed loop region, an outer contour region of the closed loop region is determined according to all points in the closed loop region having a distance from the first outer contour boundary not greater than the transition radius, and an inner contour region of the closed loop region is determined according to all points in the closed loop region having a distance from the first outer contour boundary greater than the transition radius; According to the amplitude, the outer contour region and the inner contour region of the closed loop region are respectively deformed.

7. The method of claim 1, wherein, After the deformation of the target region is completed, the method further comprises: According to a specified correction track with a starting point in the target region and a terminal point outside the target region, the target region is expanded, and the target region after expansion is deformed again; And / or, According to a specified correction track with a starting point outside the target region and a terminal point in the target region, the target region is squeezed, and the target region after squeezing is deformed again. The device comprises: A movement determination module configured to determine a target region according to a specified movement track on a surface of the three-dimensional model and a preset region radius; 8. The method of claim 1, wherein, An outer contour drawing module configured to determine an outer contour boundary of the target region according to a relative position relationship of each point in the target region, and determine an outer contour region of the target region according to the outer contour boundary and a preset transition radius; An inner contour drawing module configured to determine an inner contour region and an inner contour boundary of the target region according to the outer contour region; A deformation module configured to deform the outer contour region and the inner contour region according to a preset amplitude. ​ 9. The method of claim 1, wherein, ​ ​ ​ ​ 10. A device for morphing a surface of a three-dimensional model, characterized in that ​ ​ ​ ​ ​

Citation Information

Patent Citations

  • Three-dimensional model local grid adjustment algorithm

    CN112509143A

  • Construction method, device and equipment of three-dimensional visceral organ model and medium

    CN115457205A

  • Three-dimensional model deformation method and device based on two-dimensional image feature guidance

    CN116580170A

  • Dental jaw model optimization segmentation method and system based on heuristic feature line, electronic equipment and storage medium

    CN118279594A

  • Three-dimensional model surface deformation method and device

    CN118429596A