Conversion method and system for converting non-structural T spline into non-uniform rational B spline

By converting non-structural T-splines into non-uniform rational B-splines, the structural limitation problem of traditional NURBS surfaces when representing complex geometric shapes is solved, efficient and accurate geometric representation is achieved, and the needs of high-quality surface modeling are met.

CN120107528APending Publication Date: 2025-06-06UNIV OF SCI & TECH OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510205212.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-24
Publication Date
2025-06-06

AI Technical Summary

Technical Problem

Traditional NURBS surfaces are structurally restricted when representing complex geometry, resulting in surface discontinuity or splicing errors.

Method used

By converting non-structural T-splines into non-uniform rational B-splines, the lossless mapping and precise expression of geometric information are achieved using polynomial flowering algorithm and node insertion algorithm.

Benefits of technology

The efficiency and accuracy of geometric representation are improved, and the surface discontinuity or splicing error problems caused by structural limitations in traditional methods are solved, and the continuity and smoothness requirements of high-quality surface modeling are met.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120107528A_ABST
    Figure CN120107528A_ABST
Patent Text Reader

Abstract

The invention provides a conversion method and system for converting a non-structural T-spline into a non-uniform rational B-spline, and belongs to the field of computer-aided geometric design, and the method comprises the steps: S1, inputting a to-be-converted non-structural T-spline curved surface, and segmenting a topological grid of the non-structural T-spline curved surface according to singular points on the non-structural T-spline curved surface to obtain an internal non-intersecting initial rectangular region set; s2, combining the initial rectangular regions meeting specific conditions to obtain a combined rectangular region set; s3, for each merged rectangular area, calculating node vectors, multiple numbers, control points and weights according to geometric and topological information of the original non-structural T-spline curved surface, and converting the merged rectangular area into an NURBS curved surface; and finally, outputting all the generated NURBS curved surface sets as STEP format files. According to the method, the seamless characteristic of the non-structural T spline is fully utilized, and the non-structural T spline is converted into the NURBS with the seamless splicing characteristic.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the field of computer-aided geometric design, and in particular relates to a conversion method and system for converting unstructured T-splines into non-uniform rational B-splines. Background Art

[0002] Free-form curve and surface technology is the core of Computer Aided Geometric Design (CAGD). Among them, non-uniform rational B-splines (NURBS), as a unified mathematical model, has become a standard method in computer-aided design and manufacturing. For a long time, the mathematical modeling and data smoothing of geometric shapes have promoted the development of spline methods; conversely, the maturity of spline theory has also provided important theoretical basis and tools for the design of free-form curves and surfaces. However, NURBS surfaces have some limitations. For example, their control points must be located within a rectangular grid, which results in the existence of many control points mainly to meet topological requirements rather than geometric expression requirements.

[0003] To solve the above problems, local thinning spline technology has been rapidly developed. By introducing T-points or hierarchical grid structures, this technology can refine geometric details in local areas, effectively avoiding the redundancy problem caused by traditional NURBS global thinning, thereby greatly reducing the number of redundant control points. In particular, T-splines containing singular points, namely unstructured T-splines, can express more complex geometric shapes. Therefore, how to combine the traditional advantages of NURBS and the seamless characteristics of unstructured T-splines has become an urgent problem to be solved. Summary of the invention

[0004] In order to solve the above technical problems, the present invention provides a method for converting unstructured T-splines into non-uniform rational B-splines, comprising the following steps:

[0005] Step S1: Input the unstructured T-spline surface to be transformed, and divide the topological grid of the unstructured T-spline surface according to the singular points on it to obtain a set of initial rectangular areas that do not intersect inside , n is the number of initial rectangular areas;

[0006] Step S2: Merge the initial rectangular areas that meet specific conditions to obtain a merged set of rectangular areas , m is the number of rectangular areas after merging;

[0007] Step S3: For each of the combined rectangular regions According to the geometry and topology information of the original unstructured T-spline surface, the node vector, multiplicity, control points and weight are calculated, and it is losslessly converted into the corresponding NURBS surface. ;Finally, collect all the generated NURBS surfaces Output is STEP format file.

[0008] Beneficial effects:

