A fast reconstruction algorithm of T-spline surfaces based on mesh shared control vertices

By using the method of sharing control vertices based on mesh in T-spline surface reconstruction, the problem of high time complexity of traversal control vertices in T-spline surface reconstruction is solved, and a more efficient surface reconstruction process is achieved.

CN114648622BActive Publication Date: 2025-03-18ZHEJIANG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210288865.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-22
Publication Date
2025-03-18
Estimated Expiration
2042-03-22

AI Technical Summary

Technical Problem

During the reconstruction process, the T-spline surface is controlled by different control vertices by different control vertices, resulting in a high time complexity of traversing all control vertices, especially during high-precision reconstruction.

Method used

By sharing control vertices based on the grid, the parameter space is partitioned, and the control vertices calculated at any point in each grid are the same, reducing the search for repeated traversal control vertices and saving computing workload.

Benefits of technology

It significantly reduces the amount of traversing control vertices, and improves the speed and efficiency of surface reconstruction, especially in the case of high-precision reconstruction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114648622B_ABST
    Figure CN114648622B_ABST
Patent Text Reader

Abstract

The present invention provides a T-spline surface fast reconstruction algorithm based on grid-shared control vertices. The algorithm constructs a parameter space original image according to the number of T-spline surfaces, and performs grid division on the parameter space original image. Since the control vertices calculated at any point in each grid are the same, in the surface reconstruction process, the control vertex array of each grid is first calculated, and then the Euclidean space coordinates of all points in the parameter space original image are reconstructed based on the obtained control vertex array. Finally, the T-spline surface is reconstructed according to the Euclidean space coordinates of all reconstructed points. The reconstruction algorithm of the present invention makes full use of the characteristic that all points in each grid area in the T-spline surface original image (grid parameter space original image) have the same control vertices, effectively reduces a large number of repeated control vertex traversal searches, greatly saves the calculation workload, and improves the efficiency of surface reconstruction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the technical field of surface model reconstruction in CAD (Computer Aided Design), and in particular relates to a T-spline surface fast reconstruction algorithm based on grid shared control vertices. Background Art

[0002] Tensor product spline surface modeling is one of the surface modeling technologies widely used in the CAD field. It is used in major 3D modeling software such as Solidworks, UG, Inventor, and CATIA. The surface representation used in the ISO standard exchange format STEP is the NURBS (Non-Uniform Rational B-Spline) surface in the tensor product spline surface.

[0003] However, tensor product spline surfaces have inherent shortcomings. Due to the limitations of the tensor product form, some complex surfaces need to be spliced ​​using several tensor product spline surfaces, and during the splicing, misalignment, gaps, overlaps, and other violations of the two-dimensional manifold may occur; and when the surface needs to be refined locally, a large number of redundant vertices need to be added, which increases the amount of calculation.

[0004] To solve the above problems, Thomas W. Sederberg and others proposed the concept of T-spline. T-spline allows the existence of T nodes on the basis of NURBS, abandons the limitations of tensor product surfaces, and enables complex surfaces to be expressed through a unified parameter space. It can also be locally refined as needed, thus solving the inherent defects of NURBS surfaces.

[0005] However, since T-spline does not use the calculation method of tensor product surface, it faces new problems in surface reconstruction: due to the complexity of the surface, points in different areas of the parameter space are controlled by different control vertices and have no obvious regularity. Therefore, during the reconstruction process of the T-spline surface, for each point in the parameter space, it is necessary to traverse all control vertices to find the control vertex that controls the point. When the surface reconstruction accuracy is high and the number of reconstruction points is large, traversing the control vertices takes a lot of time. Summary of the invention

[0006] A point on a T-spline surface and its neighboring areas may have the same set of control vertices, and the position where the control vertex set changes is located at the boundary of the influence range (control domain) surrounded by the node vector of each vertex; since the influence range of the node vector is determined by the edges in the original image of the surface, the surface is meshed based on the existing vertices on the surface, so that all points inside each mesh have the same node vector.

