In order to solve the problem of complicated NonUniform Rational BSplines (NURBS) modeling and improve the realtime performance of the highorder derivative of the curve interpolation process, the method of NURBS modeling based on the slicing and layering of triangular mesh is introduced. The research and design of NURBS curve interpolation are carried out from the two aspects of software algorithm and hardware structure. Based on the analysis of the characteristics of traditional computing methods with Taylor series expansion, the Adams formula and the RungeKutta formula are used in the NURBS curve interpolation process, and the process is then optimized according to the characteristics of NURBS interpolation. This can ensure accuracy, and avoid the calculation of higherorder derivatives. Furthermore, the hardware modules for the Adams and RungeKutta formulas are designed by using the parallel hardware construction technology of Field Programmable Gate Array (FPGA) chips. The parallel computing process using FPGA is compared with the traditional serial computing process using CPUs. Simulation and experimental results show that this scheme can improve the computational speed of the system and that the algorithm is feasible.
The NonUniform Rational BSplines (NURBS) model was proposed by Piegl et al. [
3D reconstruction technology based on triangular patch is a classic reverse engineering technology. Reference [
The information for each face includes its number and the three weights of the three edges. The weight of edge is defined as follows. For an edge of the current face, the weight is the sum of two angles’ numbers. These two angles satisfy the two following conditions: They are in the adjacent face (the face that shares the edge with the current face); and they are adjacent to the current face. As shown in
The directed weighted vector graph is shown in
According to the above definition, every edge of each triangle patch can be recorded. The information of the triangular patch can be stored in the linked list structure. Each triangular patch corresponds to a chain node. Every node member includes the triangular patch number, the normal vector, the division mark, and the vertex coordinate. In addition, each edge is a child node of the triangular patch node. Each child node member includes the number of the triangle patch that shares this edge, the weight of this edge, and the address of the next edge. According to this structure, each edge of each triangular patch can be found in order when the triangular mesh model is layered. If the current triangular patch has been layered, it can be marked at the same time.
The core process of triangle mesh model layering is to use a series of planes perpendicular to the z axis of the rectangular coordinate to intersect with the triangular patch and record the intersection point set. As shown in
The coordinates of intersection point
where
As shown in
The layering algorithm is described as follows:
Step 1: Prescreen the triangle patch according to the Z coordinate of each triangle, and filter out the triangular patches that do not intersect with the current section plane.
Step 2: Weighted sort the remaining triangular patches to determine the order.
Step 3: Traverse each triangle in order of weight, and store the calculated intersection points in the chain list.
The resulting linked list data are the ordered intersection data.
As described in Section 2.1, a series of ordered intersection points can be obtained. Reference [
Set the interpolation object as a series of ordered data points
where
It can be seen that
where
Suppose there are (
Similar to NURBS curves, it is necessary to calculate the reasonable parameters
Step 1: Calculate the mean value
Step 2: Average all
The algorithm of solving
where
It can be found that
Step 1: In the direction of
Step 2: In the direction of
NURBS interpolation is the process of calculating the tool position
The disadvantage of the Taylor series expansion method is that if we want more accurate results, we need higherorder Taylor series expansion. That is to say, we need to compute the higherorder derivatives of the NURBS curves, which is a complex process. However, reducing the Taylor series expansion order will reduce the computational accuracy. In view of this problem, we can design an optimization algorithm based on the Adams formula and calculate
The Adams formula is a numerical integration method. Its basic purpose is to solve general ordinary differential equations such as
In this equation, the step size is
Once the function value
In the Adams algorithm, take the slope values of the first few steps of
where
The common threestep fourthorder Adams explicit formula is shown in
where
Applying the idea of an ordinary differential equation to the NURBS curve model, the following settings can be made:
Make interpolation cycle
According to the above settings, and referring to the most commonly used threestep fourorder Adams formula, the method of calculating
It can be seen from
Take
It can be seen from
The RungeKutta algorithm evolved from the Euler algorithm. For the firstorder ordinary differential equation shown in
Therefore, let
The commonly used fourthorder RungeKutta formula is shown in
By using the definitions of
According to the principle of the RungeKutta formula, the parameters
It can be seen from the previous description that, for a NURBS curve with
The hardware structure of implementing the RungeKutta and Adams formulas by parallel computing is shown in
In
Adams module  RungeKutta module  Total time  

Parallel computing  4 
(n + 12) 

Serial computing  8 
8 
8n 
To verify the correctness of the interpolation algorithm, this paper simulates the quadratic NURBS curve in MATLAB. The parameters of NURBS curve are as follows: Degree
Next, the time consumption of serial computing and parallel computing was studied. The FPGA model was ep2c8q208, the system clock was 50 MHz, and then the clock cycle Δ
This paper introduces a method of NURBS surface reconstruction based on triangle mesh layering. Based on an analysis of existing algorithms, the Adams and RungeKutta algorithms were introduced into the process of NURBS interpolation, thereby avoiding the complex highorder calculation of the NURBS curve and reducing the amount of calculation from the perspective of the software algorithm. At the same time, the hardware parallel computing module was designed based on the FPGA parallel hardware architecture. This module replaces the common software computing mode based on the CPU and improves the computing speed. The analysis results show that the algorithm proposed in this paper can correctly obtain the position parameters of NURBS curve. Therefore, when combined with the hardware structure of parallel computing, this method can improve the realtime performance of the system.