[0009] The present invention provides a conversion method for converting unstructured T-splines into non-uniform rational B-splines, giving full play to the flexibility and seamlessness of unstructured T-splines in representing complex geometric shapes, and effectively solving the problem of surface discontinuity or splicing errors caused by structural limitations in traditional methods. By innovatively designing a conversion method from T-splines to NURBS (including a polynomial blooming algorithm and a node insertion algorithm), the present invention achieves lossless mapping and precise expression of geometric information, greatly improving the efficiency and accuracy of geometric representation. The present invention can convert unstructured T-splines into multiple pieces of non-uniform rational B-splines (NURBS) with seamless splicing characteristics, meeting the requirements of continuity and smoothness of high-quality surface modeling. At the same time, the present invention provides more powerful tool support for unstructured T-splines in downstream tasks such as geometric modeling, engineering analysis, and shape optimization. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Figure 1 A flow chart of a method for converting unstructured T-splines into non-uniform rational B-splines according to the present invention;

[0011] Figure 2 It is a schematic diagram of the initial rectangular region segmentation based on the singular points on the surface;

[0012] Figure 3 is a schematic diagram of the merged rectangular area;

[0013] Figure 4 Schematic diagram of converting unstructured T-splines into multiple continuous non-uniform rational B-splines;

[0014] Figure 5 Schematic diagram of converting primitives to non-uniform rational B-splines for unstructured T-splines;

[0015] Figure 6 Schematic diagram of converting free-form surface into non-uniform rational B-spline for unstructured T-spline;

[0016] Figure 7 The present invention is a structural block diagram of a conversion system for converting unstructured T-splines into non-uniform rational B-splines. DETAILED DESCRIPTION

[0017] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other.

[0018] Embodiment 1

[0019] like Figure 1 As shown, a method for converting an unstructured T-spline into a non-uniform rational B-spline provided by an embodiment of the present invention includes the following steps:

[0020] Step S1: Input the unstructured T-spline surface to be transformed, and divide the topological grid of the unstructured T-spline surface according to the singular points on it to obtain a set of initial rectangular areas that do not intersect inside , n is the number of initial rectangular areas;

[0021] Step S2: Merge the initial rectangular areas that meet specific conditions to obtain a merged set of rectangular areas , m is the number of rectangular areas after merging;

[0022] Step S3: For each of the merged rectangular area sets According to the geometry and topology information of the original unstructured T-spline surface, the node vector, multiplicity, control points and weight are calculated, and it is losslessly converted into the corresponding NURBS surface. ;Finally, collect all the generated NURBS surfaces Output is STEP format file.

[0023] In one embodiment, the above step S1: input the unstructured T-spline surface to be converted, and divide the topological grid of the unstructured T-spline surface according to the singular points on it to obtain a set of initial rectangular regions that do not intersect internally. , n is the number of initial rectangular areas, including:

[0024] First, the half-edge data structure storing the unstructured T-spline surface to be converted is as follows:

[0025] Vertex structure:

[0026] property:

[0027] control_point: The control point and weight corresponding to the vertex.

[0028] half_edge: A reference to an associated half edge.

[0029] knot_interval: The node vector corresponding to the vertex.

[0030] type: vertex type, including cross point / singular point / T point / L point.

[0031] Structure HalfEdge:

[0032] property:

[0033] from_vertex: A reference to the starting vertex.

[0034] pair: A reference to the opposite half.

[0035] prev: A reference to the previous half-edge.

[0036] next: A reference to the next half-edge.

[0037] edge: A reference to the associated edge.

[0038] face: A reference to the associated face.

[0039] direction: The parameter direction of the half edge.

[0040] Structure edge:

[0041] property:

[0042] half_edge: A reference to one of the half edges.

[0043] param_length: parameter length of the edge.

[0044] Structural face (Face):

[0045] property:

[0046] half_edge: A reference to the starting half edge of the face.

[0047] bezier_extraction: Bezier ordinates inside the surface.

[0048] infected_vertex: References to all infected vertices.

[0049] infected_vertex_coord: The coordinates of all affected vertices in the surface coordinate system.

[0050] Secondly, according to the singular points on the unstructured T-spline surface, the topological grid of the unstructured T-spline surface is segmented to obtain a set of initial rectangular areas that do not intersect internally. , n is the number of initial rectangular areas, including:

[0051] Step S11: Identify the corner points of the initial rectangular area according to the half-edge data structure; and record the candidate corner points of the initial rectangular area by traversing the following types of paths:

[0052] 1) A path starting from a singular point and ending at another singular point;

[0053] 2) A path starting from a singular point and ending at a T-point;

[0054] 3) Paths starting from singular points and ending at boundary points;

[0055] 4) forming a closed path of circulation;

[0056] The intersection points of the above non-coincident paths are defined as special points;