[0007] In order to solve the problems existing in the prior art, the present invention, based on the above principle, proposes a T-spline surface fast reconstruction algorithm based on mesh shared control vertices, which improves the efficiency of T-spline surface reconstruction.

[0008] The purpose of the present invention is to propose a fast reconstruction algorithm for T-spline surfaces based on mesh shared control vertices, which fully utilizes the characteristic that all points in each mesh area in the T-spline original image have the same control vertices during the surface reconstruction process, reduces the repetition of a large number of control vertex traversal searches as much as possible, and saves computational workload.

[0009] A T-spline surface fast reconstruction algorithm based on mesh shared control vertices includes the following steps:

[0010] (1) Obtaining T-spline surface data including vertex Euclidean space coordinates;

[0011] (2) Reconstructing the parameter space pre-image including the vertex parameter space coordinates according to the T-spline surface data;

[0012] (3) construct the control domain of each vertex and the mesh parameter space original image based on the reconstructed parameter space original image;

[0013] (4) Select any untraversed mesh in the original image of the mesh parameter space, take any coordinate point in the mesh, calculate all the control vertices of the coordinate point according to the control domains of all the constructed vertices, and use the control vertices of the coordinate point as the control vertices of the mesh to obtain the control vertex array of the mesh;

[0014] Repeat the above steps until all meshes are traversed and the control vertex array of each mesh is obtained;

[0015] (5) Reconstruct the Euclidean space surface based on the obtained control vertex array of each mesh.

[0016] Preferably, the T-spline surface data includes vertex data, edge topology data and edge length data. The vertex data includes vertex numbers and Euclidean space coordinates of the vertices;

[0017] The edge topology data includes the edge number, the previous edge number, the next edge number, the opposite edge number, the starting vertex number of the edge, the face number of the edge, the length number of the edge, and the node type of the edge.

[0018] The side length data includes the side length sequence number and the side length.

[0019] As a further preferred embodiment, in the original image of the parameter space, the node forms corresponding to the edge are divided into nodes rotated 90° counterclockwise, nodes not rotated in the direction, and nodes rotated 90° clockwise;

[0020] A 90° counterclockwise rotation of a node indicates that the direction of the next edge of the edge corresponding to the node is 90° counterclockwise rotation of the edge direction; a node that does not rotate in direction indicates that the direction of the next edge of the edge corresponding to the node is the same as the direction of the edge; a 90° clockwise rotation of a node indicates that the direction of the next edge of the edge corresponding to the node is 90° clockwise rotation compared to the direction of the edge.

[0021] Preferably, the parameter space original image is composed of vertices, edges, faces and the relationship between the three;

[0022] Among them, each vertex has a sequence number, Euclidean space coordinates and parameter space coordinates;

[0023] Each edge is a vector and has a sequence number, belonging to a patch;

[0024] Each patch has a serial number and is constructed from a number of edges connected end to end; when the patch serial number is a positive value, it means that the inside of the patch is solid; when the patch serial number is -1, it means that the inside of the patch is hollow.

[0025] Preferably, the specific steps of constructing the grid parameter space original image according to the reconstructed parameter space original image are:

[0026] The s coordinates and t coordinates of all vertices in the parameter space original image are collected, and an equal s parameter line is made according to each collected s coordinate and an equal t parameter line is made according to each t coordinate in the parameter space original image, and the parameter space is gridded to obtain the grid parameter space original image.

[0027] The specific operations are:

[0028] The s-coordinates and t-coordinates of all vertices in the original image of the parameter space are collected, and the collected s-coordinates and t-coordinates are sorted to obtain the dividing points in the s-direction and t-direction respectively; the dividing points in the s-direction are used as the s-coordinates to draw equal s-parameter lines, and the dividing points in the t-direction are used as the t-coordinates to draw equal t-parameter lines, and the parameter space is gridded.

[0029] Preferably, the specific method of constructing the control domain of each vertex according to the reconstructed parameter space original image is:

