A method for generating digital balancers based on 3D tooth models
By using a digital generation method based on a 3D tooth model and employing techniques such as Bézier curve fitting and Boolean operations, the balancer can be automatically generated. This solves the problems of time-consuming and labor-intensive manual production and the dependence of precision on the doctor's skill level, and achieves efficient and low-cost high-precision balancer production.
Patent Information
- Application Number
- CN202310635086.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-31
- Publication Date
- 2026-03-06
- Estimated Expiration
- 2043-05-31
AI Technical Summary
Current balancers are made by hand, which is time-consuming and labor-intensive, and the accuracy depends on the doctor's skill level, making it impossible to guarantee quality.
A digital generation method based on a three-dimensional tooth model is adopted, and a digital balancer is automatically generated through techniques such as Bézier curve fitting, spectral clustering, and Boolean operations.
It improves the efficiency of balancer production, reduces costs, and increases precision, avoiding the hassle and waste of materials associated with manual production.
Smart Images

Figure CN116664900B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of medical orthodontic technology, specifically to a method for generating a digital balancer based on a three-dimensional tooth model. Background Technology
[0002] As living standards continue to improve, people are paying more and more attention to their dental and oral health. Many of these concerns relate to temporomandibular joint (TMJ) issues. For example, excessive wear and tear on teeth due to overuse or grinding can indirectly force the mandible to move upwards to close the jaw. This upward movement can lead to incorrect occlusion and joint problems, requiring orthodontic treatment.
[0003] Before treatment, patients sometimes need to repeatedly bite down to deprogram their oral and neck muscles. The role of a balancer is to remove interference from incorrect occlusion, help the patient achieve a comfortable joint position after precise balance, and prevent secondary damage to the teeth during repeated biting. This allows for the design of a product with a precise bite and comfortable wear.
[0004] Current dental ballast designs primarily rely on dentists manually taking impressions from the patient's mouth using tools, then creating a plaster model of the teeth, and finally manually fabricating the ballast on top of that. This process is time-consuming and labor-intensive, and the precision depends heavily on the dentist's skill level, making it impossible to guarantee quality.
[0005] Digital dental models are created by precisely acquiring dental data using an oral scanner, avoiding the need for manual dental model making. Consequently, the balancer also needs to be fabricated on the digital dental model. Summary of the Invention
[0006] This invention proposes a method for generating digital balancers based on three-dimensional tooth models, which helps dentists design other dental products such as jaw pads, improves the efficiency of balancer manufacturing, and reduces production costs.
[0007] To solve the above-mentioned technical problems, the technical solution of the present invention is as follows:
[0008] A method for generating a digital balancer based on a three-dimensional tooth model includes the following steps:
[0009] S1. Select points on the surface of the tooth STL model, read the screen coordinates of the selected points, and obtain the corresponding world coordinates to finally obtain an initial point set P1 containing the world coordinates, which is used to determine the area covered by the balancer.
[0010] Specifically, at least three points are selected on the surface of the maxillary (mandibular) model of the tooth STL model to form an initial point set P1.
[0011] S2. Fit the tooth STL model with a Bézier curve to obtain the interpolation points during the fitting process, and add them to P1 to form a point set P2.
[0012] S3. For each point in the point set P2, first calculate the normal vector of each point, and then classify them according to the normal vector of each point in the point set P2.
[0013] Specifically, the points are classified according to the normal vector of each point in point set P2 (within a certain range of the angle between the normal vector and the specified vector). For each point in point set P2, its normal vector is first calculated. The normal vector of a point in a 3D plane is represented by the average of the normal vectors of all the facets (elements) using that point, and the element normal vector can be represented by the cross product vector of any two edges that make up each element and normalized.
[0014] S4. Perform spectral clustering on each category and use the elbow method to automatically determine the number of clusters;
[0015] S5. Take each clustered classification point as an implicit function, perform cylindrical clipping on the surface of the tooth STL model, return all contents within the specified implicit function, and obtain the surface of multiple clipped tooth STL models.
[0016] S6. Extrude the surfaces of all the cut-out tooth STL models and connect the two surfaces to form a three-dimensional model.
[0017] S7. Use Boolean summation to merge all the three-dimensional solid models to obtain the initial balancer model;
[0018] S8. Use Boolean subtraction to remove the redundant parts from the cylindrical component and the generated balancer model. Then perform Boolean summation on the remaining cylinder and the generated balancer model to obtain the balancer with the cylinder.
[0019] S9. The grid of the balancer with columns is refined using the Loop subdivision algorithm proposed by Charles Loop.
[0020] This invention has the following characteristics and beneficial effects:
[0021] By adopting the above technical solution, the balancer can be made on the digital dental model, avoiding the troublesome steps of making the balancer by hand, eliminating the need for materials to be spent on making the balancer, shortening the production process, and improving the production accuracy of the product. Attached Figure Description
[0022] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0023] Figure 1 This is a flowchart of a method according to an embodiment of the present invention.
[0024] Figure 2 This is a schematic diagram of the selected points in an embodiment of the present invention.
[0025] Figure 3 This is a schematic diagram illustrating the effect of the initial smoother model obtained in an embodiment of the present invention.
[0026] Figure 4 This is a schematic diagram illustrating the effect of the balancer with a column obtained in an embodiment of the present invention. Detailed Implementation
[0027] It should be noted that, unless otherwise specified, the embodiments and features described in the present invention can be combined with each other.
[0028] In the description of this invention, it should be understood that the terms "center," "longitudinal," "lateral," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," and "outer," etc., indicating orientations or positional relationships based on the orientations or positional relationships shown in the accompanying drawings, are only for the convenience of describing the invention 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 the invention. Furthermore, the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined with "first," "second," etc., may explicitly or implicitly include one or more of that feature. In the description of this invention, unless otherwise stated, "a plurality of" means two or more.
[0029] In the description of this invention, it should be noted that, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; 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; and they can refer to the internal connection of two components. Those skilled in the art will understand the specific meaning of the above terms in this invention based on the specific circumstances.
[0030] This invention provides a method for generating a digital balancer based on a three-dimensional tooth model, such as... Figure 1 Litigation involves the following steps:
[0031] Step 1: Select points on the surface of the tooth STL model to obtain an initial point set P1, which is used to determine the area covered by the balancer.
[0032] Step 1.1: Click on the model surface with the mouse, such as... Figure 2 As shown, the world coordinates are obtained from the screen coordinates of the cursor, and a point is generated on them. The screen coordinate system (Display Coordinates) can be converted to the view coordinate system (View Coordinates) as seen by the camera. Let the screen coordinates be (x... display ,y display The x-axis and y-axis ranges are [minX, maxX] and [minY, maxY], respectively. The default range for the x-axis, y-axis, and z-axis of View Coordinates is [-1, 1]. Therefore, the corresponding View coordinates (x...)... view y view ,0) is:
[0033]
[0034] Next, convert the View Coordinates to the World Coordinates. The conversion process is as follows: 1. Obtain the 4×4 projection matrix of the camera;
[0035] 2. Find the inverse matrix of the matrix;
[0036] 3. Obtain the world coordinates by multiplying the inverse matrix by the View coordinates.
[0037] Step 1.2: Use the mouse to select at least 3 points on the surface of the maxilla (mandible) model to form an initial point set P1.
[0038] Step 2: Use Bézier curve fitting to obtain the interpolated points during the fitting process, and add them to P1 to form the point set P2.
[0039] It should be noted that the specific steps of Bézier curves are conventional techniques, which can be found at https: / / zhuanlan.zhihu.com / p / 144399638. They will not be described in detail in this embodiment.
[0040] Step 3: Classify according to the normal vector of each point in point set P2 (within a certain range of the angle between the normal vector and the specified vector). For each point in point set P2, first calculate its normal vector. The normal vector of a point in a 3D plane is represented by the average of the normal vectors of all the patches (elements) using that point, while the normal vector of an element can be represented by the cross product vector of any two edges that make up each element and normalized.
[0041] Step 3.1: For each triangular facet in the STL model, assume that the three vertices are represented as A(x... A y A , z A B(x) B y B , z B ) and C(x C y C , z C If ), then the normal vector of the triangle can be expressed as:
[0042]
[0043] Step 3.2: Calculate the point normal vector for each point in the point set P2. Assuming there are m normal vectors for the face connecting a point, the point normal vector can be expressed as:
[0044]
[0045] Step 3.3: Calculate the angle θ between the normal vector of each point in point set P2 and the specified vector (if no vector is specified, the default is the average normal vector of all points in point set P2):
[0046]
[0047] Step 3.4: Classify each point in point set P2 according to the included angle. The classification interval can be customized.
[0048] In this embodiment, the system is divided into 5 intervals by default: [0, 30][15, 45][30, 60][45, 75][60, 90]. This means that the same point can be assigned to different classes, and points with an angle greater than 90° are discarded.
[0049] Step 4: Perform spectral clustering on each category and use the elbow method to automatically determine the number of clusters.
[0050] Step 4.1: Construct the similarity matrix S and the adjacency matrix W. For a graph G, let the set of vertices be V and the set of edges be E, then the graph is G(V,E). Here, V represents all vertices (v1, v2, ..., vn). For any two vertices in V, define the weight wij as the weight between vertices vi and vj. Since it is an undirected graph, wij = wji. Use the fully connected method and the Gaussian kernel function RBF to construct the graph; at this point, S and W are the same.
[0051]
[0052] Step 4.2: Calculate the degree matrix D. For any point vi, its degree di is defined as the sum of the weights of all edges connected to it:
[0053]
[0054] The degree matrix of n×n is represented as:
[0055]
[0056] Step 4.3: Calculate the Laplacian matrix L, L = DW, and calculate the standardized Laplacian matrix: D -1 / 2 LD -1 / 2 .
[0057] Step 4.4: Calculate the eigenvectors f corresponding to the eigenvalues of the matrix, and normalize the matrix formed by f by rows to obtain the eigenmatrix F.
[0058] Step 4.5: Each row in F is considered a sample, for a total of n samples. Perform K-Means clustering and determine the value of K using the elbow rule (SSE).
[0059]
[0060] mi is the centroid of the i-th cluster, and c is the data point belonging to the i-th cluster.
[0061] Step 5: Use each clustered point as an implicit function to perform cylindrical clipping on the model surface, and return all contents within the specified implicit function to obtain multiple clipped model surfaces.
[0062] It should be noted that implicit functions divide the space into three parts: the interior, the exterior, and the function itself (for example, the simplest infinitely long cylinder divides the space into the interior, the exterior, and the surface of the cylinder). Content refers to the points and other model data within (and on) the implicit function.
[0063] Step 6: Stretch all the cut-out model surfaces and connect the two surfaces.
[0064] Step 6.1: Translate all points on the model surface along the normal vector of each point. The translation distance is the thickness of the balancer. The point normal vector was calculated in step 3.2.
[0065] Step 6.2: Connect the translated model surface with the original model surface according to each pair of corresponding points to form a three-dimensional solid model.
[0066] Step 7: Merge all models using Boolean summation, such as... Figure 3 As shown, the initial balancer model is obtained.
[0067] Step 8: Perform a Boolean difference operation on the cylindrical part and the generated model to remove the redundant parts. Then perform a Boolean sum operation on the remaining cylinder and the generated model, such as... Figure 4 As shown, a balancer with a column is obtained.
[0068] Step 9: Use the Loop subdivision algorithm proposed by Charles Loop to refine the mesh of the model and make the model smooth.
[0069] The embodiments of the present invention have been described in detail above with reference to the accompanying drawings, but the present invention is not limited to the described embodiments. For those skilled in the art, various changes, modifications, substitutions, and variations can be made to these embodiments, including components, without departing from the principles and spirit of the present invention, and these variations still fall within the protection scope of the present invention.
Claims
1. A method for generating a digital balancer based on a three-dimensional tooth model, characterized by, It comprises the following steps: S1, selecting points on the surface of the tooth STL model, reading the screen coordinates of the selected points, obtaining the initial point set P1 containing the world coordinates by obtaining the corresponding world coordinates; S2, using Bezier curve fitting on the tooth STL model to obtain the interpolated points in the fitting process, adding them to P1 to form the point set P2; S3, for each point in the point set P2, first calculate the normal vector of each point, and then classify according to the normal vector of each point in the point set P2; The method for calculating the normal vector of each point is: For each triangle patch in the STL model, assume that the three vertices are denoted as A(x A , y A , z A ), B(x B , y B , z B ) and C(x C , y C , z C ), respectively. The normal vector of the triangle can be expressed as: The point normal vector of each point in the point set P2 is calculated, assuming that the normal vector of a face sheet connected to a point has m, the point normal vector can be represented as: Calculate the angle θ between the normal vector of each point in the point set P2 and the specified vector: Wherein, A, B, C: three on any one of the triangular facets; X, Y, Z: each coordinate in three-dimensional space; Vector from point A to point B; n: normal vector of triangle; np: point normal vector; Is the normal vector of point, that is, np, Then is the specified vector, which is the average normal vector of all point normal vectors in point set P2 by default; S4, spectral clustering is performed on each classification, and the elbow method is used to automatically determine the number of clusters; S5, each classified point is used as an implicit function to perform cylindrical surface clipping on the surface of the tooth STL model, and all contents inside the specified implicit function are returned to obtain multiple clipped tooth STL model surfaces; S6, stretch the surfaces of all the clipped tooth STL models, and connect the two surfaces to form a three-dimensional model; S7, use Boolean sum operation to merge all three-dimensional models to obtain the initial balancer model; S8, use Boolean difference operation to remove the redundant part of the cylindrical part and the generated balancer model, and then use Boolean sum operation on the remaining cylindrical part and the generated balancer model to obtain the balancer with the cylindrical part; S9, use the Loop subdivision algorithm proposed by Charles Loop to refine the mesh of the balancer with the cylindrical part.
2. The method of claim 1, wherein, In step S1, the method for obtaining the corresponding world coordinates from the screen coordinates is: Screen coordinate system is converted into the coordinate system seen by the camera, assuming that the screen coordinates are (x display ,y display ), the value ranges of the x-axis and the y-axis are [minX, maxX] and [minY, maxY] respectively, the value ranges of the x-axis, the y-axis and the z-axis of the coordinate system seen by the camera are [-1, 1] by default, and the corresponding View coordinates (x view ,y view , 0) are: Then, convert the coordinate system seen by the camera to the world coordinate system.
3. The method of claim 1, wherein, In step S1, the method for converting the coordinate system seen by the camera to the world coordinate system is: First, obtain the 4×4 projection matrix of the camera; then, obtain the inverse matrix of the projection matrix; finally, multiply the inverse matrix by the View coordinates to obtain the world coordinates.
4. The method of claim 1, wherein, The selected points on the surface of the tooth STL model are not less than 3.
5. The method of claim 1, wherein, In step S3, the classification method of the normal vector of each point is: classify each point in the point set P2 by the size of the angle, and the classification interval of the angle size is determined by self-definition.
6. The method of claim 1, wherein, Step S4 includes the following sub-steps: S4-1, construct the similarity matrix S and the adjacency matrix W, for the graph G, let the set of points be V and the set of edges be E, then the graph is G(V, E); wherein V is all the points (v1, v2,... v n ), for any two points in V, define the weight w ij as the weight between the point v i and the point v j , since it is an undirected graph, w ij = w ji , use the full connection method, Gaussian kernel function RBF to construct, at this time S and W are the same: S4-2, compute the degree matrix D, for any point v i its degree d i defined as the sum of the weights of all edges connected to it The n×n degree matrix is represented as: S4-3, compute Laplacian matrix L, L = D - W, and compute normalized Laplacian matrix: D -1 / 2 LD -1 / 2 ; S4-4, calculate the eigenvector f corresponding to each eigenvalue of the matrix, and normalize the matrix composed of f to obtain the feature matrix F; S4-5, each row in F is taken as a sample, and there are n samples, K-Means clustering is performed, and the elbow rule SSE is used to determine the value of K: m i is the centroid of the ith cluster, and c is a data point belonging to the ith cluster.
7. The method of claim 1, wherein, In step S6, the method for stretching the surface of the tooth STL model is to translate all points on the surface of the tooth STL model along the normal vector of each point, and the translation distance is the thickness of the balancer.
8. The method of claim 7, wherein, In the step S6, the method for connecting the two surfaces is: connecting the surface of the translated tooth STL model with the surface of the tooth STL model before translation according to each pair of corresponding points to form a three-dimensional model.
Citation Information
Patent Citations
Automatic division method of dental crowns in dental models
CN101706971A
Craniomaxillofacial region guide plate design method based on implicit function
CN107874831A