[0057] Step S12: Update the initial rectangular area related to the singular point: traverse all non-boundary paths starting from the singular point, and turn whenever the path reaches a singular point, a special point or a boundary point; if the path has a self-intersection phenomenon, mark the intersection as a new special point, and start traversing from the singular point again; this step ensures that the four corner points of the final initial rectangular area are singular points, special points or boundary points;

[0058] Step S13: Update the initial rectangular area related to the special point: traverse all uncovered non-boundary paths starting from the special point updated in step S12, and turn whenever the path reaches a special point or a boundary point; this step ensures that the four corner points of the final initial rectangular area are special points or boundary points;

[0059] Step S14: Update the initial rectangular area related to the boundary point: traverse all uncovered paths starting from the boundary point, and turn whenever the path reaches the boundary point; this step ensures that the four corner points of the final initial rectangular area are boundary points;

[0060] Step S15: Update the initial rectangular area related to the closed path: for a closed path on the boundary, start from any half edge on the path that is within the surface and not on the cyclic path, and move along the path until reaching another closed path; this step ensures that an initial rectangular area connected end to end is generated;

[0061] Step S16: Combining the above steps, a set of initial rectangular areas with no internal intersections is obtained. .

[0062] Figure 2 The diagram shows how to segment the initial rectangular region based on the singular points on the surface, and 55 facets are obtained after segmentation.

[0063] In one embodiment, the above step S2: merging the initial rectangular areas that meet the specific conditions to obtain a merged rectangular area set , m is the number of merged rectangular areas, including:

[0064] Step S21: Initialize the merged boundary: traverse all initial rectangular areas , record each The boundary information of , including: the starting point, the end point and the direction of the half edge;

[0065] Step S22: Half-edge merging condition check: For any adjacent and Shared boundaries , if the boundary If there are no singular points on the and , add the merged ;

[0066] Step S23: Repeat step S22 until there are no more mergeable boundaries, and finally obtain a merged rectangular area set. .

[0067] Figure 3 A schematic diagram of the merged rectangular area is shown, and 33 faces are obtained after the merger.

[0068] In one embodiment, the above step S3: for each of the combined rectangular area sets According to the geometry and topology information of the original unstructured T-spline surface, the node vector, multiplicity, control points and weight are calculated, and it is losslessly converted into the corresponding NURBS surface. ;Finally, collect all the generated NURBS surfaces The output is a STEP format file, including:

[0069] Step S31: Record node vectors and multiplicity: traverse the merged rectangular area All cells in the , and the values ​​and multiplicity information of all control points in the cell in the parameter domain;

[0070] Step S32: Lossless conversion from T-spline to NURBS: A mapping of the control points and weights of T-spline to the control points and weights of NURBS is established through a polynomial blooming algorithm and a node insertion algorithm, wherein the node insertion rule is as follows:

[0071] Consider the node vector , if the inserted node or , Do not change, otherwise,

[0072] ;

[0073] ;

[0074] ;

[0075] ;

[0076] The expressions of the coefficients are as follows:

[0077] ;

[0078] ;

[0079] ;

[0080] ;

[0081] Step S33: Special processing of singular points: Due to the requirement of continuity, Bezier ordinates are used to represent the area around the singular points; therefore, this step uses the 16 Bezier ordinates of the cells near the singular points to insert nodes, covering the control points and weights calculated in step S32, to ensure the accuracy and lossless conversion of the singular point area;

[0082] Step S34: Control point scaling: The surface parameterization of T-spline based on control points, weights and blending functions is expressed as:

[0083]

[0084] in, and is the number of mixed functions in the u and v directions of the T-spline, , The 3D coordinates are , weight is The mixing function corresponding to the control points;

[0085] The parameterized representation of NURBS surface based on control points, weights and B-spline basis functions is:

[0086]

[0087] in, and is the number of basis functions in the u and v directions of the B-spline, , The 3D coordinates are , weight is The B-spline basis functions corresponding to the control points of Control Points To scale up, ;

[0088] Step S35: Collect all generated NURBS surfaces Output is STEP format file.

[0089] Figure 4 Schematic diagram of converting unstructured T-splines into multi-piece continuous non-uniform rational B-splines.

[0090] Two specific application examples of the embodiments of the present invention are as follows:

[0091] Example 1: Figure 5 The invention relates to an application of converting a basic body including a cube, a cylinder, a cone and a sphere into a non-uniform rational B-spline by using unstructured T-splines. Firstly, the above model is imported into a test program implemented in C++ language, and a STEP format file is exported according to the conversion method proposed in the present invention, thereby obtaining a basic body seamlessly spliced ​​by multiple pieces of non-uniform rational B-splines.