[0030] Take any vertex as the starting point, and draw rays in the positive and negative directions of the s and t parameter coordinates respectively, until each ray encounters the second line in the original image of the parameter space that intersects it perpendicularly or the edge line of the original image of the parameter space, thereby obtaining two mutually perpendicular line segments, and draw a rectangle based on the two mutually perpendicular line segments, and the obtained rectangular area is the control domain of the vertex. Among them, two adjacent opposite sides with opposite directions and opposite starting points and end points are regarded as a line (edge); the edge line is the contour line of the original image of the parameter space.

[0031] The specific operations are:

[0032] Let a vertex be [s i ,t i ], traverse all edges and filter out all starting points whose coordinate value is less than or equal to t i , the end point t coordinate value is greater than or equal to t i The s coordinate values ​​of all the filtered edges are sorted and the edges with smaller s are selected. i The two largest s coordinate values ​​among the small s coordinate values ​​are defined as s in ascending order. i0 、s i1 ; Select ratio s i The two smallest s coordinate values ​​among the large s coordinate values ​​are defined as s in ascending order. i3 、s i4 ; Set i =s i2 , then we get the vertex [s i ,t i ]The node vector in the s direction [s i0 ,s i1 ,s i2 ,s i3 ,s i4 ];

[0033] According to the above method, we can get the vertex [s i ,t i ]The node vector in the t direction [t i0 ,t i1 ,t i2 ,t i3 ,t i4 ];

[0034] Any vertex [s i ,t i ] is the control domain of [s i ,t i ]The influence range formed by the node vector in the s and t directions.

[0035] In the above process of obtaining the node vector, if there is only one smaller value or larger value, the smaller value or larger value is repeated once; if there is no smaller value or larger value, the corresponding vertex coordinates are repeated twice instead.

[0036] Preferably, according to the control domains of all constructed vertices, the method for calculating the control vertex of any coordinate point in the grid is:

[0037] For any untraversed vertex, determine whether the coordinate point falls into the control domain of the vertex. If so, the vertex is the control vertex of the coordinate point.

[0038] Traverse all vertices and get all control vertices of the coordinate point.

[0039] Let the current traversal vertex be [s i ,t i ], and the corresponding node vectors in the s and t directions are [s i0 ,s i1 ,s i2 ,s i3 ,s i4 ] and [t i0 ,t i1 ,t i2 ,t i3 ,t i4 ]; Determine whether a coordinate point (s, t) falls within [s i ,t i ], that is, whether s0≤s≤s4 and t0≤t≤t4 are satisfied. If so, (s, t) falls into the vertex [s i ,t i ] control domain, determine the vertex [s i ,t i ] is the control vertex of the coordinate point (s, t).

[0040] Preferably, in step (5), the Euclidean space coordinates of each coordinate point in the original image of the mesh parameter space are reconstructed according to the obtained control vertex array of each mesh, to obtain an ordered point cloud in Euclidean space, and then triangular facets are used to reconstruct the Euclidean space surface.

[0041] As a further preferred embodiment, the Euclidean space coordinates of the coordinate points in the original image of the grid parameter space are reconstructed using a T-spline reconstruction equation, and the T-spline reconstruction equation is expressed as:

[0042]

[0043] Wherein, T(s, t) represents the Euclidean space coordinates corresponding to the coordinate point (s, t) in the parameter space, that is, the reconstructed Euclidean space coordinates;

[0044] P i Represents the Euclidean space coordinates of each control vertex of the coordinate point (s, t), and n is the number of control vertices of the coordinate point (s, t);

[0045] T-spline mixing function φ i (s,t) is defined as:

[0046] φ i (s,t)=N[s i0 ,s i1 ,s i2 ,s i3 ,s i4 ](s)N[t i0 ,t i1 ,t i2,t i3 ,t i4 ](t)

