Progressive-iterative approximation method
{{Short description|Computer-aided geometric design}}
{{Multiple issues|{{Technical|date=August 2024}}
{{Orphan|date=August 2024}}}}
In mathematics, the progressive-iterative approximation method is an iterative method of data fitting with geometric meanings.{{Cite journal |last1=Lin |first1=Hong-Wei |last2=Bao |first2=Hu-Jun |last3=Wang |first3=Guo-Jin |title=Totally positive bases and progressive iteration approximation |journal=Computers & Mathematics with Applications |date=2005 |volume=50 |issue=3–4 |pages=575–586 |doi=10.1016/j.camwa.2005.01.023 |issn=0898-1221|doi-access=free }} Given a set of data points to be fitted, the method obtains a series of fitting curves (or surfaces) by iteratively updating the control points, and the limit curve (surface) can interpolate or approximate the given data points. It avoids solving a linear system of equations directly and allows flexibility in adding constraints during the iterative process. Therefore, it has been widely used in geometric design and related fields.
The study of the iterative method with geometric meaning can be traced back to the work of scholars such as Dongxu Qi and Carl de Boor in the 1970s. In 1975, Qi et al. developed and proved the "profit and loss" algorithm for uniform cubic B-spline curves,{{Cite journal |last1=Qi |first1=Dongxu |last2=Tian |first2=Zixian |last3=Zhang |first3=Auxin |last4=Feng |first4=Jiabin |year=1975 |title=The method of numeric polish in curve fitting |journal=Acta Math Sinica |volume=18 |issue=3 |pages=173–184}} and in 1979, de Boor independently proposed this algorithm.{{Cite journal |last=Carl |first=de Boor |year=1979 |title=How does Agee's smoothing method work? |journal=Proceedings of the 1979 Army Numerical Analysis and Computers Conference, ARO Report.}} In 2004, Hongwei Lin and coauthors proved that non-uniform cubic B-spline curves and surfaces have the "profit and loss" property.{{Cite journal |last1=Lin |first1=Hongwei |last2=Wang |first2=Guojin |last3=Dong |first3=Chenshi |date=2004 |title=Constructing iterative non-uniform B-spline curve and surface to fit data points |journal=Science in China Series F |volume=47 |issue=3 |pages=315 |doi=10.1360/02yf0529 |s2cid=966980 |issn=1009-2757}} Later, in 2005, Lin et al. proved that the curves and surfaces with normalized and totally positive basis all have this property and named it progressive iterative approximation (PIA). In 2007, Maekawa et al. changed the algebraic distance in PIA to geometric distance and named it geometric interpolation (GI).{{Cite journal |last1=Maekawa |first1=Takashi |last2=Yasunori |first2=Matsumoto |last3=Ken |first3=Namiki |year=2007 |title=Interpolation by geometric algorithm |journal=Computer-Aided Design |volume=39 |issue=4 |pages=313–323|doi=10.1016/j.cad.2006.12.008 }} In 2008, Cheng et al. extended it to subdivision surfaces and named the method progressive interpolation (PI).{{Cite book |last1=Cheng |first1=Fuhua |last2=Fan |first2=Fengtao |last3=Lai |first3=Shuhua |last4=Huang |first4=Conglin |last5=Wang |first5=Jiaxi |last6=Yong |first6=Junhai |title=Advances in Geometric Modeling and Processing |chapter=Progressive Interpolation Using Loop Subdivision Surfaces |series=Lecture Notes in Computer Science |date=2008 |volume=4975 |pages=526–533|doi=10.1007/978-3-540-79246-8_43 |isbn=978-3-540-79245-1 }} Since the iteration steps of the PIA, GI, and PI algorithms are similar and all have geometric meanings, they are collectively referred to as geometric iterative methods (GIM).{{Cite journal |last1=Lin |first1=Hongwei |last2=Maekawa |first2=Takashi |last3=Deng |first3=Chongyang |title=Survey on geometric iterative methods and their applications |journal=Computer-Aided Design |date=2018 |volume=95 |pages=40–51 |doi=10.1016/j.cad.2017.10.002 |issn=0010-4485}}
PIA is now extended to several common curves and surfaces in the geometric design field,{{Cite book |last=Hoschek |first=Josef |url=https://dl.acm.org/doi/abs/10.5555/174506 |title=Fundamentals of computer aided geometric design |date=February 1993 |publisher=A. K. Peters, Ltd. |isbn=978-1-56881-007-2 |location=USA}} including NURBS curves and surfaces,{{Cite journal |last1=Shi |first1=Limin |last2=Wang |first2=Renhong |year=2006 |title=An iterative algorithm of NURBS interpolation and approximation |journal=Journal of Mathematical Research with Applications |volume=26 |issue=4 |pages=735–743}} T-spline surfaces,{{Cite journal |last1=Lin |first1=Hongwei |last2=Zhang |first2=Zhiyu |title=An Efficient Method for Fitting Large Data Sets Using T-Splines |journal=SIAM Journal on Scientific Computing |date=2013 |volume=35 |issue=6 |pages=A3052–A3068 |doi=10.1137/120888569 |bibcode=2013SJSC...35A3052L |issn=1064-8275}} and implicit curves and surfaces.{{Cite journal |last1=Hamza |first1=Yusuf Fatihu |last2=Lin |first2=Hongwei |last3=Li |first3=Zhao |year=2020 |title=Implicit progressive-iterative approximation for curve and surface reconstruction |journal=Computer Aided Geometric Design |volume=77 |pages=101817|doi=10.1016/j.cagd.2020.101817 |arxiv=1909.00551 |s2cid=202540812 }}
Iteration methods
Generally, progressive-iterative approximation (PIA) can be divided into interpolation and approximation schemes. In interpolation algorithms, the number of control points is equal to that of the data points; in approximation algorithms, the number of control points can be less than that of the data points. Specifically, there are some representative iteration methods—such as local-PIA,{{Cite journal |last=Lin |first=Hongwei |date=2010 |title=Local progressive-iterative approximation format for blending curves and patches |journal=Computer Aided Geometric Design |volume=27 |issue=4 |pages=322–339 |doi=10.1016/j.cagd.2010.01.003 |issn=0167-8396}} implicit-PIA, fairing-PIA,{{Cite journal |last1=Jiang |first1=Yini |last2=Lin |first2=Hongwei |last3=Huang |first3=Weixian |date=2023-05-16 |title=Fairing-PIA: progressive-iterative approximation for fairing curve and surface generation |journal=The Visual Computer |volume=40 |issue=3 |pages=1467–1484 |arxiv=2211.11416 |doi=10.1007/s00371-023-02861-7 |issn=0178-2789}} and isogeometric least-squares progressive-iterative approximation (IG-LSPIA)—that are specialized for solving the isogeometric analysis problem.{{Cite journal |last1=Hughes |first1=T. J. R. |last2=Cottrell |first2=J. A. |last3=Bazilevs |first3=Y. |date=2005-10-01 |title=Isogeometric analysis: CAD, finite elements, NURBS, exact geometry and mesh refinement |url=https://www.sciencedirect.com/science/article/pii/S0045782504005171 |journal=Computer Methods in Applied Mechanics and Engineering |volume=194 |issue=39 |pages=4135–4195 |doi=10.1016/j.cma.2004.10.008 |bibcode=2005CMAME.194.4135H |issn=0045-7825}}
= Interpolation scheme: PIA =
[[File:截屏2024-08-10 09.23.08.png|thumb|439x439px|Interpolation scheme of PIA
Top left: The data points and the initial control polygon (Here, the initial control points are taken as the data points). Top right: The initial curve and the difference vectors. Bottom left: New control polygon is generated by adding the difference vectors to the old control points. Bottom right: The new control polygon and new curve (in purple).
]]
In interpolation algorithms of PIA,{{Cite journal |last1=Chen |first1=Jie |last2=Wang |first2=Guo-Jin |date=2011 |title=Progressive iterative approximation for triangular Bézier surfaces |journal=Computer-Aided Design |volume=43 |issue=8 |pages=889–895 |doi=10.1016/j.cad.2011.03.012 |issn=0010-4485}} every data point is used as a control point. To facilitate the description of the PIA iteration format for different forms of curves and surfaces, the following formula is uniformly used:
For example:
- If is a B-spline curve, then is a scalar, is a B-spline basis function, and denotes the control point;
- If is a B-spline patch with control points, then and , where and are B-spline basis functions;
- If is a trivariate B-spline solid with control points, then and , where , , and are B-spline basis functions.{{Cite journal |last1=Lin |first1=Hongwei |last2=Jin |first2=Sinan |last3=Hu |first3=Qianqian |last4=Liu |first4=Zhenbao |date=2015 |title=Constructing B-spline solids from tetrahedral meshes for isogeometric analysis |url=http://dx.doi.org/10.1016/j.cagd.2015.03.013 |journal=Computer Aided Geometric Design |volume=35-36 |pages=109–120 |doi=10.1016/j.cagd.2015.03.013 |issn=0167-8396|url-access=subscription }}
Additionally, this can be applied to NURBS curves and surfaces, T-spline surfaces, and triangular Bernstein–Bézier surfaces.
Given an ordered data set with parameters satisfying
where the initial control points of the initial fitting curve
{{NumBlk|:|
To construct the
i=1,2,\cdots,n
and use them to update the control points by
which leads to the
\mathbf{P}^{(k+1)}(t)=\sum_{i=1}^n\mathbf{P}_i^{(k+1)}B_i(t).
In this way, we obtain a sequence of curves
\mathbf{P}^{(\alpha)}(t),\alpha=0,1,2,\cdots
, which converges to a limit curve that interpolates the give data points, i.e.,
\lim \limits_{\alpha\rightarrow\infty}\mathbf{P}^{(\alpha)}(t_i)=\mathbf{Q}_i, \quad
i=1,2,\cdots,n.
= Approximation scheme: LSPIA =
[[File:截屏2024-08-13 09.51.05.png|thumb|641x641px|Approximation scheme: LSPIA
Top left: Data points
]]
For the B-spline curve and surface fitting problem, Deng and Lin proposed a least-squares progressive–iterative approximation (LSPIA),{{Cite journal |last1=Deng |first1=Chongyang |last2=Lin |first2=Hongwei |date=2014 |title=Progressive and iterative approximation for least squares B-spline curve and surface fitting |journal=Computer-Aided Design |volume=47 |pages=32–44 |doi=10.1016/j.cad.2013.08.012 |issn=0010-4485}} which allows the number of control points to be less than the number of the data points and is more suitable for large-scale data fitting problems.
Assume there exists
\mathbf{P}^{(k)}(t)=\sum_{j=1}^n\mathbf{P}_j^{(k)}B_j(t).
To generate the
\boldsymbol{\delta}^{(k)}_i=\mathbf{Q}_i-\mathbf{P}^{(k)}(t_i), \quad
i=1,2,\cdots,m
and then the difference vectors for the control points
\sum_{i \in I_j}{c_i B_j(t_i) \boldsymbol{\delta}_i^{(k)}}}{\sum_{i \in I_j}c_i B_j(t_i)}, \quad
j = 1,2,\cdots,n
where
Finally, the control points of the
= Local-PIA =
File:截屏2024-08-13 13.45.43.png
In the local-PIA method, the control points are divided into active and fixed control points, whose subscripts are denoted as
\mathbf{P}_j^{(k)}=\mathbf{P}_j^{(0)},\quad j\in J,\quad k=0,1,2,\cdots.
Then, on the one hand, the iterative formula of the difference vector
\mathbf{\Delta}_h^{(k+1)}&=\mathbf{Q}_h-\sum_{j=1}^n\mathbf{P}_j^{(k+1)}B_j(t_h)\\
&=\mathbf{Q}_h-\sum_{j\in J}\mathbf{P}_j^{(k+1)}B_j(t_h)-\sum_{i\in I}\left(\mathbf{P}_i^{(k)}+\mathbf{\Delta}_i^{(k)}\right)B_i(t_h)\\
&=\mathbf{Q}_h-\sum_{j=1}^n\mathbf{P}_j^{(k)}B_j(t_h)-\sum_{i\in I}\mathbf{\Delta}_i^{(k)}B_i(t_h)\\
&=\mathbf{\Delta}_h^{(k)}-\sum_{i\in I}\mathbf{\Delta}_i^{(k)}B_i(t_h), \quad h\in J.
\end{aligned}
On the other hand, the iterative formula of the difference vector
\begin{aligned}
\mathbf{\Delta}_l^{(k+1)}&=\mathbf{Q}_l-\sum_{j=1}^n\mathbf{P}_j^{(k+1)}B_j(t_l)\\
&=\mathbf{Q}_l-\sum_{j=1}^n\mathbf{P}_j^{(k)}B_j(t_l)-\sum_{i\in I}\mathbf{\Delta}_i^{(k)}B_i(t_l)\\
&=\mathbf{\Delta}_l^{(k)}-\sum_{i\in I}\mathbf{\Delta}_i^{(k)}B_i(t_l)\\
&=-\mathbf{\Delta}_{i_1}^{(k)}B_{i_1}(t_l)-\mathbf{\Delta}_{i_2}^{(k)}B_{i_2}(t_l)-\cdots+\left(1-B_l(t_l)\right)\mathbf{\Delta}_l ^{(k)}-\cdots-\mathbf{\Delta}_{i_I}^{(k)}B_{i_I}(t_l),\quad l\in I.
\end{aligned}
Arranging the above difference vectors into a one-dimensional sequence,
\mathbf{D}^{(k+1)}=\left[\mathbf{\Delta}_{j_1}^{(k+1)} ,\mathbf{\Delta}_{j_2}^{(k+1)},\cdots,\mathbf{\Delta}_{j_J}^{(k+1)},\mathbf{\Delta}_{i_1}^{(k+1)},\mathbf{\Delta}_{i_2}^{(k+1)},\cdots,\mathbf{\Delta}_{i_I}^{(k+1)}\right]^T,\quad k=0,1,2,\cdots,
the local iteration format in matrix form is,
\mathbf{D}^{(k+1)}=\mathbf{T}\mathbf{D}^{(k)},\quad k=0,1,2,\cdots,
where
\mathbf{T}=
\begin{bmatrix}
\mathbf{E}_J & -\mathbf{B}_1\\
0 & \mathbf{E}_I-\mathbf{B}_2
\end{bmatrix},
where
\mathbf{B}_1=
\begin{bmatrix}
B_{i_1}\left(t_{j_1} \right) & B_{i_2}\left(t_{j_1} \right) & \cdots &B_{i_I}\left(t_{j_1} \right) \\
B_{i_1}\left(t_{j_2} \right) & B_{i_2}\left(t_{j_2} \right) & \cdots &B_{i_I}\left(t_{j_2} \right) \\
\vdots & \vdots &\vdots & \vdots \\
B_{i_1}\left(t_{j_J} \right) & B_{i_2}\left(t_{j_J} \right) & \cdots &B_{i_I}\left(t_{j_J} \right) \\
\end{bmatrix},
\mathbf{B}_2=
\begin{bmatrix}
B_{i_1}\left(t_{i_1} \right) & B_{i_2}\left(t_{i_1} \right) & \cdots &B_{i_I}\left(t_{i_1} \right) \\
B_{i_1}\left(t_{i_2} \right) & B_{i_2}\left(t_{i_2} \right) & \cdots &B_{i_I}\left(t_{i_2} \right) \\
\vdots & \vdots &\vdots & \vdots \\
B_{i_1}\left(t_{i_I} \right) & B_{i_2}\left(t_{i_I} \right) & \cdots &B_{i_I}\left(t_{i_I} \right) \\
\end{bmatrix}.
The above local iteration format converges and can be extended to blending surfaces and subdivision surfaces.{{Cite journal |last1=Zhao |first1=Yu |last2=Lin |first2=Hongwei |last3=Bao |first3=Hujun |date=2012 |title=Local progressive interpolation for subdivision surface fitting |journal=Journal of Computer Research and Development |volume=49 |issue=8 |pages=1699–1707}}
= Implicit-PIA =
The PIA format for implicit curve and surface reconstruction is presented in the following. Given an ordered point cloud
\mathbf{Q}_l=\mathbf{Q}_i+\sigma\mathbf{n}_i,\quad l=n+i,\quad i=1,2,\cdots,n.
Assume that
f\left(\mathbf{Q}_l\right)=\epsilon,\quad l=n+1,n+2,\cdots,2n.
Let the implicit curve after the
f^{(\alpha)}(x,y)=\sum_{i=1}^{N_u}\sum_{j=1}^{N_v}C_{ij}^{(\alpha)}B_i(x)B_j(y),
where
Define the difference vector of data points as
\begin{aligned}
\boldsymbol{\delta}_k^{(\alpha)}&=0-f^{(\alpha)}(x_k,y_k),\quad k=1,2,\cdots,n,\\
\boldsymbol{\delta}_l^{(\alpha)}&=\epsilon-f^{(\alpha)}(x_l,y_l),\quad l=n+1,n+2,\cdots, 2n.
\end{aligned}
Next, calculate the difference vector of control coefficients
\boldsymbol{\Delta}_{ij}^{(\alpha)}=\mu\sum_{k=1}^{2n} B_i(x_k)B_j(y_k) \boldsymbol{\delta}_k^{(\alpha)},\quad i=1,2,\cdots,N_u,\quad j=1,2,\cdots,N_v,
where
C_{ij}^{(\alpha+1)}=C_{ij}^{(\alpha)}+\boldsymbol{\Delta}_{ij}^{(\alpha)},
leading to the new algebraic B-spline curve
f^{(\alpha+1)}(x,y)=\sum_{i=1}^{N_u}\sum_{j=1}^{N_v}C_{ij}^{(\alpha+1)}B_i(x)B_j(y).
The above procedure is carried out iteratively to generate a sequence of algebraic B-spline functions
Assume that the implicit surface generated after the
f^{(\alpha)}(x,y,z)=\sum_{i=1}^{N_u}\sum_{j=1}^{N_v}\sum_{k=1}^{N_w}C_{ijk}^{(\alpha)}B_i(x)B_j(y)B_k(z),
the iteration format is similar to that of the curve case.{{Cite journal |last1=Liu |first1=Shengjun |last2=Liu |first2=Tao |last3=Hu |first3=Ling |last4=Shang |first4=Yuanyuan |last5=Liu |first5=Xinru |date=2021-09-01 |title=Variational progressive-iterative approximation for RBF-based surface reconstruction |url=https://doi.org/10.1007/s00371-021-02213-3 |journal=The Visual Computer |language=en |volume=37 |issue=9 |pages=2485–2497 |doi=10.1007/s00371-021-02213-3 |issn=1432-2315|url-access=subscription }}
= Fairing-PIA =
To develop fairing-PIA, we first define the functionals as follows:
\mathcal{F}_{r,j}(f) = \int_{t_1}^{t_m}B_{r,j}(t)fdt,\quad j=1,2,\cdots,n,\quad r=1,2,3,
where
Let the curve after the
\mathbf{P}^{[k]}(t)=\sum_{j=1}^nB_j(t)\mathbf{P}_j^{[k]},\quad t\in[t_1,t_m].
To construct the new curve
\mathbf{d}_i^{[k]} = \mathbf{Q}_i - \mathbf{P}^{[k]}(t_i),\quad i=1,2,\cdots,m.
Then, the fitting difference vectors and the fairing vectors for control points are calculated by
\begin{align}
\boldsymbol{\delta}_j^{[k]} &= \sum_{h\in I_j}B_j(t_h)\mathbf{d}_h^{[k]},\quad j=1,2,\cdots,n \\
\boldsymbol{\eta}_{j}^{[k]} &= \sum_{l=1}^n \mathcal{F}_{r,l}\left(B_{r,j}(t)\right)\mathbf{P}_l^{[k]},\quad j=1,2,\cdots,n \\
\end{align}
Finally, the control points of the
\mathbf{P}_j^{[k+1]} = \mathbf{P}_j^{[k]} + \mu_j
\left[
\left(1-\omega_j\right)\boldsymbol{\delta}_j^{[k]} - \omega_j\boldsymbol{\eta}_{j}^{[k]}
\right],\quad j=1,2,\cdots,n,
where
\mathbf{P}^{[k+1]}(t)=\sum_{j=1}^nB_j(t)\mathbf{P}_j^{[k+1]},\quad t\in[t_1,t_m].
In this way, we obtain a sequence of curves
= IG-LSPIA =
Isogeometric least-squares progressive-iterative approximation (IG-LSPIA).{{Cite journal |last1=Jiang |first1=Yini |last2=Lin |first2=Hongwei |date=2023-02-10 |title=IG-LSPIA: Least Squares Progressive Iterative Approximation for Isogeometric Collocation Method |journal=Mathematics |volume=11 |issue=4 |pages=898 |doi=10.3390/math11040898 |issn=2227-7390 |doi-access=free }} Given a boundary value problem
\left\{
\begin{aligned}
\mathcal{L}u=f,&\quad \text{in}\;\Omega,\\
\mathcal{G}u=g,&\quad \text{on}\;\partial\Omega,
\end{aligned}
\right.
where
\begin{aligned}
u_h\left(\hat{\tau}\right) &= \sum_{j=1}^nR_{j}(\hat\tau )u_j,\\
G({\hat \tau }) &= \sum_{j=1}^nR_{j}(\hat\tau )P_j,
\end{aligned}
where
\left\{
\begin{aligned}
\mathcal{L}u_{h}(\hat\tau_{i})=f(G(\hat\tau_{i})),&\quad i\in\mathcal{I_L},\\
\mathcal{G}u_{h}(\hat\tau_{j})=g(G(\hat\tau_{j})),&\quad j\in\mathcal{I_G},
\end{aligned}
\right.
where
Arranging the control coefficients
\mathbf{AU}=\mathbf{b}
where
Assume that the discretized load values are data points
U^{(0)}(\hat\tau) = \sum_{j=1}^nA_j(\hat\tau)u_j^{(0)},\quad\hat\tau\in[\hat\tau_1,\hat\tau_m],
where
A_j(\hat\tau) = \left\{
\begin{aligned}
\mathcal{L}R_j(\hat\tau), &\quad \hat{\tau}\ \text{in}\ \Omega_p^{in},\\
\mathcal{G}R_j(\hat\tau), &\quad \hat{\tau}\ \text{in}\ \Omega_p^{bd}, \quad j=1,2,\cdots,n,
\end{aligned}
\right.
where
u_{j}^{(k)}=u_{j}^{*},\quad j\in J_{bd},\quad k=0,1,2,\cdots.
The
U^{(k)}(\hat\tau) = \sum_{j=1}^nA_j(\hat\tau)u_j^{(k)},\quad\hat\tau\in[\hat\tau_1,\hat\tau_m].
Then, the difference vectors for collocation points (DCP) in the
\begin{align}
\boldsymbol{\delta}_i^{(k)}
&= b_i-\sum_{j=1}^{n}A_j(\hat\tau_i)u_j^{(k)}\\
&= b_i-\sum_{j\in J_{bd}}A_j(\hat\tau_i)u_j^{(k)}
-\sum_{j\in J_{in}}A_j(\hat\tau_i)u_j^{(k)}
,\quad i=1,2,...,m.
\end{align}
Moreover, group all load values whose parameters fall in the local support of the
d_j^{(k)}=\mu\sum_{h\in I_j}A_j(\hat\tau_h)\boldsymbol{\delta}_h^{(k)},\quad j=1,2,...,n,
where
Thus, the new control coefficients are updated via the following formula,
u_j^{(k+1)}=u_j^{(k)}+d_j^{(k)},\quad j=1,2,...,n,
Consequently, the
U^{(k+1)}(\hat\tau) = \sum_{j=1}^nA_j(\hat\tau)u_j^{(k+1)}.
The above iteration process is performed until the desired fitting precision is reached and a sequence of blending functions is obtained
\left \{ U^{(k)}(\hat\tau),k=0,1,\dots \right \}.
The IG-LSPIA converges to the solution of a constrained least-squares collocation problem.
Proof of convergence
= Non-singular case =
Let {{Mvar|n}} be the number of control points and {{Mvar|m}} be the number of data points.
If
\begin{align}
\mathbf{P^{(\alpha+1)}} &=\mathbf{P^{(\alpha)}}+\mathbf{\Delta}^{(\alpha)} \\
&=\mathbf{P}^{(\alpha)}+\mathbf{Q}-\mathbf{B}\mathbf{P}^{(\alpha)} \\
&=\left(\mathbf{I}-\mathbf{B}\right)\mathbf{P}^{(\alpha)}+\mathbf{Q}
\end{align}
where
\begin{align}
\mathbf{Q} &= \left[\mathbf{Q}_1,\mathbf{Q}_2,\cdots,\mathbf{Q}_m\right]^T \\
\mathbf{P^{(\alpha)}} &= \left[\mathbf{P}_1^{(\alpha)},\mathbf{P}_2^{(\alpha)},\cdots,\mathbf{P}_n^{(\alpha)}\right]^T \\
\mathbf{\Delta}^{(\alpha)} &= \left[\mathbf{\Delta}_1^{(\alpha)},\mathbf{\Delta}^{(\alpha)}_2,\cdots,\mathbf{\Delta}^{(\alpha)}_n\right]^T \\
\mathbf{B} &= \begin{bmatrix}
B_1(t_1) & B_2(t_1) &\cdots &B_n(t_1)\\
B_1(t_2) & B_2(t_2) &\cdots &B_n(t_2)\\
\vdots & \vdots &\ddots & \vdots \\
B_1(t_m) & B_2(t_m) &\cdots &B_n(t_m)\\
\end{bmatrix}.
\end{align}
The convergence of the PIA is related to the properties of the collocation matrix. If the spectral radius of the iteration matrix
If
\begin{align}
\mathbf{P^{(\alpha+1)}}&=\mathbf{P^{(\alpha)}}+\mu\mathbf{B}^T\mathbf{\Delta}^{(\alpha)} \\
&=\mathbf{P}^{(\alpha)}+\mu\mathbf{B}^T\left(\mathbf{Q}-\mathbf{B}\mathbf{P}^{(\alpha)}\right) \\
&=\left(\mathbf{I}-\mu\mathbf{B}^T\mathbf{B}\right)\mathbf{P}^{(\alpha)}+\mu\mathbf{B}^T\mathbf{Q}.
\end{align}
When the matrix
{{Math theorem |If
Proof Since
\lambda(\mu\mathbf{B}^T\mathbf{B}) =\mu\lambda(\mathbf{B}^T\mathbf{B})<2\frac{\lambda(\mathbf{B}^T\mathbf{B})}{\lambda_0}<2.
In summary,
{{Math theorem |If
Proof From the matrix form of iterative format, we obtain the following:
\begin{align}
\mathbf{P^{(\alpha+1)}}&=\left(\mathbf{I}-\mu\mathbf{B}^T\mathbf{B}\right)\mathbf{P}^{(\alpha)}+\mu\mathbf{B}^T\mathbf{Q},\\
&=\left(\mathbf{I}-\mu\mathbf{B}^T\mathbf{B}\right)\left[\left(\mathbf{I}-\mu\mathbf{B}^T\mathbf{B}\right)\mathbf{P}^{(\alpha-1)}+\mu\mathbf{B}^T\mathbf{Q}\right]+\mu\mathbf{B}^T\mathbf{Q},\\
&=\left(\mathbf{I}-\mu\mathbf{B}^T\mathbf{B}\right)^2\mathbf{P}^{(\alpha-1)}+\sum_{i=0}^1\left( \mathbf{I}-\mu\mathbf{B}^T\mathbf{B}\right)\mu\mathbf{B}^T\mathbf{Q},\\
&=\cdots\\
&=\left(\mathbf{I}-\mu\mathbf{B}^T\mathbf{B}\right)^{\alpha+1}\mathbf{P}^{(0)}+\sum_{i=0}^{\alpha}\left( \mathbf{I}-\mu\mathbf{B}^T\mathbf{B}\right)^{\alpha}\mu\mathbf{B}^T\mathbf{Q}.\\
\end{align}
According to above Lemma, the spectral radius of the matrix
0<\rho\left({\mu\mathbf{B}^T\mathbf{B}}\right)<2
and thus the spectral radius of the iteration matrix satisfies
0<\rho\left({\mathbf{I}-\mu\mathbf{B}^T\mathbf{B}}\right)<1.
When
\left(\mathbf{I}-\mu\mathbf{B}^T\mathbf{B}\right)^{\infty}=0,\ \sum_{i=0}^{\infty}\left( \mathbf{I}-\mu\mathbf{B}^T\mathbf{B}\right)^{\alpha}=\frac{1}{\mu}\left(\mathbf{B}^T\mathbf{B}\right)^{-1}.
As a result,
i.e.,
= Singular case =
Lin et al. showed that LSPIA converges even when the iteration matrix is singular.{{Cite journal |last1=Lin |first1=Hongwei |last2=Cao |first2=Qi |last3=Zhang |first3=Xiaoting |title=The Convergence of Least-Squares Progressive Iterative Approximation for Singular Least-Squares Fitting System |journal=Journal of Systems Science and Complexity |date=2018 |volume=31 |issue=6 |pages=1618–1632 |doi=10.1007/s11424-018-7443-y |s2cid=255157830 |issn=1009-6124}}
Acceleration algorithms and others
- Precondition: Liu et al. proposed a preconditioned PIA for Bézier surfaces via the diagonally compensated reduction method, effectively improving the accuracy and efficiency of the classical algorithm.{{Cite journal |last1=Liu |first1=Chengzhi |last2=Han |first2=Xuli |last3=Li |first3=Juncheng |date=2020 |title=Preconditioned progressive iterative approximation for triangular Bézier patches and its application |journal=Journal of Computational and Applied Mathematics |volume=366 |pages=112389 |doi=10.1016/j.cam.2019.112389 |issn=0377-0427 |s2cid=202942809|doi-access=free }}
- Iteration matrix inverse approximation: Sajavičius improved the LSPIA based on the matrix approximate inverse method. In each iteration step, the approximate inverse of the coefficient matrix of the least-squares fitting problem is first computed and then used as the weight to adjust the control points.{{Cite journal |last=Sajavičius |first=Svajūnas |date=2023 |title=Hyperpower least squares progressive iterative approximation |journal=Journal of Computational and Applied Mathematics |volume=422 |pages=114888 |doi=10.1016/j.cam.2022.114888 |issn=0377-0427 |s2cid=252965212}}
- Optimal weight: Lu initially presented a weighted progressive-iterative approximation (WPIA) that introduces the optimal weight of difference vectors for control points to accelerate the convergence.{{Cite journal |last=Lu |first=Lizheng |title=Weighted progressive iteration approximation and convergence analysis |journal=Computer Aided Geometric Design |date=2010 |volume=27 |issue=2 |pages=129–137 |doi=10.1016/j.cagd.2009.11.001 |issn=0167-8396}} Moreover, Zhang et al. proposed a weighted local PIA format for tensor Bézier surfaces.{{Cite journal |last=Zhang |first=Li |date=2014-05-01 |title=Weighted Local Progressive Iterative Approximation for Tensor-product B\'{e}zier Surfaces |journal=Journal of Information and Computational Science |volume=11 |issue=7 |pages=2117–2124 |doi=10.12733/jics20103359 |issn=1548-7741}} Li et al. assigned initial weights to each data point, and the weights of the interpolated points are determined adaptively during the iterative process.{{Cite journal |last1=Li |first1=Shasha |last2=Xu |first2=Huixia |last3=Deng |first3=Chongyang |year=2019 |title=Data-weighted least square progressive and iterative approximation and related B-Spline curve fitting |journal=Journal of Computer-Aided Design & Computer Graphics |volume=31 |issue=9 |pages=1574–1580}}
- Acceleration with memory: In 2020, Huang et al. proposed a PIA method with memory for least square fitting (MLSPIA), which has a similar format to the momentum method. MLSPIA generates a series of fitting curves with three weights by iteratively adjusting the control points. With appropriate parameter selection, these curves converge to the least squares fit results for a given data point and are more efficient than LSPIA.{{Cite journal |last1=Huang |first1=Zheng-Da |last2=Wang |first2=Hui-Di |date=2020 |title=On a progressive and iterative approximation method with memory for least square fitting |journal=Computer Aided Geometric Design |volume=82 |pages=101931 |arxiv=1908.06417 |doi=10.1016/j.cagd.2020.101931 |issn=0167-8396 |s2cid=201070122}}
- Stochastic descent strategy: Rios and Jüttle explored the relationship between LSPIA and gradient descent method and proposed a stochastic LSPIA algorithm with parameter correction.{{Cite journal |last1=Rios |first1=Dany |last2=Jüttler |first2=Bert |date=2022 |title=LSPIA, (stochastic) gradient descent, and parameter correction |journal=Journal of Computational and Applied Mathematics |volume=406 |pages=113921 |doi=10.1016/j.cam.2021.113921 |issn=0377-0427 |s2cid=244018717}}
Applications
Since PIA has obvious geometric meaning, constraints can be easily integrated in the iterations. Currently, PIA has been widely applied in many fields, such as data fitting, reverse engineering, geometric design, mesh generation, data compression, fairing curve and surface generation, and isogeometric analysis.
= Data fitting =
- Adaptive data fitting: The control points are divided into active control points and fixed control points. In each round of iteration, if the fitting error of a data point reaches a given precision, its corresponding control point is fixed and not updated. This iterative process is repeated until all control points are fixed. The algorithm performs well on large-scale data fitting by adaptively reducing the number of active control points.{{Cite journal |last=Lin |first=Hongwei |date=2012 |title=Adaptive data fitting by the progressive-iterative approximation |journal=Computer Aided Geometric Design |volume=29 |issue=7 |pages=463–473 |doi=10.1016/j.cagd.2012.03.005 |issn=0167-8396}}
- Large-scale data fitting: By combining T-spline with PIA, an incremental fitting algorithm suitable for fitting large-scale data sets is proposed. During the incremental iteration, each new round of iterations reuses information from the last round of iterations to save computation. While the convergence speed of the traditional point-by-point iterative algorithm decreases as the number of control points increases, in PIA the computation of each iteration step is unrelated to the number of control points; this gives PIA a powerful capability for data fitting.
- Local fitting: Based on the local property of PIA, a series of local PIA formats have been proposed.{{Cite journal |last1=Zhao |first1=Yu |last2=Lin |first2=Hongwei |last3=Bao |first3=Hujun |year=2012 |title=Local progressive interpolation for subdivision surface fitting |journal=Computer Research and Development |volume=49 |issue=8 |pages=1699–1707}}
= Implicit reconstruction =
= Offset curve approximation =
Firstly, the data points are sampled on the original curve. Then, the initial polynomial approximation curve or rational approximation curve of the offset curve is generated from these sampled points. Finally, the offset curve is approximated iteratively using the PIA method.{{Cite journal |last1=Zhang |first1=Li |last2=Wang |first2=Huan |last3=Li |first3=Yuanyuan |last4=Tan |first4=Jieqing |year=2014 |title=A progressive iterative approximation method in offset approximation |journal=Journal of Computer Aided Design and Computer Graphics |volume=26 |issue=10 |pages=1646–1653}}
= Mesh generation =
Given a triangular mesh model as input, the algorithm first constructs the initial hexahedral mesh, then extracts the quadrilateral mesh of the surface as the initial boundary mesh. During the iterations, the movement of each mesh vertex is constrained to ensure the validity of the mesh. Finally, the hexahedral model is fitted to the given input model. The algorithm can guarantee the validity of the generated hexahedral mesh, i.e., the Jacobi value at each mesh vertex is greater than zero.{{Cite journal |last1=Lin |first1=Hongwei |last2=Jin |first2=Sinan |last3=Liao |first3=Hongwei |last4=Jian |first4=Qun |year=2015 |title=Quality guaranteed all-hex mesh generation by a constrained volume iterative fitting algorithm |journal=Computer-Aided Design |volume=67-68 |pages=107–117 |doi=10.1016/j.cad.2015.05.004 |issn=0010-4485}}
= Data compression =
First, the image data are converted into a one-dimensional sequence by Hilbert scan. Then, these data points are fitted by LSPIA to generate a Hilbert curve. Finally, the Hilbert curve is sampled, and the compressed image can be reconstructed. This method can well preserve the neighborhood information of pixels.{{Cite journal |last1=Hu |first1=Lijuan |last2=Yi |first2=Yeqing |last3=Liu |first3=Chengzhi |last4=Li |first4=Juncheng |year=2020 |title=Iterative method for image compression by using LSPIA |journal=IAENG International Journal of Computer Science |volume=47 |issue=4 |pages=1–7}}
= Fairing curve and surface generation =
Given a data point set, we first define the fairing functional, and calculate the fitting difference vector and the fairing vector of the control point; then, adjust the control points with fairing weights. According to the above steps, the fairing curve and surface can be generated iteratively. Due to the sufficient fairing parameters, the method can achieve global or local fairing. It is also flexible to adjust knot vectors, fairing weights, or data parameterization after each round of iteration. The traditional energy-minimization method is a special case of this method, i.e., when the smooth weights are all the same.
= Isogeometric analysis =
The discretized load values are regarded as the set of data points, and the combination of the basis functions and their derivative functions is used as the blending function for fitting. The method automatically adjusts the degrees of freedom of the numerical solution of the partial differential equation according to the fitting result of the blending function to the load values. In addition, the average iteration time per step is only related to the number of data points (i.e., collocation points) and unrelated to the number of control coefficients.
References
- {{Creative Commons text attribution notice|cc=by4|url=https://www.mdpi.com/2227-7390/11/4/898 |author(s)=zju_cagd}}
{{reflist}}
{{Improve categories|date=August 2024}}
Category:Computer-aided design