[0092] Example 2: Figure 6 The application of unstructured T-splines in converting free-form surfaces into non-uniform rational B-splines is demonstrated. The present invention can losslessly convert complex free-form surfaces into a combination of multiple non-uniform rational B-splines seamlessly spliced ​​together, and the results can be used for further surface processing and simulation analysis.

[0093] Embodiment 2

[0094] like Figure 7 As shown, an embodiment of the present invention provides a conversion system for converting unstructured T-splines into non-uniform rational B-splines, including the following modules:

[0095] The initial rectangular region construction module 41 is used to input the unstructured T-spline surface to be transformed, and to segment the topological grid of the unstructured T-spline surface according to the singular points on it to obtain a set of initial rectangular regions that do not intersect internally. , n is the number of initial rectangular areas;

[0096] The rectangular region merging module 42 is used to merge the initial rectangular regions that meet specific conditions to obtain a merged rectangular region set. , m is the number of rectangular areas after merging;

[0097] The NURBS surface conversion module 43 is used for each of the combined rectangular area sets According to the geometry and topology information of the original unstructured T-spline surface, the node vector, multiplicity, control points and weight are calculated, and it is losslessly converted into the corresponding NURBS surface. ;Finally, collect all the generated NURBS surfaces Output is STEP format file.

[0098] A conversion device for converting unstructured T-splines into non-uniform rational B-splines comprises one or more electronic devices, wherein the one or more electronic devices are used to implement a conversion method, system and device for converting unstructured T-splines into non-uniform rational B-splines.

[0099] An electronic device includes: one or more processors; a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement a conversion method, system and device for converting unstructured T-splines into non-uniform rational B-splines.

[0100] A computer-readable storage medium stores executable instructions, which, when executed by a processor, enable the processor to implement a method, system and device for converting unstructured T-splines into non-uniform rational B-splines.

[0101] A non-transitory computer-readable storage medium stores a computer program, which, when executed by a processor, implements a method, system and device for converting unstructured T-splines into non-uniform rational B-splines.

[0102] The foregoing is merely a specific embodiment of the present invention, which enables those skilled in the art to understand or implement the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present invention will not be limited to the embodiments shown herein, but will conform to the widest scope consistent with the principles and novel features applied herein.

Claims

1. A method for converting unstructured T-splines into non-uniform rational B-splines, characterized in that: include: Step S1: Input the unstructured T-spline surface to be transformed, and divide the topological grid of the unstructured T-spline surface according to the singular points on it to obtain a set of initial rectangular areas that do not intersect inside , n is the number of initial rectangular areas; Step S2: Merge the initial rectangular areas that meet specific conditions to obtain a merged set of rectangular areas , m is the number of rectangular areas after merging; Step S3: For each of the combined rectangular regions According to the geometry and topology information of the original unstructured T-spline surface, the node vector, multiplicity, control points and weight are calculated, and it is losslessly converted into the corresponding NURBS surface. ;Finally, collect all the generated NURBS surfaces Output is STEP format file.

2. The method for converting unstructured T-splines into non-uniform rational B-splines according to claim 1, characterized in that: The unstructured T-spline surface to be converted in step S1 is represented based on a half-edge data structure.

3. The method for converting unstructured T-splines into non-uniform rational B-splines according to claim 1, characterized in that: In step S1, the topological grid of the unstructured T-spline surface is segmented according to the singular points thereon to obtain a set of initial rectangular regions that do not intersect internally. , n is the number of initial rectangular areas, including: Step S11: Identify the corner points of the initial rectangular area according to the half-edge data structure; and record the candidate corner points of the initial rectangular area by traversing the following types of paths: 1) A path starting from a singular point and ending at another singular point; 2) A path starting from a singular point and ending at a T-point; 3) Paths starting from singular points and ending at boundary points; 4) forming a closed path of circulation; The intersection points of the above non-coincident paths are defined as special points; Step S12: Update the initial rectangular area related to the singular point: traverse all non-boundary paths starting from the singular point, and turn whenever the path reaches a singular point, a special point or a boundary point; if the path has a self-intersection phenomenon, mark the intersection as a new special point, and start traversing from the singular point again; this step ensures that the four corner points of the final initial rectangular area are singular points, special points or boundary points; Step S13: Update the initial rectangular area related to the special point: traverse all uncovered non-boundary paths starting from the special point updated in step S12, and turn whenever the path reaches a special point or a boundary point; this step ensures that the four corner points of the final initial rectangular area are special points or boundary points; Step S14: Update the initial rectangular area related to the boundary point: traverse all uncovered paths starting from the boundary point, and turn whenever the path reaches the boundary point; this step ensures that the four corner points of the final initial rectangular area are boundary points; Step S15: Update the initial rectangular area related to the closed path: for a closed path on the boundary, start from any half edge on the path that is within the surface and not on the cyclic path, and move along the path until reaching another closed path; this step ensures that an initial rectangular area connected end to end is generated; Step S16: Combining the above steps, a set of initial rectangular areas with no internal intersections is obtained. .

