## 2 Initial Structural Model
### The Free-Form Surface Model Based on the B-Spline Technique  
The B-spline technique is a commonly used method of representing free-form curves and surfaces in the field of computer-aided geometric design (CAGD). The fundamentals of B-spline surfaces in [45] are summarized here. A B-spline surface \(\mathbf{S}(u,v)\) is a piecewise polynomial surface obtained by taking a bidirectional net of control points, two knot vectors, and the products of the univariate B-spline functions:  
\[\mathbf{S}(u,v)=\sum_{i=0}^{n}\sum_{j=0}^{m}N_{i,p}(u)N_{j,q}(v)\mathbf{P}_{i,j} \tag{1}\]  
where the \(\{\mathbf{P}_{i,j}\}\) (\(i=0,\,1,\ldots,\,n\); j = 0, 1, \(\ldots,\,m\)) is a \((n+1)\times(m+1)\) matrix, and form a bidirectional control net, the \(p\) and \(q\) are the degrees in the \(u\) and \(v\) directions, the \(\{N_{i,p}(u)\}\) and \(\{N_{j,q}(v)\}\) are the B-spline basis functions defined on the knot vectors \(\mathbf{U}=\{u_{0},\,u_{1},\,\ldots,\,u_{n+p+1}\}\) and \(\mathbf{V}=\{v_{0},\,v_{1},\,\ldots,\,v_{m+q+1}\}\), the \(\{N_{i,p}(u)\}\) can be calculated by the Equation (2). The formula for calculating \(\{N_{j,q}(v)\}\) has the same form.  
\[\begin{split} N_{i,0}(u)&=\left\{\begin{array}{l} 1\text{ if }u_{i}\leq u<u_{i+1}\\ 0\text{ otherwise}\end{array}\right.\\ N_{i,p}(u)&=\frac{u-u_{i}}{u_{i+p}-u_{i}}N_{i,p-1}(u)+\frac{u_{i+p+1}-u }{u_{i+p+1}-u_{i+1}}N_{i+1,p-1}(u)\end{split} \tag{2}\]  
Equation (1) can be used to compute the point on a B-spline surface at fixed parameter values (\(u,\,v\)). In this case, the design variables of the free-form surface structure are the control points. Utilizing the strong convex hull property and local modification scheme of B-spline surfaces to estimate their positions can approximate the structural shape envisioned by the designer. However, accurately controlling specific points on the free-form surface remains a challenge. To address this issue, we propose using the B-spline surface interpolation technique.  
Assuming that given a set of \((n+1)\times(m+1)\) data points \(\{\overline{\mathbf{P}}_{k,l}\}\) (\(k=0,\,1,\,\ldots,\,n\), \(l=0,\,1,\,\ldots,\,m\)), we use the equally spaced method to assign a set of parameter values (\(\overline{u}_{k}\), \(\overline{v}_{l}\)) for each point \(\overline{\mathbf{P}}_{k,l}\) for convenience, as shown in Equation (3):  
\[\overline{u}_{k}=k,\overline{v}_{l}=l(k=0,1,\ldots,n;l=0,1,\ldots,m) \tag{3}\]In order to reflect the distribution of (\(\overline{u}_{k}\), \(\overline{v}_{l}\)), we use the averaging technique of Equation (4) to define the knot vector \(\mathbf{U}\). Likewise, the same method can be applied to define the knot vector \(\mathbf{V}\).  
\[\begin{array}{l}u_{0}=\cdots=u_{p}=0,u_{n+1}=\cdots=u_{n+p+1}=n\\ u_{i+p}=\frac{1}{2}\big{(}\overline{u}_{i-1}+\overline{u}_{i+p}\big{)}=i+\frac{ 1}{2}(p-1),i=1,2,\cdots,n-p\end{array} \tag{4}\]  
Further, we can set up the system of linear equations as shown in Equation (5).  
\[\sum_{i=0}^{n}\sum_{j=0}^{m}N_{i,p}(\overline{u}_{k})N_{jq}(\overline{v}_{l}) \mathbf{P}_{i,j}=\overline{\mathbf{P}}_{k,l} \tag{5}\]  
By solving Equation (5), we can determine the coordinates of the unknown control points \(\{\mathbf{P}_{i,j}\}\). Thus, using Equation (1), the free-form surface interpolating data points \(\{\overline{\mathbf{P}}_{k,l}\}\) are obtained.  
Figure 1 illustrates an example of a B-spline surface interpolant. The surface is a \((2,2)\)th-degree B-spline surface interpolating the set of \(6\times 6\) data points, and the uniformly divided parameter domain mesh is mapped into Euclidean three-dimensional space to obtain a discrete, relatively uniform free-form surface mesh.