[0047] Among them, N[s i0 ,s i1 ,s i2 ,s i3 ,s i4 ](s) is the node vector S = [s i0 ,s i1 ,s i2 ,s i3 ,s i4 ] determined by the cubic B-spline basis function; N[t i0 ,t i1 ,t i2 ,t i3 ,t i4 ](t) is the node vector T = [s i0 ,s i1 ,s i2 ,s i3 ,s i4 ]determined cubic B-spline basis functions.

[0048] As a further preferred embodiment, for any coordinate point in the original image of the mesh parameter space, the control vertex array of the mesh in which the coordinate point is located is used as the control vertex array of the coordinate point to reconstruct the Euclidean space coordinates.

[0049] If a coordinate point is a vertex or a coordinate point on the edge of a mesh, and the coordinate point belongs to two or more meshes at the same time, when reconstructing its Euclidean space coordinates, the control vertex array of any mesh where it belongs is used as the control vertex array of the coordinate point.

[0050] Compared with the prior art, the present invention has the following beneficial effects:

[0051] The present invention partitions the parameter space (grid division), and the control vertices calculated for any point in each partition (grid) are the same. Therefore, in the process of surface reconstruction, the control vertex array of each partition is first calculated, and then the Euclidean space coordinates of all points in the original image of the parameter space are reconstructed based on the obtained control vertex array; the traditional method needs to traverse all vertices to find the control vertex when calculating the Euclidean space coordinates of each point in the parameter space; assuming that the total number of vertices on the surface is m, and the number of coordinate points for surface reconstruction is n, the calculation method (reconstruction algorithm) of the present invention needs to traverse the vertices no more than m(m+1)(m+1) times, and the traditional method needs to traverse the vertices (mn) times. Due to the surface accuracy requirements, n is usually much larger than m 2 , and as the surface accuracy increases, the order of magnitude difference between the two increases. Therefore, the reconstruction algorithm of the present invention can significantly reduce the amount of calculation for traversing vertices and improve the speed of surface reconstruction. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] Figure 1 A flow chart comparing the calculation method of an embodiment of the present invention and the traditional calculation method;

[0053] Figure 2 is the T-spline surface vertex data expression form stored in the TSM file in the embodiment; wherein "0g" is the vertex data identifier, and the vertices are numbered starting from 0 from the first line, and the four data after "0g" are the X, Y, Z, W homogeneous coordinates of the vertex in Euclidean space;

[0054] Figure 3 is the T-spline surface edge topology data expression form stored in the TSM file in the embodiment; wherein "l" is a topology data identifier, and the lines (edges) are numbered starting from 0 from the first line, and the seven numbers after "l" represent the previous edge number, the next edge number, the opposite edge number, the vertex number, the face where the edge is located, the edge length number, and the node form of the edge respectively;

[0055] Figure 4 This is a topological relationship diagram of the edges on the same face in the TSM file in the embodiment. From the edge numbers, it can be seen that the edges 25-149-61-67-168-64-25 form a closed loop connected end to end, and the six edges all belong to the face with the number 12;

[0056] Figure 5 Schematic diagram of the original image of the T-spline surface (parameter space original image) reconstructed in the embodiment; the topological relationship in the TSM file is converted into a graph to obtain Figure 5 The original image of the surface in the figure shows the relationship between vertices, lines, and faces; 1 represents the vertex number, 2 represents the edge number, and 3 represents the face number;

[0057] Figure 6 Schematic diagram of the node vector calculation method in the embodiment; starting from a vertex, a ray is emitted in the positive and negative directions of the s and t parameter coordinates (i.e., the up, down, left, and right directions in the figure), until the ray intersects vertically with the line on the surface original image (parameter space original image) for the second time (here, two adjacent opposite sides with opposite directions and opposite starting and ending points are regarded as a line), and the obtained rectangular area is the control domain of the vertex; relatively, for any coordinate point in the control domain, the vertex is one of its control vertices;