4. The method for converting unstructured T-splines into non-uniform rational B-splines according to claim 3, characterized in that: Step S2: merging initial rectangular areas that meet specific conditions to obtain a merged set of rectangular areas , m is the number of merged rectangular areas, including: Step S21: Initialize the merged boundary: traverse all initial rectangular areas , record each The boundary information of , including: the starting point, the end point and the direction of the half edge; Step S22: Half-edge merging condition check: For any adjacent and Shared boundaries , if the boundary If there are no singular points on the and , add the merged ; Step S23: Repeat step S22 until there are no more mergeable boundaries, and finally obtain a merged rectangular area set. .

5. The method for converting unstructured T-splines into non-uniform rational B-splines according to claim 4, characterized in that: The step S3: for each of the combined rectangular area sets According to the geometry and topology information of the original unstructured T-spline surface, the node vector, multiplicity, control points and weight are calculated, and it is losslessly converted into the corresponding NURBS surface. ;Finally, collect all the generated NURBS surfaces The output is a STEP format file, including: Step S31: Record node vectors and multiplicity: traverse the merged rectangular area All cells in the , and the values ​​and multiplicity information of all control points in the cell in the parameter domain; Step S32: Lossless conversion from T-spline to NURBS: A mapping of the control points and weights of T-spline to the control points and weights of NURBS is established through a polynomial blooming algorithm and a node insertion algorithm, wherein the node insertion rule is as follows: Consider the node vector , if the inserted node or , Do not change, otherwise, ; ; ; ; The expressions of the coefficients are as follows: ; ; ; ; Step S33: Special processing of singular points: Due to the requirement of continuity, Bezier ordinates are used to represent the area around the singular points; therefore, this step uses the 16 Bezier ordinates of the cells near the singular points to insert nodes, covering the control points and weights calculated in step S32, to ensure the accuracy and lossless conversion of the singular point area; Step S34: Control point scaling: The surface parameterization of T-spline based on control points, weights and blending functions is expressed as: ; in, and is the number of mixed functions in the u and v directions of the T-spline, , The 3D coordinates are , weight is The mixing function corresponding to the control points; The parameterized representation of NURBS surface based on control points, weights and B-spline basis functions is: ; in, and is the number of basis functions in the u and v directions of the B-spline, , The 3D coordinates are , weight is The B-spline basis functions corresponding to the control points of Control Points To scale up, ; Step S35: Collect all generated NURBS surfaces Output is STEP format file.

6. A conversion system for converting unstructured T-splines into non-uniform rational B-splines, characterized in that: Includes the following modules: Construct an initial rectangular region module to input the unstructured T-spline surface to be transformed, and segment the topological grid of the unstructured T-spline surface according to the singular points on it to obtain a set of initial rectangular regions that do not intersect internally. , n is the number of initial rectangular areas; The merging rectangular area module is used to merge the initial rectangular areas that meet specific conditions to obtain a merged rectangular area set. , m is the number of rectangular areas after merging; The NURBS surface conversion module is used for each of the combined rectangular area sets According to the geometry and topology information of the original unstructured T-spline surface, the node vector, multiplicity, control points and weight are calculated, and it is losslessly converted into the corresponding NURBS surface. ;Finally, collect all the generated NURBS surfaces Output is STEP format file.

7. A conversion device for converting unstructured T-splines into non-uniform rational B-splines, characterized in that: The method comprises one or more electronic devices, wherein the one or more electronic devices are used to implement the method according to any one of claims 1 to 5.

8. An electronic device, characterized in that: include: one or more processors; A memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 5.

9. A computer-readable storage medium, characterized in that: Executable instructions are stored thereon, and when the instructions are executed by a processor, the processor implements the method according to any one of claims 1 to 5.

10. A non-transitory computer-readable storage medium, characterized in that: A computer program is stored thereon, and when the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 5 are implemented.