A skeleton-based high-quality isogeometric parameterization method for planar regions
Through the geometric parameterization method of high quality of planar region based on skeleton, the skeleton branches are simplified and divided into blocks, and G1 continuity constraints are imposed, which solves the problems of too many sub-regions and irregular shapes in the parameterization of complex geometric models and improves the analysis accuracy and speed.
Patent Information
- Application Number
- CN202410658901.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-27
- Publication Date
- 2025-09-05
- Estimated Expiration
- 2044-05-27
AI Technical Summary
When parameterizing complex geometric models in the existing technology, the number of sub-regions divided is too large and the shapes are irregular, resulting in insufficient accuracy and convergence speed of isogeometric analysis.
A high-quality geometric parameterization method based on skeleton-based planar regions is adopted. The approximate skeleton structure of the region is calculated, the skeleton branches are simplified, and the blocking process is divided into blocking around the branch points, in the middle and at the end. The G1 continuity constraint is imposed, and the discrete Coons patch method is used to obtain the internal control points of the topological blocks.
A multi-block structure with regular shape and fewer sub-regions is achieved, which improves the solution accuracy and convergence speed of isogeometric analysis.
Smart Images

Figure CN118608548B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of geometric model processing, and in particular to a skeleton-based high-quality geometric parameterization method for a planar region. Background Art
[0002] Isogeometric analysis (IGA) is a new type of numerical analysis method proposed by Professor TJR Hughes in 2005. It can effectively overcome the problems caused by data inconsistency between geometric design models and simulation analysis models. The quality of model parameterization affects the accuracy and convergence speed of isogeometric analysis solutions. At present, the parameterization methods of single-block structures include parameterization based on harmonic mapping, low-rank parameterization, parameterization based on nonlinear optimization methods, etc. However, for complex geometric models, single-block structure parameterization does not have enough flexibility, and the complex area needs to be divided into multiple sub-areas for parameterization separately. At present, the parameterization methods of multi-block structures include skeleton-based parameterization methods, convex decomposition methods, etc. However, the number of sub-areas divided by these methods is too large and the shapes are irregular. Summary of the Invention
[0003] In view of the shortcomings of the existing technology, the present invention proposes a skeleton-based high-quality geometric parameterization method for planar regions. Given a complex region model, the complex region model can be topologically divided into blocks, thereby obtaining good parameterization results.
[0004] In order to solve the above technical problems, the technical solution of the present invention is:
[0005] A skeleton-based high-quality geometric parameterization method for planar regions, the specific steps are as follows:
[0006] Step (1) uses the given boundary information to calculate the approximate skeleton structure of the region, simplifies it, and removes shorter skeleton branches;
[0007] Step (2) The model is divided into blocks according to each branch point of the skeleton and its corresponding point on the boundary. The block division process is divided into blocks around the branch points, blocks in the middle branches, and blocks at the end branches, and these blocks are optimized to obtain a multi-block structure.
[0008] Step (3) Use the discrete Coons patch method to obtain the internal control points of each topological block and apply G to the adjacent blocks. 1 Continuity constraints.
[0009] Preferably, the method for extracting and simplifying the skeleton in step (1) is:
[0010] An approximate skeleton structure of a planar region is generated using Delaunay triangulation of discrete boundary points. The resulting skeleton points are the centers of the circumcircles of the generated triangles. Therefore, each skeleton point has three corresponding points on the boundary. Skeleton points with a degree greater than 2 are called skeleton branch points, and a branch with a degree of 1 is called a terminal branch. If the triangle corresponding to a branch point on the boundary does not intersect a terminal branch, the corresponding terminal branch is deleted. If the angle between the branch point and the skeleton after simplification is less than 135°, the terminal branch at that branch point is considered necessary to retain.
[0011] Preferably, the optimization of branch points and boundary corresponding points in step (2) comprises the following sub-steps:
[0012] 2-1. Determine whether the distance between the boundary points corresponding to the adjacent branch points is less than the average end point radius. If it is less, merge them. The boundary point merging position depends on all boundary points P between the two boundary points to be merged. i , i=1,…,n, the curvature is large, if all P i If the curvature of both is less than 0.1, the two boundary points are merged into P mid , mid=(1+n) / 2; if P i If there are corresponding points with curvature greater than 0.1 in , the two boundary points are merged into P i The point with maximum curvature.
[0013] 2-2. After the above boundary point merging and simplification operation, if two adjacent skeleton branch points merge two pairs of boundary points, the distance between the two branch points along the skeleton is less than the radius of their respective inscribed circles, and the merged boundary points are on opposite sides of the middle branch of the two branch points, then the two branch points are treated as a whole and the surrounding blocks are divided. If there are three or more branch points in a whole, the closest pair of branch points are selected and treated as a separate whole. This operation is repeated until the whole contains only two or fewer branch points.
[0014] Preferably, in step (2), the branch points and the corner points of the intermediate branch blocks are optimized:
[0015] Move the corner point along the boundary. If the angle between the line connecting the corner point and its adjacent corner point and the corresponding skeleton branch is closer to 90° after the movement, move the point to the current position.
[0016] Preferably, in step (2), the terminal branch is divided into blocks to obtain new corner points:
[0017] The terminal branch corresponds to a block, where the two corner points are formed by the corner points corresponding to adjacent blocks. The two newly determined corner points are used to truncate the boundary point set between the given two corner points into three regions. The optimal two corner points can be obtained by solving the following optimization problem:
[0018]
[0019]
[0020]
[0021] Where Q1 represents the degree of change of the normal vector of each region, Q2 represents the difference between the new corner point connection line and the average normal vector of the terminal branch, λ1 and λ2 are positive constants. In this example, λ1 = 2 and λ2 = 15. is the unit normal vector at the intersection of the newly determined two corner points and the skeleton branch. If there is no intersection, take the average normal vector of the branch. i is the unit normal vector of each boundary point, is the average unit normal vector of different regions. The corresponding P can be obtained x , P y is the new corner point.
[0022] Preferably, the step (2) optimizes the topological blocks:
[0023] To improve the quality of computational domain blocks, it is necessary to optimize adjacent blocks. Given two adjacent blocks, if the two edges of one block in the non-adjacent direction are shorter and both edges in the non-adjacent direction of the two blocks are fitted with B-spline curves using boundary points, then merge the block with the adjacent block.
[0024] As a preference, the step (3) imposes constraints so that the common boundary control points of adjacent blocks and the second layer control points adjacent to the common boundary satisfy G 1 continuous.
[0025] In order to minimize the moving distance of each control point and ensure that the spline surface does not self-intersect, the boundary control points are first moved along the common boundary direction of adjacent blocks. To ensure that the control points in the internal neighborhood The angle formed by the connecting lines is set to 160°-180°, and the new internal control points of the spline are obtained by solving the following optimization problem:
[0026]
[0027]
[0028]
[0029] in are the calculated new internal control point coordinates, is the initial internal control point coordinate, and α represents the slope between the internal control point and the boundary control point, which is defined as follows:
[0030]
[0031]
[0032] If there are multiple blocks around a corner point, first adjust the neighborhood control points on one of the common boundaries of the corner point and its internal neighborhood control points according to the above method, then traverse the remaining control points to both ends. The processing of the common boundary control points is the same as the above method. The internal control points that have not been adjusted are adjusted according to the following equation until all control points are traversed.
[0033]
[0034]
[0035] in is the unadjusted control point, are the adjusted boundary control points, are the adjusted neighborhood interior control points.
[0036] The present invention has the following characteristics and beneficial effects:
[0037] By adopting the above technical solution, the present invention generates the skeleton based on the skeleton and the boundary sampling points corresponding to the skeleton points obtained by using Delaunay triangulation, removes unnecessary skeleton branches, and then divides the model into blocks according to each branch point of the skeleton and its corresponding points on the boundary, thereby obtaining a high-quality multi-block topological structure, and imposes constraints so that two adjacent blocks meet G 1 This method is simple to operate and can produce multi-block structures with regular shapes and a small number of subregions, thereby obtaining high-quality parameterized results, which will improve the accuracy and convergence speed of isogeometric analysis solutions. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0039] Figure 1 It is a flow chart in an embodiment of the present invention.
[0040] Figure 2 These are the initial skeleton and simplified skeleton diagram of the boundary model in the embodiment of the present invention.
[0041] Figure 3This is a diagram of a special case in which branch points move in blocks in one direction, two directions, and the number of boundary points is three in an embodiment of the present invention.
[0042] Figure 4 This is a schematic diagram of selecting dividing lines when there are other simplified skeleton points near the special point in an embodiment of the present invention.
[0043] Figure 5 This is an intermediate block diagram in which the intermediate branch in the embodiment of the present invention only merges a pair of points.
[0044] Figure 6 This is a diagram showing the impact of blocks around a branch point on other blocks in an embodiment of the present invention.
[0045] Figure 7 1 is a state diagram before and after the corner point moves in an embodiment of the present invention.
[0046] Figure 8 It is a state diagram before and after block local optimization in an embodiment of the present invention.
[0047] Figure 9 This is the final topological partitioning and parameterization result diagram in the embodiment of the present invention. DETAILED DESCRIPTION
[0048] It should be noted that, in the absence of conflict, the embodiments of the present invention and the features in the embodiments may be combined with each other.
[0049] In order to make the objectives, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below with reference to the accompanying drawings.
[0050] On the contrary, the present invention covers any alternatives, modifications, equivalents, and solutions that fall within the spirit and scope of the present invention as defined by the claims. Furthermore, to facilitate a better understanding of the present invention, certain specific details are described in detail below in the detailed description of the present invention. Those skilled in the art will be able to fully understand the present invention without these details.
[0051] The present invention provides a method for high-quality geometric parameterization of planar regions based on skeletons, such as Figure 1 As shown, the following steps are included:
[0052] Step (1) uses the given boundary information to calculate the approximate skeleton structure of the region, simplifies it, and removes unnecessary skeleton branches.
[0053] The specific implementation method is as follows:
[0054] The Delaunay triangulation of the discrete points on the boundary is used to generate an approximate skeleton structure of the planar region. The skeleton points obtained are the centers of the circumcircles of the triangles generated by this method. Therefore, each point on the skeleton structure has three corresponding points on the boundary.
[0055] Among them, the number of branches connected to each point on the skeleton structure is called the degree of the point, and the point with a degree greater than 2 is called a skeleton branch point. Each skeleton branch has two endpoints. If both endpoints are skeleton branch points, the branch is called an intermediate branch; if the degree of one endpoint of the branch is 1, the branch is called a terminal branch. The simplification of the skeleton mainly involves deleting some smaller terminal branches, and determining whether the branch should be retained by judging whether there is an intersection between the triangle on the boundary corresponding to the branch point and the terminal branch. If the triangle does not intersect with the terminal branch, the corresponding terminal branch is deleted. If the angle formed by the branch point and the skeleton after simplification is less than 135°, it is considered necessary to retain the terminal branch at this point, such as Figure 2 shown.
[0056] Step (2) divides the model into blocks according to each branch point of the skeleton and its corresponding points on the boundary. The block division process is divided into block division around the branch point, block division in the middle branch, and block division in the end branch, and these blocks are optimized to obtain a multi-block topological structure.
[0057] The specific implementation method is as follows:
[0058] 2-1. Assume that the skeleton structure has m terminal branches, terminal branch B i , i=1,…,m, the distance from the endpoint with degree 1 to the boundary is recorded as r i , called r=min(r i , 1, ..., m) is the minimum end radius. Calculate the boundary point P corresponding to each branch point b is the curvature of all boundary sampling points within the center radius r. If the maximum curvature is greater than P b 1.5 times the curvature at P b Move to the maximum curvature boundary point. Then determine the adjacent branch point b i , b j Corresponding boundary points Is the distance less than r a =(r1+…+r m ) / m, the distance is less than r a The boundary points to be merged are merged. The boundary point merging position depends on all the boundary points P between the two boundary points to be merged. i , i = 1, ..., the curvature of n, the curvature less than 0.1 is merged to the midpoint P mid , mid=(1+n) / 2, otherwise merge to the point with the largest curvature.
[0059] After the aforementioned boundary point merging and simplification operation, if two adjacent skeleton branch points merge two pairs of boundary points, the distance between the two branch points along the skeleton is less than the radius of their respective inscribed circles, and the merged boundary points are on opposite sides of the middle branch of the two branch points, the two branch points are considered as a whole and the surrounding blocks are divided. If a whole contains three or more branch points, the closest pair of branch points is selected and treated as a separate whole. This operation is repeated until the whole contains only two or fewer branch points.
[0060] 2-2. The topological block process is divided into block around branch points, block in the middle branches, and block at the end branches. After simplifying the skeleton, merging the boundary points, and integrating the branch points, the entire set of branch points is treated as a single branch point during block partitioning.
[0061] The number of boundary points corresponding to the branch points is 3. i , i=1, 2, 3 list all cases according to one-way movement and two-way movement respectively. If the boundary point P i If it is a merged boundary point, it can only move along the boundary toward the boundary point before it is merged.
[0062] 1) One-way movement: First, move the boundary point P i Move 2 / 3*|P in any direction along the border j -P k |(the distance between the other two boundary points), get point M, and then move M to P i Move to ensure that M and the boundary point P on the other side of the branch i The angle between the line l1 and the branch is within 70°-110°. If there is no intersection between l1 and the branch, the angle between the branch point and l1 along the tangent of the branch is determined. If the angle is too small or too large, move M so that the angle is within 70°-110°. If M crosses the boundary point corresponding to any branch point after the move, the move is ignored. The boundary point P before the move i The moved point M is used as the undetermined block corner point, such as Figure 3 shown.
[0063] 2) Bidirectional movement: Move the boundary point P i Move 1 / 2*|P to both sides along the border j -P k |Get two moving points M1 and M2, and then M1 and M2 move to P at the same time i Move, ensuring that the angle between each moving point and the boundary point on the other side of the branch and the line l1 is within 70°-110°. If M1, M2 crosses the boundary point corresponding to any branch point after moving, the movement is ignored. The final M1, M2 are the undetermined block corner points, such as Figure 3 shown.
[0064] Record the four corner points obtained after all unidirectional and bidirectional movements of the boundary points corresponding to the branch points, and calculate the cosine sum α of the angles of the quadrilateral formed by the four corner points, as well as the cosine sum β of the angles between the corner point lines and the skeleton branches. Select the four corner points corresponding to the minimum energy E = α + tβ as the corner points of the topological block, where t is a positive constant. When α>1 and there are two corresponding boundary point lines with a cosine angle greater than 0.3 with the skeleton branches, according to the above unidirectional movement operation, move the other two boundary points along the boundary in the direction of the common point. These five boundary points are the boundary points corresponding to the branch points.
[0065] The number of boundary points corresponding to branch points is 4, and all boundary points of a whole are directly used as topological block corner points.
[0066] The number of boundary points corresponding to the branch points is 5, assuming they are sorted counterclockwise and are recorded as P i , i=0,…,4. If the adjacent boundary point P i P (i+1)%5 Located on both sides of a branch, calculate P i P (i+1)%5 The intersection point with the branch, through the intersection point and the boundary point P (i+3)%5 The connection line with P i P (i+1)%5 Obtain the angle α. Repeat the above operations for two adjacent boundary points in sequence, selecting the intersection of the line connecting the adjacent boundary points and the branch calculated when the angle is closest to 90°, and splitting the pentagon formed by the five boundary points into two quadrilaterals. Figure 3 In the example, the boundary point P2 and the intersection point P are respectively combined with the two boundary points on the same side to form the four corner points of the two blocks.
[0067] Optimize the position of corner points in the block to improve the quality of topological block. Move the corner point along the boundary. If the angle between the line connecting the corner point and its adjacent corner point and the corresponding skeleton branch is closer to 90° after the movement, move the point to the current position.
[0068] 2-3. Traverse the skeleton points of the simplified terminal branch and calculate the curvature of the point on the simplified skeleton. If the curvature of the point is greater than 1.9, it is considered a special point and the direction of the simplified branch tangent vector is selected as the division direction. a There is a simplified terminal branch skeleton point b2 within the range, and the division direction is the average vector of the two skeleton points along the simplified branch tangent vector direction. The intersection of the straight line formed by the skeleton point and the branch direction and the boundary is used as the corner point to be used later, such as Figure 4 If the line intersects with other blocks or the intersection is close to other corner points, the special point is ignored.
[0069] 2-4. A middle branch is one whose two endpoints are both skeleton branch points. The four corner points of the middle branch block are formed by the boundary points on both sides of the branch corresponding to the two endpoints. If the middle branch is short, so that the surrounding skeleton branch points have merged, the block is ignored. If there is a skeleton point with large curvature in the middle branch, the block is split into two blocks based on the dividing line.
[0070] If the boundary points corresponding to the two endpoints of the middle branch are only merged into one pair, such as Figure 5 As shown in the figure, P k is the merged boundary point, and the black skeleton branch is the middle branch. Given the boundary point P i and P j The set of all boundary points P between s , s=1,…,n, on the boundary point set P h , h=n / 5,…,4n / 5, select the point with the largest curvature as the block corner point. s If the curvature of all boundary points in is less than 0.1, then the boundary point P i , P j Merge to the middle point P of the boundary point set mid , mid=(i+j) / 2, ignoring the middle branch block.
[0071] 2-5. The terminal branch is a branch between the skeleton branch point and the skeleton point with degree 1. When traversing the terminal branch, if there is a skeleton point with large curvature, the processing method is the same as the intermediate branch block, and the block is divided into two blocks according to its dividing line. Of the two endpoints of the terminal branch, one is an end point with degree 1, and the other is a branch point with degree greater than 2. In the blocks around the branch point, select the two corner points closest to the terminal branch. If the distance between the boundary sampling point between the two corner points and the line connecting the two corner points is less than r a , there is no need to partition this branch.
[0072] In the blocks adjacent to the terminal branch, the two corner points closest to the terminal branch are connected and the terminal branch is truncated. Depending on whether the truncated terminal branch has a large curvature point, the corner point of the region corresponding to the terminal branch is determined in the following two cases:
[0073] 1) There are no points with large curvature in the terminal branch. The terminal branch corresponds to a block, where the two corner points are formed by the corner points corresponding to adjacent blocks. The two newly determined corner points cut the boundary point set between the given two corner points into three segments. The optimal two corner points can be obtained by solving the following optimization problem:
[0074]
[0075]
[0076]
[0077] Where Q1 represents the degree of change of the normal vector of each region, Q2 represents the difference between the new corner point connection line and the average normal vector of the terminal branch, λ1 and λ2 are positive constants. In this example, λ1 = 2 and λ2 = 15. is the unit normal vector at the intersection of the newly determined two corner points and the skeleton branch. If there is no intersection, take the average normal vector of the branch. i is the unit normal vector of each boundary point, is the average unit normal vector of different regions. The corresponding P can be obtained x , P y is the new corner point.
[0078] 2) There is a point with large curvature at the end of the branch. If the branch has a significant curvature, move the end point of the branch to a point r away from the boundary according to the direction of its tangent vector. a At / 4, calculate the two intersection points of the line formed by the point and its normal and the boundary. These two intersection points are the corner points. If the corner point is close to the corresponding branch corner point or falls within another block, the new corner point is obtained by the following steps:
[0079] Select two boundary points close to the branch corresponding to the branch point in the terminal branch. The two boundary points correspond to an ordered point set on the boundary along the direction of the terminal branch. The midpoint of the point set is recorded as P mid ;
[0080] P mid Move r in the direction of its normal vector a / 4 get point P;
[0081] Finally, P is introduced at point P. mid The two intersection points obtained by the tangent vector direction line and the boundary are the new corner points.
[0082] 2-6. If after simplification, the number of corresponding boundary points of the branch point is 5, and after block division, there is a segmentation point located on the skeleton, if there is no intersection with the corresponding skeleton branch, then the boundary midpoint is taken. Figure 6 In the adjacent block k1 containing P1, find the boundary l1 opposite to the block boundary where P1 is located, start from the intersection point P2 of l1 and the skeleton branch, and follow the tangent direction of the skeleton branch at that point to reach another adjacent block k2 of k1. Repeat this operation until you reach the end block or the boundary opposite to the block boundary where you are located, and use the boundary points to fit the B-spline curve.
[0083] There are two cases depending on whether the adjacent block reached during the block extension process is a branch point block, an intermediate branch block, or an end block:
[0084] 1) Arrival point block or intermediate branch block: Use the intersection points P1 and P2 of the block and the skeleton branch as the dividing line to divide the block into two blocks, such as Figure 6 As shown. The segmentation line can be a straight line connecting P1 and P2 or a skeleton branch fitted from P1 to P2. If the branch point block has multiple branch points or reaches the boundary, a B-spline curve is fitted using the boundary points, then a straight line fit is performed directly. If the skeleton branch from P1 to P2 is significantly distorted, then the skeleton branch is directly fitted.
[0085] 2) Arriving at the end block: Calculate the middle boundary point of the two corner points obtained by the end branch block, such as Figure 6 For P3 in the example, the terminal block is divided into two blocks using P2P3 as the dividing line. If the curvature of the points on the terminal branches that are truncated by adjacent blocks is small, the dividing line is directly fitted to the straight line connecting the corner points P2P3; otherwise, the dividing line is fitted to the skeleton branch from P2 to the terminal point and the line connecting the terminal point to P3.
[0086] 2-7. Connect the adjacent corner points of each divided block. If the distance between the connecting line of the adjacent corner points and the boundary sampling point between the two corner points is less than r a , then for the boundary point sequence between two corner points {P k} Perform B-spline fitting; if the distance between the line connecting the adjacent corner points and the boundary sampling points between the two corner points is greater than r a , a cubic B-spline curve is used to construct a straight line segment formed by connecting adjacent corner points.
[0087] If the curves on both sides of the block corner point around the branch point are fitted with B-spline curves using boundary points, then move the corner point to the intersection of its corresponding terminal branch and the boundary, such as Figure 7 The position of the corner point after moving is shown, and the black line is the corresponding branch direction.
[0088] 2-8. To improve the quality of the computational domain, it is necessary to optimize the adjacent blocks. Given two adjacent blocks, if the two sides of one block in the non-adjacent direction are shorter and the two sides of the two blocks in the non-adjacent direction are both fitted with B-spline curves using boundary points, then merge the block with the adjacent block, such as Figure 8 shown.
[0089] Step (3) Use the discrete Coons patch method to obtain the internal control points of each topological block, and impose constraints so that the two adjacent blocks meet G 1 Continuity.
[0090] The specific implementation method is as follows:
[0091] 3-1. First, by using the discrete Coons patch method, the internal control points of the B-spline in each block are obtained, and then the blocks are G- 1 Continuous optimization.
[0092] 3-2. In the region, adjust the common boundary control points of each block and the adjacent blocks and the second layer control points adjacent to the common boundary to meet G 1 continuous.
[0093] When the control point set of the common boundary When the slope between the control points of their respective internal neighborhoods is the same, the G between the two adjacent blocks k1 and k2 can be satisfied. 1 Continuity.
[0094] In order to minimize the moving distance of each control point and ensure that the spline surface does not self-intersect, the boundary control points are first moved along the common boundary direction of adjacent blocks. To ensure that the control points in the internal neighborhood The angle formed by the connecting lines is set to 160°-180°, and the new internal control points of the spline are obtained by solving the following optimization problem:
[0095]
[0096]
[0097]
[0098] in are the calculated new internal control point coordinates, is the initial internal control point coordinate, and α represents the slope between the internal control point and the boundary control point, which is defined as follows:
[0099]
[0100]
[0101] If the corner point of a block is shared by multiple blocks, first adjust the neighborhood control points on one of the common boundaries of the corner point and its internal neighborhood control points according to the above method. The adjusted control points are fixed, and then the remaining control points are traversed to both ends. The processing of the common boundary control points is the same as the above method. The internal control points that have not been adjusted are adjusted according to the following formula until all relevant control points are traversed to obtain the moved control points.
[0102]
[0103]
[0104] in is the unadjusted control point, are the adjusted boundary control points, are the adjusted neighborhood interior control points.
[0105] Parametric result evaluation method:
[0106] This paper uses the canonical Jacobian matrix to evaluate the parameterization quality. For a known parameterization B(u, v), let J be the Jacobian matrix of the mapping B.
[0107] Assumption: B(u, v) = (x(u, v), y(u, v))
[0108] The canonical Jacobian is then calculated as follows:
[0109]
[0110]
[0111] The closer the determinant of the canonical Jacobian matrix is to 1, the smaller the deformation of the parameterized result. Figure 9 shown.
[0112] The embodiments of the present invention are described in detail above with reference to the accompanying drawings, but the present invention is not limited to the described embodiments. It will be apparent to those skilled in the art that various changes, modifications, substitutions, and variations of these embodiments, including components, without departing from the principles and spirit of the present invention are still within the scope of protection of the present invention.
Claims
1. A high-quality isogeometric parameterization method for planar regions based on skeletons, characterized in that: The steps include: Step 1: Based on the given boundary information, a skeleton structure of the plane region is generated by using Delaunay triangulation of the boundary discrete points, and the skeleton structure is simplified to remove unnecessary skeleton branches; Step 2: Divide the skeleton structure into blocks according to the branch points of the simplified skeleton structure and the corresponding points on the boundary. The block results include blocks around the branch points, middle branch blocks, and end branch blocks. Step 3: Optimize the corner points of the blocks around the support, the middle branch blocks, and the end branch blocks to obtain topological blocks; The method for optimizing corner points of the blocks around the branch point and the blocks in the middle branch is as follows: move the corner point along the boundary. If the angle between the line connecting the corner point and its adjacent corner point and the corresponding skeleton branch is closer to 90° after the movement, move the point to the current position; The corner point optimization method of the terminal branch block is: Among them, Q1 represents the degree of change of the normal vector of each region, Q2 represents the difference between the new corner point connection line and the average normal vector of the terminal branch, λ1 and λ2 are positive constants, is the unit normal vector at the intersection of the newly determined two corner points and the skeleton branch. If there is no intersection, take the average normal vector of the branch. i is the unit normal vector of each boundary point, is the average unit normal vector of different regions, and the corresponding P is obtained x , P y is the new corner point; Step 4: Optimize the topological blocks; Step 5: Use the discrete Coons patch method to obtain the internal control points of each optimized topological block, and impose constraints so that the two adjacent topological blocks meet G 1 Continuity.
2. The skeleton-based high-quality geometric parameterization method for planar regions according to claim 1, characterized in that: In step 1, the skeleton points of the skeleton structure are the centers of triangle circumscribed circles generated by the Delaunay triangulation method of the boundary discrete points, and each of the skeleton points has three corresponding points on the boundary.
3. The skeleton-based high-quality geometric parameterization method for planar regions according to claim 2, characterized in that: The simplified method of the skeleton structure is as follows: a point on the skeleton structure with a degree greater than 2 is called a skeleton branch point, and an end point of a branch with a degree of 1 is called a terminal branch; If the triangle on the boundary corresponding to the skeleton branch point does not have an intersection with the terminal branch, the corresponding terminal branch is deleted; After simplification, if the angle formed between the skeleton branch point and the skeleton is less than 135°, it is considered necessary to retain the terminal branch at this point.
4. The skeleton-based high-quality geometric parameterization method for planar regions according to claim 2, characterized in that: In step 2, before dividing the skeleton structure into blocks, each branch point of the simplified skeleton structure and its corresponding points on the boundary need to be optimized.
5. The skeleton-based high-quality geometric parameterization method for planar regions according to claim 4, characterized in that: The optimization method of the branch points and their corresponding points on the boundary is: First, determine whether the distance between the boundary points corresponding to adjacent branch points is less than the average end point radius. The average end point radius is the average distance from all skeleton points with a degree of 1 to the boundary. If so, merge them. After the boundary points are merged, if two adjacent branch points merge two teams of boundary points, the distance between the two branch points along the skeleton is less than the radius of each inscribed circle, and the merged boundary point is located on the opposite side of the middle branch of the two branch points, then the two branch points are treated as a whole and the areas around the branch points are divided into blocks; if there are three or more branch points in a whole, select the pair of branch points with the closest distance as a separate whole, and repeat this operation until the whole contains only two or fewer branch points.
6. The skeleton-based high-quality geometric parameterization method for planar regions according to claim 5, characterized in that: The method for merging the boundary points is as follows: the boundary point merging position depends on all boundary points P between the two boundary points to be merged. i , i=1,…,n, the curvature is large, if all p i If the curvature of both is less than 0.1, the two boundary points are merged into P mid ,mid=(1+n) / 2;if P i If there are corresponding points with curvature greater than 0.1, the two boundary points are merged into p i The point with maximum curvature.
7. The skeleton-based high-quality geometric parameterization method for planar regions according to claim 1, characterized in that: The optimization method of the topological block is as follows: given two adjacent blocks, if the two sides of one block in the non-adjacent side direction are shorter and the two sides in the non-adjacent side direction of the two blocks are B-spline curves fitted by boundary points, then the block is merged with the adjacent block.
8. The skeleton-based high-quality geometric parameterization method for planar regions according to claim 1, characterized in that: In step 5, G 1 The continuity constraint is to move the common boundary control points of adjacent blocks and the adjacent second-layer control points of the common boundary to the same straight line and minimize the moving distance to meet G 1 Continuity.
9. The skeleton-based high-quality geometric parameterization method for planar regions according to claim 1, characterized in that: The constraint method of the constraint condition is: First, move the boundary control points along the common boundary of adjacent blocks To ensure that the control points in the internal neighborhood The angle formed by the connecting lines is set to 160°-180°, and the new internal control points of the spline are obtained by solving the following optimization problem: in are the calculated new internal control point coordinates, is the initial internal control point coordinate, and α represents the slope between the internal control point and the boundary control point, which is defined as follows: If there are multiple blocks around a corner point, first adjust the adjacent control points on one of the common boundaries of the corner point and its internal neighborhood control points according to the above method, then traverse the remaining control points towards both ends. The processing of the common boundary control points is the same as the above method, and the internal control points that have not been adjusted are adjusted according to the following equation until all control points are traversed; in is the unadjusted control point, are the adjusted boundary control points, are the adjusted neighborhood interior control points.
Citation Information
Patent Citations
Skeleton-based object component decomposition method
CN107330901A
Geometric reconstruction method based on finite element model
CN111797555A