[0058] Figure 7 Schematic diagram of the grid parameter space original image constructed in the embodiment; based on the T-spline surface original image (parameter space original image), each vertex therein emits infinitely long rays in the positive and negative directions of s and t, forming a grid parameter space in the parameter space; all coordinate points in each independent grid in the grid parameter space have the same control vertex;

[0059] Figure 8 Based on Figure 4 The comparison chart of the relationship between the surface reconstruction accuracy of the T-spline surface described in the case of different sampling point numbers; the T-spline surface has a total of 73 vertices, and the grid divided is 64 grids; the number of sampling points in the left, middle and right figures are 400, 10000 and 250000 respectively; according to the traditional calculation method, it is necessary to traverse the vertices 400, 10000 and 250000 times respectively; according to the calculation method proposed in this patent, it is only necessary to traverse 64 times; it can be seen that under the condition of high reconstruction accuracy, the reconstruction algorithm of this embodiment greatly reduces the amount of calculation compared with the traditional calculation method. DETAILED DESCRIPTION

[0060] In order to describe the technical solution of the present invention more specifically, the technical solution of the present invention is described in detail below with reference to the accompanying drawings and specific implementation methods.

[0061] like Figure 1 As shown in the right figure, a T-spline surface fast reconstruction algorithm based on mesh shared control vertices includes the following steps:

[0062] 1. Input data is as follows Figure 2 , Figure 3 The TSM file data shown contains relevant data on vertices, edges (topology), and edge lengths.

[0063] The vertex data includes the vertex serial number and the Euclidean space coordinates of the vertex;

[0064] The edge topology data includes the edge number, the previous edge number, the next edge number, the opposite edge number, the starting vertex number of the edge, the face number of the edge, the length number of the edge, and the node type of the edge.

[0065] The side length data includes the side length sequence number and the side length.

[0066] 2. Build based on input data Figure 5 The T-spline surface original image (parameter space original image) shown in the figure is as follows:

[0067] 2.1. First, find the vertex numbered 0 (referred to as vertex 0, the same below), assume that the positive direction of the parameter space s coordinate is right, and the positive direction of the t coordinate is upward, and define the parameter space coordinates of vertex 0 as (0, 0); find the edge numbered 0 (referred to as edge 0, the same below), the vertex of edge 0 (that is, the starting point of the edge) is vertex 0, and define the direction of edge 0 as right.

[0068] 2.2. Based on the topological data (for ease of understanding, some of the topological data are organized in Figure 4), find the vertex number 46 of the next edge 154 of edge 0, which is the end point number of edge 0; the coordinates of vertex 46 are the coordinates of vertex 0 moved along the direction of edge 0 by the length of edge 0 (given by the input data), which is (0.125, 0).

[0069] 2.3. According to the node form of edge 154, determine the rotation angle of edge 154 relative to edge 0. Here, the node form is recorded as "0", indicating that the direction of edge 154 is rotated 90 degrees counterclockwise compared with the direction of edge 0; if the node form is "1", it means that the direction of the edge is the same as the direction of the previous edge; if the node form is "2", it means that the direction of the edge is rotated 90 degrees clockwise compared with the direction of the previous edge.

[0070] 2.4. Find the vertex number 48 of the next edge 160 of edge 154, which is the end point of edge 154; the coordinates of vertex 48 are the coordinates of vertex 46 moved up by the length of edge 154 by 0.125, that is (0.125, 0.125). The rotation angle of edge 160 can also be determined using its corresponding node form. If the node form of edge 160 is recorded as "0", the direction of edge 160 is 90 degrees counterclockwise rotated compared to the direction of its upper edge 154, which is the same as the above result.

[0071] 2.5. According to the node form of edge 160, determine the rotation angle of edge 160 relative to edge 154. Here, the node form is recorded as "0", which means that the direction of edge 160 is rotated 90 degrees counterclockwise compared with the direction of edge 154, that is, the direction changes to the left;

[0072] 2.6. Find the vertex number 47 of the next edge of edge 160, edge 13, which is the end point of edge 160; the coordinates of vertex 47 are the coordinates of vertex 48 moved left by 0.125 of the length of edge 160, that is, (0, 0.125).

[0073] 2.7. Find the next edge of edge 13, which is edge 0, which has been used. Therefore, edges 0, 154, 160, and 13 form a closed loop, and this part of the original image has been constructed.

[0074] 2.8. Continue to search for unused data in the vertex and topological data to construct the original image until all the data are used, that is, the construction of the parameter space original image (T-spline surface original image) is completed.

[0075] 3. Based on the constructed parameter space original image, determine the node vector (control domain) of each vertex. Here, Figure 6 Take the 45th vertex of as an example. The coordinates of the 45th vertex are (0.25, 0.375). The specific steps to determine its node vector are as follows:

[0076] 3.1. Determine its s-direction node vector: the t coordinate value of vertex 45 is 0.375. Traverse all edges and find all edges whose starting point t coordinate value is less than or equal to 0.375 and whose end point t coordinate value is greater than or equal to 0.375. Edges 142, 144, 148, 64, 212, 214, and 218 can be found.

[0077] 3.2. According to the s-coordinate values ​​of all edges, the s-coordinate value of vertex 45, 0.25, is used as the boundary to remove duplicates and sort. The edges with s-coordinate values ​​less than 0.25 are 142 and 144, whose s-coordinate values ​​are 0 and 0.125 respectively; the edges with s-coordinate values ​​greater than 0.25 are 64, 212, 214, and 218, whose s-coordinate values ​​are 0.5, 0.75, 0.875, and 1.0 respectively;

[0078] Taking the s-coordinate value 0.25 of vertex 45 as the center, take the smaller value [0, 0.125] of the two closest s-coordinate values ​​and the larger value [0.5, 0.75] of the two closest s-coordinate values ​​to form the node vector [0, 0.125, 0.25, 0.5, 0.75] in the s direction of vertex 45;

[0079] If there is only one smaller value or larger value, the smaller value or larger value will be repeated once, such as the s-direction node vector of vertex 44 is [0,0,0.125,0.25,0.5]; if there is no smaller value or larger value, the corresponding vertex coordinates will be repeated twice instead, for example, the s-direction node vector of vertex 69 is [0.75,0.875,1.0,1.0,1.0].

[0080] 3.3. Using the same method as above, obtain the node vector [0.125, 0.25, 0.375, 0.5, 0.75] in the t direction of vertex 45; the control domain of vertex 45 is the influence range of the node vector in the s and t directions of this point.

[0081] 3.4. According to the above method (steps 3.1 to 3.3), traverse all vertices, obtain the node vector data of all vertices, and then obtain the control domain of all vertices.

[0082] 4. Build Figure 7 The original image of the grid parameter space is shown, and the specific operations are:

[0083] The s-coordinates and t-coordinates of all vertices are sorted to obtain the s-direction dividing points [0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1.0] and t-direction dividing points [0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1.0]. The s-direction dividing points are used as s-coordinates to make equal s-value rays (equal s-parameter lines), and the t-direction dividing points are used as equal t-value rays (equal t-parameter lines), and the plane is divided into 8*8=64 grids.

[0084] 5. Take the midpoint of each grid (or any point in the grid) and determine which vertices the point falls within the node vector range: For example, take the first grid in the lower left corner ( Figure 7 The midpoint [0.0625,0.0625] of the grid is traversed, and the node vector range of the vertices including the point is determined. The node vector range includes the control vertex set [19,42,20,47,48,49,0,46,18] of the point. The control vertex set (control vertex array) is the control vertex of the midpoint. According to the T-spline property, the vertex set is also the control vertex of all points in the grid. Therefore, all points in the grid share the control vertex set. Similarly, the control vertex set of each grid in the parameter space is obtained.

[0085] 6. Reconstruct the T-spline surface: first, determine the number of points in each grid according to the area of ​​each grid, so that the density of the points is uniform in the parameter space original image (whether the points need to be evenly distributed in the parameter space original image should be adjusted according to the actual situation, and can be evenly distributed or uneven; in this embodiment, the parameter space original image is a regular structure, so the point uniform distribution is adopted); secondly, calculate the Euclidean space coordinates of each coordinate point in the parameter space original image in turn to obtain an ordered point cloud in Euclidean space; finally, use triangular facets to reconstruct the Euclidean space surface (T-spline surface) based on the obtained ordered point cloud in Euclidean space to obtain surface data.

[0086] Among them, the T-spline reconstruction equation is used to calculate the Euclidean space coordinates of each point in the original image of the parameter space. The expression of the T-spline reconstruction equation is as follows:

[0087]

[0088] Wherein, T(s, t) represents the Euclidean space coordinates corresponding to the coordinate point (s, t) in the parameter space, that is, the reconstructed Euclidean space coordinates;

[0089] P i Represents the Euclidean space coordinates of the control vertex of the coordinate point (s, t); n is the number of control vertices of the coordinate point (s, t);

[0090] T-spline mixing function φ i (s,t) is defined as:

[0091] φ i (s,t)=N[s i0 ,s i1 ,s i2 ,s i3 ,s i4 ](s)N[t i0 ,t i1 ,t i2 ,t i3 ,t i4 ](t)

[0092] Among them, N[s i0 ,s i1 ,s i2 ,s i3 ,s i4 ](s) is the node vector S = [s i0 ,s i1 ,s i2 ,s i3 ,s i4 ] determined by the cubic B-spline basis function; N[t i0 ,t i1 ,t i2 ,t i3 ,t i4 ](t) is the node vector T = [s i0 ,s i1 ,s i2 ,s i3 ,s i4 ]determined cubic B-spline basis functions.

[0093] If a coordinate point is a vertex or a coordinate point on the edge of a mesh, and the coordinate point belongs to two or more meshes at the same time, when reconstructing its Euclidean space coordinates, the control vertex array of any mesh where it belongs is used as the control vertex array of the coordinate point.

[0094] Figure 8 The figure is a comparison chart of the surface reconstruction accuracy of the T-spline surface under different sampling point numbers; according to the reconstruction method of this embodiment, the T-spline surface has a total of 73 vertices, and the meshes divided are 64 meshes; Figure 8 The number of sampling points in the left, middle and right images is 400, 10,000 and 250,000 respectively; according to the traditional calculation method, it is necessary to traverse the vertices 400, 10,000 and 250,000 times respectively. According to the calculation method proposed in this embodiment, it is only necessary to traverse 64 times; it can be seen that under the condition of high reconstruction accuracy, the reconstruction algorithm of this embodiment greatly reduces the amount of calculation compared with the traditional calculation method, and the efficiency of T-spline surface reconstruction is greatly improved.

[0095] The specific implementation methods described above provide a detailed description of the technical solution of the present invention. It should be understood that the above is only the most preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, supplements and equivalent substitutions made within the scope of the principles of the present invention should be included in the protection scope of the present invention.

Claims

1. A method for fast reconstruction of T-spline surfaces based on mesh shared control vertices, characterized in that: The following steps are involved: (1) Obtaining T-spline surface data including vertex Euclidean space coordinates; (2) reconstructing the parameter space original image including the vertex parameter space coordinates according to the T-spline surface data; (3) construct the control domain of each vertex and the mesh parameter space original image based on the reconstructed parameter space original image; (4) Select any untraversed mesh in the original image of the mesh parameter space, take any coordinate point in the mesh, calculate all the control vertices of the coordinate point according to the control domains of all the constructed vertices, and use the control vertices of the coordinate point as the control vertices of the mesh to obtain the control vertex array of the mesh; Repeat the above steps until all meshes are traversed and the control vertex array of each mesh is obtained; (5) Reconstructing the Euclidean space surface according to the obtained control vertex array of each mesh; The specific steps of constructing the grid parameter space original image according to the reconstructed parameter space original image are: Collecting the s coordinates and t coordinates of all vertices in the parameter space original image, making equal s parameter lines according to each collected s coordinate and equal t parameter lines according to each t coordinate in the parameter space original image, and dividing the parameter space into grids to obtain the grid parameter space original image; The specific method of constructing the control domain of each vertex according to the reconstructed parameter space original image is: Take any vertex as the starting point, draw rays in the positive and negative directions of the s and t parameter coordinates respectively, until each ray encounters the second line in the parameter space original image that intersects it perpendicularly or the edge line of the parameter space original image, thereby obtaining two mutually perpendicular line segments, and draw a rectangle based on the two mutually perpendicular line segments. The obtained rectangular area is the control domain of the vertex; Based on the control domains of all constructed vertices, the method to calculate the control vertex of any coordinate point in the mesh is: For any untraversed vertex, determine whether the coordinate point falls into the control domain of the vertex. If so, the vertex is the control vertex of the coordinate point. Traverse all vertices and get all control vertices of the coordinate point.

2. The method for fast reconstruction of T-spline surfaces based on mesh shared control vertices according to claim 1, characterized in that: The T-spline surface data includes vertex data, edge topology data and edge length data; wherein the edge topology data includes the node form corresponding to the edge.

3. The method for fast reconstruction of T-spline surfaces based on mesh shared control vertices according to claim 2, characterized in that: The node types corresponding to the edges are divided into three types: nodes rotated 90° counterclockwise, nodes not rotated, and nodes rotated 90° clockwise.

4. The method for fast reconstruction of T-spline surfaces based on mesh shared control vertices according to claim 1, characterized in that: The parameter space original image is composed of vertices, edges, faces and the relationship between the three; Among them, each vertex has a sequence number, Euclidean space coordinates and parameter space coordinates; Each edge is a vector and has a sequence number, belonging to a patch; Each face has a serial number and is composed of several closed loop edges connected end to end.

5. The method for fast reconstruction of T-spline surfaces based on mesh shared control vertices according to claim 1, characterized in that: In step (5), the Euclidean space coordinates of each coordinate point in the original image of the mesh parameter space are reconstructed according to the control vertex array of each mesh, and an ordered point cloud in Euclidean space is obtained, and then the Euclidean space surface is reconstructed using triangular facets.

6. The method for fast reconstruction of T-spline surfaces based on mesh shared control vertices according to claim 5, characterized in that: The Euclidean space coordinates of the coordinate points in the original image of the grid parameter space are reconstructed using the T-spline reconstruction equation, which is expressed as: Where T(s, t) represents the Euclidean space coordinates corresponding to the coordinate point (s, t) in the parameter space; P i Represents the Euclidean space coordinates of each control vertex of the coordinate point (s, t), and n is the number of control vertices of the coordinate point (s, t); T-spline mixing function φ i (s,t) is defined as: φ i (s,t)=N[s i0 ,s i1 ,s i2 ,s i3 ,s i4 ](s)N[t i0 ,t i1 ,t i2 ,t i3 ,t i4 ](t) Among them, N[s i0 ,s i1 ,s i2 ,s i3 ,s i4 ](s) is the node vector S = [s i0 ,s i1 ,s i2 ,s i3 ,s i4 ] determined by the cubic B-spline basis function; N[t i0 ,t i1 ,t i2 ,t i3 ,t i4 ](t) is the node vector T = [s i0 ,s i1 ,s i2 ,s i3 ,s i4 ]determined cubic B-spline basis functions.

7. The method for fast reconstruction of T-spline surfaces based on mesh shared control vertices according to claim 5, characterized in that: For any coordinate point in the original image of the mesh parameter space, the control vertex array of the mesh in which it is located is used as the control vertex array of the coordinate point to reconstruct the Euclidean space coordinates.

Citation Information

Patent Citations

  • Three-dimensional print slicing method based on T-spline surface

    CN106547969A

  • 3D geologic modeling method based on T splines

    CN106934860A