Articulo de referencia

Método de aproximación iterativa progresiva

En matemáticas, el método de aproximación iterativa progresiva es un método iterativo de ajuste de datos con significado geométrico. [ 1 ] Dado un conjunto de puntos de datos a ...

En matemáticas, el método de aproximación iterativa progresiva es un método iterativo de ajuste de datos con significado geométrico. [ 1 ] Dado un conjunto de puntos de datos a ajustar, el método obtiene una serie de curvas (o superficies) de ajuste actualizando iterativamente los puntos de control, y la curva (superficie) límite puede interpolar o aproximar los puntos de datos dados. [ 2 ] Evita resolver directamente un sistema de ecuaciones lineales y permite flexibilidad para agregar restricciones durante el proceso iterativo. [ 3 ] Por lo tanto, se ha utilizado ampliamente en el diseño geométrico y campos relacionados. [ 2 ]

El estudio del método iterativo con significado geométrico se remonta al trabajo de académicos como Dongxu Qi y Carl de Boor en la década de 1970. [ 4 ] [ 5 ] En 1975, Qi et al. desarrollaron y demostraron el algoritmo de "ganancia y pérdida" para curvas B-spline cúbicas uniformes, [ 4 ] y en 1979, de Boor propuso este algoritmo de forma independiente. [ 5 ] En 2004, Hongwei Lin y coautores demostraron que las curvas y superficies B-spline cúbicas no uniformes tienen la propiedad de "ganancia y pérdida". [ 3 ] Posteriormente, en 2005, Lin et al. demostraron que las curvas y superficies con base normalizada y totalmente positiva tienen esta propiedad y la denominaron aproximación iterativa progresiva (PIA). [ 1 ] En 2007, Maekawa et al. cambiaron la distancia algebraica en PIA por distancia geométrica y la denominaron interpolación geométrica (GI). [ 6 ] En 2008, Cheng et al. lo extendieron a superficies de subdivisión y denominaron al método interpolación progresiva (PI). [ 7 ] Dado que los pasos de iteración de los algoritmos PIA, GI y PI son similares y todos tienen significados geométricos, se les denomina colectivamente métodos iterativos geométricos (GIM). [ 2 ]

PIA ahora se extiende a varias curvas y superficies comunes en el campo del diseño geométrico , [ 8 ] incluyendo curvas y superficies NURBS , [ 9 ] superficies T-spline , [ 10 ] y curvas y superficies implícitas . [ 11 ]

Métodos de iteración

En general, la aproximación iterativa progresiva (PIA) se puede dividir en esquemas de interpolación y aproximación. [ 2 ] En los algoritmos de interpolación, el número de puntos de control es igual al de los puntos de datos; en los algoritmos de aproximación, el número de puntos de control puede ser menor que el de los puntos de datos. Específicamente, existen algunos métodos iterativos representativos, como la PIA local, [ 12 ] la PIA implícita, [ 11 ] la PIA de suavizado, [ 13 ] y la aproximación iterativa progresiva de mínimos cuadrados isogeométricos (IG-LSPIA) [ 14 ] , que se especializan en resolver el problema del análisis isogeométrico . [ 15 ]

Esquema de interpolación: PIA

Esquema de interpolación de PIA. Arriba a la izquierda: Los puntos de datos y el polígono de control inicial (en este caso, los puntos de control iniciales se consideran los puntos de datos). Arriba a la derecha: La curva inicial y los vectores de diferencia. Abajo a la izquierda: Se genera un nuevo polígono de control sumando los vectores de diferencia a los puntos de control anteriores. Abajo a la derecha: El nuevo polígono de control y la nueva curva (en color púrpura).

En los algoritmos de interpolación de PIA, [ 1 ] [ 3 ] [ 9 ] [ 16 ] cada punto de datos se utiliza como punto de control. Para facilitar la descripción del formato de iteración de PIA para diferentes formas de curvas y superficies, se utiliza uniformemente la siguiente fórmula: PAG(t)=i=1nortePAGiBi(t).{\displaystyle \mathbf {P} (\mathbf {t} )=\sum _{i=1}^{n}\mathbf {P} _{i}B_{i}(\mathbf {t} ).} Por ejemplo:

  • SiPAG(t){\displaystyle \mathbf {P} (\mathbf {t} )}es una curva B-spline, entoncest{\displaystyle \mathbf {t} }es un escalar,Bi(t){\displaystyle B_{i}(t)}es una función base B-spline, yPAGi{\displaystyle \mathbf {P} _{i}}denota el punto de control; [ 8 ]
  • SiPAG(t){\displaystyle \mathbf {P} (\mathbf {t} )}es un parche B-spline connorte×nortev{\displaystyle n_{u}\times n_{v}}puntos de control, entoncest=(,v){\displaystyle \mathbf {t} =(u,v)}yBi(t)=nortei()nortei(v){\displaystyle B_{i}(\mathbf {t} )=N_{i}(u)N_{i}(v)}, dóndenortei(){\displaystyle N_{i}(u)}ynortei(v){\displaystyle N_{i}(v)}son funciones base B-spline; [ 8 ]
  • SiPAG(t){\displaystyle \mathbf {P} (\mathbf {t} )}es un sólido B-spline trivariado connorte×nortev×nortew{\displaystyle n_{u}\times n_{v}\times n_{w}}puntos de control, entoncest=(,v,w){\displaystyle \mathbf {t} =(u,v,w)}yBi(t)=nortei()nortei(v)nortei(w){\displaystyle B_{i}(\mathbf {t} )=N_{i}(u)N_{i}(v)N_{i}(w)}, dóndenortei(){\displaystyle N_{i}(u)},nortei(v){\displaystyle N_{i}(v)}, ynortei(w){\displaystyle N_{i}(w)}son funciones base B-spline. [ 17 ]

Además, esto se puede aplicar a curvas y superficies NURBS, superficies T-spline y superficies triangulares de Bernstein-Bézier. [ 18 ]

Dado un conjunto de datos ordenadoQi{\displaystyle \mathbf {Q} _ {i}}con parámetrosti{\displaystyle t_{i}}satisfactoriot1<t2<{\displaystyle t_{1}<t_{2}<\cdots }parai=1,2,,norte{\displaystyle i=1,2,\cdots ,n}, la curva de ajuste inicial es: [ 1 ]PAG(0)(t)=i=1nortePAGi(0)Bi(t){\displaystyle \mathbf {P} ^{(0)}(t)=\sum _{i=1}^{n}\mathbf {P} _{i}^{(0)}B_{i}(t)} donde los puntos de control iniciales de la curva de ajuste inicialPAGi(0){\displaystyle \mathbf {P} _{i}^{(0)}}puede ser seleccionado aleatoriamente. Supongamos que después de lak{\displaystyle k}iteración, lak{\displaystyle k}la curva de ajustePAG(k)(t){\displaystyle \mathbf {P} ^{(k)}(t)}es generado por

Para construir el(k+1){\displaystyle (k+1)}curva st, primero calculamos los vectores de diferencia , Δi(k)=QiPAG(k)(ti),i=1,2,,norte{\displaystyle \mathbf {\Delta } _{i}^{(k)}=\mathbf {Q} _{i}-\mathbf {P} ^{(k)}(t_{i}),\quad i=1,2,\cdots ,n} y utilizarlos para actualizar los puntos de control mediante PAGi(k+1)=PAGi(k)+Δi(k){\displaystyle \mathbf {P} _{i}^{(k+1)}=\mathbf {P} _{i}^{(k)}+\mathbf {\Delta } _{i}^{(k)}} lo que lleva a la(k+1){\displaystyle (k+1)}curva de ajuste st: PAG(k+1)(t)=i=1nortePAGi(k+1)Bi(t).{\displaystyle \mathbf {P} ^{(k+1)}(t)=\sum _{i=1}^{n}\mathbf {P} _{i}^{(k+1)}B_{i}(t).} De esta forma, obtenemos una secuencia de curvasPAG(α)(t),α=0,1,2,{\textstyle \mathbf {P} ^{(\alpha )}(t),\alpha =0,1,2,\cdots }, que converge a una curva límite que interpola los puntos de datos dados, [ 1 ] [ 9 ] es decir, límiteαPAG(α)(ti)=Qi,i=1,2,,norte.{\displaystyle \lim \limits _{\alpha \rightarrow \infty }\mathbf {P} ^{(\alpha )}(t_{i})=\mathbf {Q} _{i},\quad i=1,2,\cdots ,n.}

Esquema de aproximación: LSPIA

Esquema de aproximación: LSPIA Arriba a la izquierda: Puntos de datosQi{\displaystyle \mathbf {Q} _ {i}}(círculos azules), polígono de control inicial (líneas verdes) construido a partir de un subconjunto deQ{\displaystyle \mathbf {Q} }y curva de ajuste inicialPAG(0)(t){\displaystyle \mathbf {P} ^{(0)}(t)}Arriba a la derecha: Vectores de diferenciaδi(k){\displaystyle {\boldsymbol {\delta }}_{i}^{(k)}}para puntos de datos y vectores de diferenciaΔj(k){\displaystyle \mathbf {\Delta } _ {j}^{(k)}}para puntos de control. Abajo: Se genera un nuevo polígono de control (líneas moradas) añadiendoΔj(k){\displaystyle \mathbf {\Delta } _ {j}^{(k)}}a los puntos de control antiguos; luego crea la siguiente curva de ajustePAG(1)(t){\displaystyle \mathbf {P} ^{(1)}(t)}(curva morada).

Para el problema de ajuste de curvas y superficies B-spline, Deng y Lin propusieron una aproximación iterativa progresiva de mínimos cuadrados (LSPIA), [ 10 ] [ 19 ] que permite que el número de puntos de control sea menor que el número de puntos de datos y es más adecuada para problemas de ajuste de datos a gran escala. [ 10 ]

Supongamos que existemetro{\displaystyle m}puntos de datos ynorte{\displaystyle n}puntos de control, dondenortemetro{\displaystyle n\leq m}. Comencemos con la ecuación ( 1 ), que da elk{\displaystyle k}la curva de ajuste como PAG(k)(t)=j=1nortePAGj(k)Bj(t).{\displaystyle \mathbf {P} ^{(k)}(t)=\sum _{j=1}^{n}\mathbf {P} _{j}^{(k)}B_{j}(t).} Para generar el(k+1){\displaystyle (k+1)}curva de ajuste, primero calcule los vectores de diferencia para los puntos de datos [ 10 ] [ 19 ]δi(k)=QiPAG(k)(ti),i=1,2,,metro{\displaystyle {\boldsymbol {\delta }}_{i}^{(k)}=\mathbf {Q} _{i}-\mathbf {P} ^{(k)}(t_{i}),\quad i=1,2,\cdots ,m} y luego los vectores de diferencia para los puntos de control Δj(k)=iIjdoiBj(ti)δi(k)iIjdoiBj(ti),j=1,2,,norte{\displaystyle \mathbf {\Delta } _{j}^{(k)}={\frac {\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} dóndeIj{\displaystyle I_{j}}es el conjunto de índices de los puntos de datos en elj{\displaystyle j}el grupo, cuyos parámetros caen en el soporte local delj{\displaystyle j}la función base, es decir,Bj(ti)0{\displaystyle B_{j}(t_{i})\neq 0}. Eldoi{\displaystyle c_{i}}son pesos que garantizan la convergencia del algoritmo, generalmente tomados comodoi=1,iIj{\displaystyle c_{i}=1,i\in I_{j}}.

Finalmente, los puntos de control de la(k+1){\displaystyle (k+1)}La curva se actualiza mediantePAGj(k+1)=PAGj(k)+Δj(k),{\displaystyle \mathbf {P} _{j}^{(k+1)}=\mathbf {P} _{j}^{(k)}+\mathbf {\Delta } _{j}^{(k)},}lo que lleva a la(k+1){\displaystyle (k+1)}la curva de ajustePAG(k+1)(t){\displaystyle \mathbf {P} ^{(k+1)}(t)}De esta forma, obtenemos una secuencia de curvas, y la curva límite converge al resultado del ajuste por mínimos cuadrados a los puntos de datos dados. [ 10 ] [ 19 ]

Local-PIA

PIA local: Si solo se ajusta un punto de control, la curva de Bézier simplemente interpola el punto de datos (en rojo) que corresponde al punto de control ajustado.

En el método PIA local, [ 12 ] los puntos de control se dividen en puntos de control activos y fijos, cuyos subíndices se denotan comoI={i1,i2,,iI}{\textstyle I=\left\{i_{1},i_{2},\cdots ,i_{I}\right\}}yJ={j1,j2,,jJ}{\textstyle J=\left\{j_{1},j_{2},\cdots ,j_{J}\right\}}, respectivamente. Supongamos que, elk{\textstyle k}La curva de ajuste esPAG(k)(t)=j=1nortePAGj(k)Bj(t){\textstyle \mathbf {P} ^{(k)}(t)=\sum _{j=1}^{n}\mathbf {P} _{j}^{(k)}B_{j}(t)}donde los puntos de control fijos satisfacen PAGj(k)=PAGj(0),jJ,k=0,1,2,.{\displaystyle \mathbf {P} _{j}^{(k)}=\mathbf {P} _{j}^{(0)},\quad j\in J,\quad k=0,1,2,\cdots .} Luego, por un lado, la fórmula iterativa del vector de diferenciasΔh(k+1){\textstyle \mathbf {\Delta } _{h}^{(k+1)}}correspondiente a los puntos de control fijos es Δh(k+1)=Qhj=1nortePAGj(k+1)Bj(th)=QhjJPAGj(k+1)Bj(th)iI(PAGi(k)+Δi(k))Bi(th)=Qhj=1nortePAGj(k)Bj(th)iIΔi(k)Bi(th)=Δh(k)iIΔi(k)Bi(th),hJ.{\displaystyle {\begin{aligned}\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}}} Por otro lado, la fórmula iterativa del vector de diferenciasDl(k+1){\textstyle \mathbf {D} _{l}^{(k+1)}}correspondiente a los puntos de control activos es Δl(k+1)=Qlj=1nortePAGj(k+1)Bj(tl)=Qlj=1nortePAGj(k)Bj(tl)iIΔi(k)Bi(tl)=Δl(k)iIΔi(k)Bi(tl)=Δi1(k)Bi1(tl)Δi2(k)Bi2(tl)+(1Bl(tl))Δl(k)ΔiI(k)BiI(tl),lI.{\displaystyle {\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}}} Al organizar los vectores de diferencia anteriores en una secuencia unidimensional, D(k+1)=[Δj1(k+1),Δj2(k+1),,ΔjJ(k+1),Δi1(k+1),Δi2(k+1),,ΔiI(k+1)]T,k=0,1,2,,{\displaystyle \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 ,} El formato de iteración local en forma matricial es: D(k+1)=TD(k),k=0,1,2,,{\displaystyle \mathbf {D} ^{(k+1)}=\mathbf {T} \mathbf {D} ^{(k)},\quad k=0,1,2,\cdots ,} dóndeT{\textstyle \mathbf {T} }es la matriz de iteración: T=[miJB10miIB2],{\displaystyle \mathbf {T} ={\begin{bmatrix}\mathbf {E} _{J}&-\mathbf {B} _{1}\\0&\mathbf {E} _{I}-\mathbf {B} _{2}\end{bmatrix}},} dóndemiJ{\textstyle \mathbf {E} _{J}}ymiI{\textstyle \mathbf {E} _{I}}son las matrices identidad y B1=[Bi1(tj1)Bi2(tj1)BiI(tj1)Bi1(tj2)Bi2(tj2)BiI(tj2)Bi1(tjJ)Bi2(tjJ)BiI(tjJ)],B2=[Bi1(ti1)Bi2(ti1)BiI(ti1)Bi1(ti2)Bi2(ti2)BiI(ti2)Bi1(tiI)Bi2(tiI)BiI(tiI)].{\displaystyle \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}}.} El formato de iteración local anterior converge y puede extenderse a superficies de mezcla [ 12 ] y superficies de subdivisión. [ 20 ]

PIA implícito

El formato PIA para la reconstrucción implícita de curvas y superficies se presenta a continuación. [ 11 ] Dada una nube de puntos ordenada{Qi}i=1norte{\textstyle \left\{\mathbf {Q} _{i}\right\}_{i=1}^{n}}y un vector normal unitario{nortei}i=1norte{\textstyle \left\{\mathbf {n} _{i}\right\}_{i=1}^{n}}En los puntos de datos, queremos reconstruir una curva implícita a partir de la nube de puntos dada . Para evitar una solución trivial, algunos puntos de desplazamiento{Ql}l=norte+12norte{\textstyle \left\{\mathbf {Q} _{l}\right\}_{l=n+1}^{2n}}se añaden a la nube de puntos. [ 11 ] Se desplazan una distanciaσ{\textstyle \sigma }a lo largo del vector normal unitario de cada punto Ql=Qi+σnortei,l=norte+i,i=1,2,,norte.{\displaystyle \mathbf {Q} _{l}=\mathbf {Q} _{i}+\sigma \mathbf {n} _{i},\quad l=n+i,\quad i=1,2,\cdots ,n.} Supongamos queϵ{\textstyle \epsilon }es el valor de la función implícita en el punto de desplazamiento F(Ql)=ϵ,l=norte+1,norte+2,,2norte.{\displaystyle f\left(\mathbf {Q} _{l}\right)=\epsilon ,\quad l=n+1,n+2,\cdots ,2n.} Dejemos la curva implícita después de laα{\textstyle \alpha }la iteración sea F(α)(incógnita,y)=i=1nortej=1nortevdoij(α)Bi(incógnita)Bj(y),{\displaystyle f^{(\alpha )}(x,y)=\sum _{i=1}^{N_{u}}\sum _{j=1}^{N_{v}}C_{ij}^{(\alpha )}B_{i}(x)B_{j}(y),} dóndedoij(α){\textstyle C_{ij}^{(\alpha )}}es el punto de control.

Defina el vector de diferencia de puntos de datos como [ 11 ]δk(α)=0F(α)(incógnitak,yk),k=1,2,,norte,δl(α)=ϵF(α)(incógnital,yl),l=norte+1,norte+2,,2norte.{\displaystyle {\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}}} A continuación, calcule el vector de diferencias de los coeficientes de control. Δij(α)=μk=12norteBi(incógnitak)Bj(yk)δk(α),i=1,2,,norte,j=1,2,,nortev,{\displaystyle {\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},} dóndeμ{\textstyle \mu }es el coeficiente de convergencia. Como resultado, los nuevos coeficientes de control son doij(α+1)=doij(α)+Δij(α),{\displaystyle C_{ij}^{(\alpha +1)}=C_{ij}^{(\alpha )}+{\boldsymbol {\Delta }}_{ij}^{(\alpha )},} lo que conduce a la nueva curva B-spline algebraica F(α+1)(incógnita,y)=i=1nortej=1nortevdoij(α+1)Bi(incógnita)Bj(y).{\displaystyle 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).} El procedimiento anterior se lleva a cabo de forma iterativa para generar una secuencia de funciones B-spline algebraicas.{F(α)(incógnita,y),α=0,1,2,}{\textstyle \left\{f^{(\alpha )}(x,y),\quad \alpha =0,1,2,\cdots \right\}}La secuencia converge a un problema de minimización con restricciones cuando los coeficientes de control inicialesdoij(0)=0{\textstyle C_{ij}^{(0)}=0}. [ 11 ]

Supongamos que la superficie implícita generada después de laα{\textstyle \alpha }La iteración es F(α)(incógnita,y,z)=i=1nortej=1nortevk=1nortewdoijk(α)Bi(incógnita)Bj(y)Bk(z),{\displaystyle 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),} El formato de iteración es similar al del caso de la curva. [ 11 ] [ 21 ]

Carenado-PIA

Para desarrollar fairing-PIA, primero definimos los funcionales de la siguiente manera: [ 13 ]Fr,j(F)=t1tmetroBr,j(t)Fdt,j=1,2,,norte,r=1,2,3,{\displaystyle {\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,} dóndeBr,j(t){\textstyle B_{r,j}(t)}representa elr{\textstyle r}derivada de la función baseBj(t){\textstyle B_{j}(t)}, [ 8 ] (por ejemplo, función base B-spline ).

Deja la curva después de lak{\textstyle k}la iteración sea PAG[k](t)=j=1norteBj(t)PAGj[k],t[t1,tmetro].{\displaystyle \mathbf {P} ^{[k]}(t)=\sum _{j=1}^{n}B_{j}(t)\mathbf {P} _{j}^{[k]},\quad t\in [t_{1},t_{m}].} Para construir la nueva curvaPAG[k+1](t){\textstyle \mathbf {P} ^{[k+1]}(t)}, primero calculamos el(k+1){\textstyle (k+1)}vectores de diferencia st para puntos de datos, [ 13 ]di[k]=QiPAG[k](ti),i=1,2,,metro.{\displaystyle \mathbf {d} _{i}^{[k]}=\mathbf {Q} _{i}-\mathbf {P} ^{[k]}(t_{i}),\quad i=1,2,\cdots ,m.} Luego, los vectores de diferencia de ajuste y los vectores de suavizado para los puntos de control se calculan mediante [ 13 ].δj[k]=hIjBj(th)dh[k],j=1,2,,norteηj[k]=l=1norteFr,l(Br,j(t))PAGl[k],j=1,2,,norte{\displaystyle {\begin{aligned}{\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{aligned}}} Finalmente, los puntos de control de la(k+1){\displaystyle (k+1)}Las curvas st se producen mediante [ 13 ].PAGj[k+1]=PAGj[k]+μj[(1ωj)δj[k]ωjηj[k]],j=1,2,,norte,{\displaystyle \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,} dóndeμj{\displaystyle \mu _{j}}es un peso de normalización yωj{\displaystyle \omega _{j}}es un peso de suavizado que corresponde alj{\displaystyle j}Punto de control. Los pesos de suavizado se pueden emplear para ajustar la suavidad individualmente, lo que proporciona una gran flexibilidad para la suavidad. [ 13 ] Cuanto mayor sea el peso de suavizado, más suave será la curva generada. La nueva curva se obtiene de la siguiente manera: PAG[k+1](t)=j=1norteBj(t)PAGj[k+1],t[t1,tmetro].{\displaystyle \mathbf {P} ^{[k+1]}(t)=\sum _{j=1}^{n}B_{j}(t)\mathbf {P} _{j}^{[k+1]},\quad t\in [t_{1},t_{m}].} De esta forma, obtenemos una secuencia de curvas{PAG[k](t),k=1,2,3,}{\textstyle \left\{\mathbf {P} ^{[k]}(t),\;k=1,2,3,\cdots \right\}}. La secuencia converge a la solución del método de suavizado convencional basado en la minimización de energía cuando todos los pesos de suavizado son iguales (ωj=ω{\textstyle \omega _{j}=\omega }). [ 13 ] De manera similar, el carenado-PIA se puede extender al caso de superficie.

IG-LSPIA

Aproximación iterativa progresiva de mínimos cuadrados isogeométricos (IG-LSPIA). [ 14 ] Dado un problema de valores en la frontera [ 15 ]{L=F,enΩ,GRAMO=gramo,enΩ,{\displaystyle \left\{{\begin{aligned}{\mathcal {L}}u=f,&\quad {\text{in}}\;\Omega ,\\{\mathcal {G}}u=g,&\quad {\text{on}}\;\partial \Omega ,\end{aligned}}\right.} dónde:ΩR{\textstyle u:\Omega \to \mathbb {R} }es la solución desconocida,L{\textstyle {\mathcal {L}}}es el operador diferencial ,GRAMO{\textstyle {\mathcal {G}}}es el operador de frontera, yF{\textstyle f}ygramo{\textstyle g}son las funciones continuas. En el método de análisis isogeométrico , las funciones base NURBS [ 8 ] se utilizan como funciones de forma para resolver la solución numérica de este problema de valores en la frontera. [ 15 ] Las mismas funciones base se aplican para representar la solución numérica.h{\textstyle u_{h}}y el mapeo geométricoGRAMO{\textstyle G}: h(τ^)=j=1norteRj(τ^)j,GRAMO(τ^)=j=1norteRj(τ^)PAGj,{\displaystyle {\begin{aligned}u_{h}\left({\hat {\tau }}\right)&=\sum _{j=1}^{n}R_{j}({\hat {\tau }})u_{j},\\G({\hat {\tau }})&=\sum _{j=1}^{n}R_{j}({\hat {\tau }})P_{j},\end{aligned}}} dóndeRj(τ^){\textstyle R_{j}({\hat {\tau }})}denota la función base NURBS,j{\textstyle u_{j}}es el coeficiente de control. Después de sustituir los puntos de colocación [ 22 ]τ^i,i=1,2,...,metro{\textstyle {\hat {\tau }}_{i},i=1,2,...,{m}}en la forma fuerte de la EDP , obtenemos un problema discretizado [ 22 ]{Lh(τ^i)=F(GRAMO(τ^i)),iIL,GRAMOh(τ^j)=gramo(GRAMO(τ^j)),jIGRAMO,{\displaystyle \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.} dóndeIL{\textstyle {\mathcal {I_{L}}}}yIGRAMO{\textstyle {\mathcal {I_{G}}}}denotan los subíndices de los puntos de colocación internos y de frontera, respectivamente.

Ordenación de los coeficientes de controlj{\textstyle u_{j}}de la solución numéricah(τ^){\textstyle u_{h}({\hat {\tau }})}en un1{\textstyle 1}vector columna de -dimensionesU=[1,2,...,norte]T{\textstyle \mathbf {U} =[u_{1},u_{2},...,u_{n}]^{T}}, el problema discretizado puede reformularse en forma matricial como AU=b{\displaystyle \mathbf {AU} =\mathbf {b} } dóndeA{\textstyle \mathbf {A} }es la matriz de colocación yb{\textstyle \mathbf {b} }es el vector de carga.

Supongamos que los valores de carga discretizados son puntos de datos.{bi}i=1metro{\textstyle \left\{b_{i}\right\}_{i=1}^{m}}para ajustar. Dado el estimado inicial de los coeficientes de control{j(0)}j=1norte,norte<metro{\textstyle \left\{u_{j}^{(0)}\right\}_{j=1}^{n},n<m}, obtenemos una función de mezcla inicial [ 14 ]U(0)(τ^)=j=1norteAj(τ^)j(0),τ^[τ^1,τ^metro],{\displaystyle U^{(0)}({\hat {\tau }})=\sum _{j=1}^{n}A_{j}({\hat {\tau }})u_{j}^{(0)},\quad {\hat {\tau }}\in [{\hat {\tau }}_{1},{\hat {\tau }}_{m}],} dóndeAj(τ^){\textstyle A_{j}({\hat {\tau }})},j=1,2,,norte{\textstyle j=1,2,\cdots ,n}, representa la combinación de derivadas de diferente orden de las funciones base NURBS determinadas mediante los operadoresL{\textstyle {\mathcal {L}}}yGRAMO{\textstyle {\mathcal {G}}}Aj(τ^)={LRj(τ^),τ^ en Ωpaginorte,GRAMORj(τ^),τ^ en Ωpagbd,j=1,2,,norte,{\displaystyle 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.} dóndeΩpaginorte{\textstyle \Omega _{p}^{in}}yΩpagbd{\textstyle \Omega _{p}^{bd}}indican el interior y el límite del dominio de parámetros, respectivamente. CadaAj(τ^){\textstyle A_{j}({\hat {\tau }})}corresponde a laj{\textstyle j}coeficiente de control. Suponga queJinorte{\textstyle J_{in}}yJbd{\textstyle J_{bd}}son los conjuntos de índices de los coeficientes de control interno y de frontera, respectivamente. Sin pérdida de generalidad , asumimos además que los coeficientes de control de frontera se han obtenido utilizando imposición fuerte o débil y son fijos, es decir, j(k)=j,jJbd,k=0,1,2,.{\displaystyle u_{j}^{(k)}=u_{j}^{*},\quad j\in J_{bd},\quad k=0,1,2,\cdots .} Elk{\textstyle k}la función de mezcla, generada después de lak{\textstyle k}Se supone que la iteración n de IG-LSPIA, [ 14 ] es la siguiente: U(k)(τ^)=j=1norteAj(τ^)j(k),τ^[τ^1,τ^metro].{\displaystyle U^{(k)}({\hat {\tau }})=\sum _{j=1}^{n}A_{j}({\hat {\tau }})u_{j}^{(k)},\quad {\hat {\tau }}\in [{\hat {\tau }}_{1},{\hat {\tau }}_{m}].} Luego, los vectores de diferencia para los puntos de colocación (DCP) en el(k+1){\textstyle (k+1)}Las iteraciones de st se obtienen utilizando δi(k)=bij=1norteAj(τ^i)j(k)=bijJbdAj(τ^i)j(k)jJinorteAj(τ^i)j(k),i=1,2,...,metro.{\displaystyle {\begin{aligned}{\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{aligned}}} Además, agrupe todos los valores de carga cuyos parámetros se encuentren en el soporte local de laj{\textstyle j}función de derivadas, es decir,Aj(τ^i)0{\textstyle A_{j}({\hat {\tau }}_{i})\neq 0}, en elj{\textstyle j}grupo correspondiente alj{\textstyle j}coeficiente de control th, y denotemos el conjunto de índices delj{\textstyle j}el grupo de valores de carga comoIj{\textstyle I_{j}}. Por último, las diferencias para los coeficientes de control (DCC) se pueden construir de la siguiente manera: [ 14 ]dj(k)=μhIjAj(τ^h)δh(k),j=1,2,...,norte,{\displaystyle d_{j}^{(k)}=\mu \sum _{h\in I_{j}}A_{j}({\hat {\tau }}_{h}){\boldsymbol {\delta }}_{h}^{(k)},\quad j=1,2,...,n,} dóndeμ{\textstyle \mu }es un peso de normalización para garantizar la convergencia del algoritmo.

Por lo tanto, los nuevos coeficientes de control se actualizan mediante la siguiente fórmula: j(k+1)=j(k)+dj(k),j=1,2,...,norte,{\displaystyle u_{j}^{(k+1)}=u_{j}^{(k)}+d_{j}^{(k)},\quad j=1,2,...,n,} En consecuencia, el(k+1){\textstyle (k+1)}La función de mezcla st se genera de la siguiente manera: U(k+1)(τ^)=j=1norteAj(τ^)j(k+1).{\displaystyle U^{(k+1)}({\hat {\tau }})=\sum _{j=1}^{n}A_{j}({\hat {\tau }})u_{j}^{(k+1)}.} El proceso iterativo anterior se realiza hasta que se alcanza la precisión de ajuste deseada y se obtiene una secuencia de funciones de mezcla. {U(k)(τ^),k=0,1,}.{\displaystyle \left\{U^{(k)}({\hat {\tau }}),k=0,1,\dots \right\}.} El IG-LSPIA converge a la solución de un problema de colocación de mínimos cuadrados con restricciones. [ 14 ]

Prueba de convergencia

caso no singular

Sea n el número de puntos de control y m el número de puntos de datos.

Sinorte=metro{\textstyle n=m}, el formato iterativo PIA en forma matricial es [ 1 ]PAG(α+1)=PAG(α)+Δ(α)=PAG(α)+QBPAG(α)=(IB)PAG(α)+Q{\displaystyle {\begin{aligned}\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{aligned}}} dónde Q=[Q1,Q2,,Qmetro]TPAG(α)=[PAG1(α),PAG2(α),,PAGnorte(α)]TΔ(α)=[Δ1(α),Δ2(α),,Δnorte(α)]TB=[B1(t1)B2(t1)Bnorte(t1)B1(t2)B2(t2)Bnorte(t2)B1(tmetro)B2(tmetro)Bnorte(tmetro)].{\displaystyle {\begin{aligned}\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 } _{2}^{(\alpha )},\cdots ,\mathbf {\Delta } _{n}^{(\alpha )}\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{aligned}}} La convergencia del PIA está relacionada con las propiedades de la matriz de colocación. Si el radio espectral de la matriz de iteraciónIB{\displaystyle \mathbf {I} -\mathbf {B} }es menor que1{\displaystyle 1}, entonces el PIA es convergente. Se ha demostrado que los métodos PIA son convergentes para curvas y superficies de Bézier, curvas y superficies B-spline, curvas y superficies NURBS, superficies triangulares de Bernstein-Bézier y superficies de subdivisión (Loop, Catmull-Clark, Doo-Sabin). [ 2 ]

Sinorte<metro{\textstyle n<m}, el LSPIA en forma matricial es [ 10 ] [ 19 ]PAG(α+1)=PAG(α)+μBTΔ(α)=PAG(α)+μBT(QBPAG(α))=(IμBTB)PAG(α)+μBTQ.{\displaystyle {\begin{aligned}\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{aligned}}} Cuando la matrizBTB{\textstyle \mathbf {B} ^{T}\mathbf {B} }es no singular , se pueden obtener los siguientes resultados: [ 23 ]

Lema Si0<μ<2λ0{\textstyle 0<\mu <{\frac {2}{\lambda _{0}}}}, dóndeλ0{\textstyle \lambda _{0}}es el mayor valor propio de la matrizBTB{\textstyle \mathbf {B} ^{T}\mathbf {B} }, entonces los valores propios deμBTB{\textstyle \mu \mathbf {B} ^{T}\mathbf {B} }son números reales y satisfacen0<λ(μBTB)<2{\textstyle 0<\lambda (\mu \mathbf {B} ^{T}\mathbf {B} )<2}.

Prueba desdeBTB{\textstyle \mathbf {B} ^{T}\mathbf {B} }es no singular yμ>0{\textstyle \mu >0}, entoncesλ(μBTB)>0{\textstyle \lambda (\mu \mathbf {B} ^{T}\mathbf {B} )>0}. Además, λ(μBTB)=μλ(BTB)<2λ(BTB)λ0<2.{\displaystyle \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.} En resumen,0<λ(μBTB)<2{\textstyle 0<\lambda (\mu \mathbf {B} ^{T}\mathbf {B} )<2}.

Teorema Si0<μ<2λ0{\textstyle 0<\mu <{\frac {2}{\lambda _{0}}}}, LSPIA es convergente y converge al resultado del ajuste de mínimos cuadrados a los puntos de datos dados. [ 10 ] [ 19 ]

Demostración A partir de la forma matricial del formato iterativo, obtenemos lo siguiente: PAG(α+1)=(IμBTB)PAG(α)+μBTQ,=(IμBTB)[(IμBTB)PAG(α1)+μBTQ]+μBTQ,=(IμBTB)2PAG(α1)+i=01(IμBTB)μBTQ,==(IμBTB)α+1PAG(0)+i=0α(IμBTB)αμBTQ.{\displaystyle {\begin{aligned}\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{aligned}}} Según el lema anterior, el radio espectral de la matrizμBTB{\textstyle \mu \mathbf {B} ^{T}\mathbf {B} }Satisface 0<ρ(μBTB)<2{\displaystyle 0<\rho \left({\mu \mathbf {B} ^{T}\mathbf {B} }\right)<2} y por lo tanto el radio espectral de la matriz de iteración satisface 0<ρ(IμBTB)<1.{\displaystyle 0<\rho \left({\mathbf {I} -\mu \mathbf {B} ^{T}\mathbf {B} }\right)<1.} Cuandoα{\textstyle \alpha \rightarrow \infty }(IμBTB)=0, i=0(IμBTB)α=1μ(BTB)1.{\displaystyle \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}.} Como resultado, PAG()=(BTB)1BTQ,{\displaystyle \mathbf {P} ^{(\infty )}=\left(\mathbf {B} ^{T}\mathbf {B} \right)^{-1}\mathbf {B} ^{T}\mathbf {Q} ,} es decir,BTBPAG()=BTQ{\textstyle \mathbf {B} ^{T}\mathbf {B} \mathbf {P} ^{(\infty )}=\mathbf {B} ^{T}\mathbf {Q} }, lo cual es equivalente a la ecuación normal del problema de ajuste. Por lo tanto, el algoritmo LSPIA converge al resultado de mínimos cuadrados para una secuencia de puntos dada.

caso singular

Lin et al. demostraron que LSPIA converge incluso cuando la matriz de iteración es singular. [ 18 ]

Algoritmos de aceleración y otros

  • Precondición : Liu et al. propusieron un PIA precondicionado para superficies de Bézier mediante el método de reducción compensada diagonalmente, mejorando efectivamente la precisión y la eficiencia del algoritmo clásico. [ 24 ]
  • Aproximación inversa de matriz iterativa : Sajavičius mejoró el LSPIA basándose en el método de aproximación inversa de matriz. En cada paso de iteración, primero se calcula la inversa aproximada de la matriz de coeficientes del problema de ajuste por mínimos cuadrados y luego se utiliza como peso para ajustar los puntos de control. [ 25 ]
  • Peso óptimo : Lu presentó inicialmente una aproximación iterativa progresiva ponderada (WPIA) que introduce el peso óptimo de los vectores de diferencia para los puntos de control para acelerar la convergencia. [ 26 ] Además, Zhang et al. propusieron un formato PIA local ponderado para superficies de Bézier tensoriales. [ 27 ] Li et al. asignaron pesos iniciales a cada punto de datos, y los pesos de los puntos interpolados se determinan de forma adaptativa durante el proceso iterativo. [ 28 ]
  • Aceleración con memoria : En 2020, Huang et al. propusieron un método PIA con memoria para el ajuste por mínimos cuadrados (MLSPIA), que tiene un formato similar al método de momento. MLSPIA genera una serie de curvas de ajuste con tres ponderaciones ajustando iterativamente los puntos de control. Con una selección de parámetros adecuada, estas curvas convergen a los resultados del ajuste por mínimos cuadrados para un punto de datos dado y son más eficientes que LSPIA. [ 29 ]
  • Estrategia de descenso estocástico : Rios y Jüttle exploraron la relación entre LSPIA y el método de descenso de gradiente y propusieron un algoritmo LSPIA estocástico con corrección de parámetros. [ 30 ]

Aplicaciones

Dado que PIA tiene un significado geométrico evidente, las restricciones se pueden integrar fácilmente en las iteraciones. Actualmente, PIA se aplica ampliamente en diversos campos, como el ajuste de datos, la ingeniería inversa, el diseño geométrico, la generación de mallas, la compresión de datos, la generación de curvas y superficies de suavizado y el análisis isogeométrico.

Ajuste de datos

  • Ajuste adaptativo de datos: Los puntos de control se dividen en puntos de control activos y puntos de control fijos . En cada iteración, si el error de ajuste de un punto de datos alcanza una precisión determinada, su punto de control correspondiente se fija y no se actualiza. Este proceso iterativo se repite hasta que todos los puntos de control estén fijos. El algoritmo funciona bien en el ajuste de datos a gran escala al reducir de forma adaptativa el número de puntos de control activos. [ 31 ]
  • Ajuste de datos a gran escala: Al combinar T-spline con PIA, se propone un algoritmo de ajuste incremental adecuado para ajustar conjuntos de datos a gran escala. Durante la iteración incremental, cada nueva ronda de iteraciones reutiliza la información de la ronda anterior para ahorrar cálculos. Mientras que la velocidad de convergencia del algoritmo iterativo punto por punto tradicional disminuye a medida que aumenta el número de puntos de control, en PIA el cálculo de cada paso de iteración no está relacionado con el número de puntos de control; esto le confiere a PIA una gran capacidad para el ajuste de datos. [ 10 ]
  • Ajuste local: Basándose en la propiedad local de PIA, se ha propuesto una serie de formatos PIA locales. [ 12 ] [ 32 ]

Reconstrucción implícita

Para la reconstrucción implícita de curvas y superficies, PIA evita el conjunto de nivel cero adicional y el término de regularización, lo que mejora enormemente la velocidad del algoritmo de reconstrucción. [ 11 ]

Aproximación de curva de desplazamiento

En primer lugar, se toman muestras de los puntos de datos en la curva original. A continuación, se genera la curva de aproximación polinómica inicial o la curva de aproximación racional de la curva de desplazamiento a partir de estos puntos muestreados. Finalmente, la curva de desplazamiento se aproxima iterativamente utilizando el método PIA. [ 33 ]

Generación de malla

Dado un modelo de malla triangular como entrada, el algoritmo primero construye la malla hexaédrica inicial y luego extrae la malla cuadrilátera de la superficie como malla de contorno inicial. Durante las iteraciones, el movimiento de cada vértice de la malla se restringe para garantizar su validez. Finalmente, el modelo hexaédrico se ajusta al modelo de entrada proporcionado. El algoritmo puede garantizar la validez de la malla hexaédrica generada, es decir, el valor de Jacobi en cada vértice de la malla es mayor que cero. [ 34 ]

Compresión de datos

Primero, los datos de la imagen se convierten en una secuencia unidimensional mediante un escaneo de Hilbert. Luego, estos puntos de datos se ajustan mediante LSPIA para generar una curva de Hilbert. Finalmente, se muestrea la curva de Hilbert y se puede reconstruir la imagen comprimida. Este método conserva bien la información de vecindad de los píxeles. [ 35 ]

Generación de curvas y superficies de carenado

Dado un conjunto de puntos de datos, primero definimos la función de suavizado y calculamos el vector de diferencia de ajuste y el vector de suavizado del punto de control; luego, ajustamos los puntos de control con pesos de suavizado. Según los pasos anteriores, la curva y la superficie de suavizado se pueden generar iterativamente. Debido a la cantidad suficiente de parámetros de suavizado, el método puede lograr un suavizado global o local. También es flexible para ajustar los vectores de nodos, los pesos de suavizado o la parametrización de datos después de cada ronda de iteración. El método tradicional de minimización de energía es un caso especial de este método, es decir, cuando los pesos de suavizado son todos iguales. [ 13 ]

Análisis isogeométrico

Los valores de carga discretizados se consideran el conjunto de puntos de datos, y la combinación de las funciones base y sus funciones derivadas se utiliza como función de mezcla para el ajuste. El método ajusta automáticamente los grados de libertad de la solución numérica de la ecuación diferencial parcial según el resultado del ajuste de la función de mezcla a los valores de carga. Además, el tiempo promedio de iteración por paso solo está relacionado con el número de puntos de datos (es decir, puntos de colocación) y no con el número de coeficientes de control. [ 14 ]

Referencias

  •  Este artículo incorpora texto de zju_cagd disponible bajo la licencia CC BY 4.0 .
  1. 1 2 3 4 5 6 Lin, Hong-Wei; Bao, Hu-Jun; Wang, Guo-Jin (2005). "Bases totalmente positivas y aproximación por iteración progresiva" . Computers & Mathematics with Applications . 50 ( 3–4 ): 575–586 . doi : 10.1016/j.camwa.2005.01.023 . ISSN 0898-1221 . 
  2. 1 2 3 4 5 Lin, Hongwei; Maekawa, Takashi; Deng, Chongyang (2018). "Estudio sobre métodos iterativos geométricos y sus aplicaciones". Diseño asistido por computadora . 95 : 40–51 . doi : 10.1016/j.cad.2017.10.002 . ISSN 0010-4485 . 
  3. 1 2 3 Lin, Hongwei; Wang, Guojin; Dong, Chenshi (2004). "Construcción iterativa de curvas y superficies B-spline no uniformes para ajustar puntos de datos". Science in China Series F: Information Sciences . 47 (3): 315. doi : 10.1360/02yf0529 . ISSN 1009-2757 . S2CID 966980 .  
  4. 1 2 Qi, Dongxu; Tian, ​​Zixian; Zhang, Auxin; Feng, Jiabin (1975). "El método de pulido numérico en el ajuste de curvas". Acta Math Sínica . 18 (3): 173–184 .
  5. 1 2 Carl, de Boor (1979). "¿Cómo funciona el método de suavizado de Agee?". Actas de la Conferencia de Análisis Numérico y Computadoras del Ejército de 1979, Informe ARO .
  6. ^ Maekawa, Takashi; Yasunori, Matsumoto; Ken, Namiki (2007). "Interpolación por algoritmo geométrico". Diseño asistido por computadora . 39 (4): 313– 323. doi : 10.1016/j.cad.2006.12.008 .
  7. Cheng, Fuhua; Fan, Fengtao; Lai, Shuhua; Huang, Conglin; Wang, Jiaxi; Yong, Junhai (2008). "Interpolación progresiva mediante superficies de subdivisión de bucles". Avances en modelado y procesamiento geométrico . Notas de clase en ciencias de la computación. Vol. 4975. págs. 526–533 . doi : 10.1007/978-3-540-79246-8_43 . ISBN   978-3-540-79245-1.
  8. 1 2 3 4 5 Hoschek, Josef (febrero de 1993). Fundamentos del diseño geométrico asistido por ordenador . EE. UU.: AK Peters, Ltd. ISBN 978-1-56881-007-2.
  9. 1 2 3 Shi, Limin; Wang, Renhong (2006). "Un algoritmo iterativo de interpolación y aproximación NURBS". Journal of Mathematical Research with Applications . 26 (4): 735– 743.
  10. 1 2 3 4 5 6 7 8 Lin, Hongwei; Zhang, Zhiyu (2013). "Un método eficiente para ajustar grandes conjuntos de datos usando T-splines". SIAM Journal on Scientific Computing . 35 (6): A3052– A3068. Bibcode : 2013SJSC...35A3052L . doi : 10.1137/120888569 . ISSN 1064-8275 . 
  11. 1 2 3 4 5 6 7 8 Hamza, Yusuf Fatihu; Lin, Hongwei; Li, Zhao (2020). "Aproximación progresiva-iterativa implícita para la reconstrucción de curvas y superficies". Diseño geométrico asistido por computadora . 77 101817. arXiv : 1909.00551 . doi : 10.1016/j.cagd.2020.101817 . S2CID 202540812 . 
  12. 1 2 3 4 Lin, Hongwei (2010). "Formato de aproximación iterativa progresiva local para la fusión de curvas y parches". Diseño geométrico asistido por computadora . 27 (4): 322– 339. doi : 10.1016/j.cagd.2010.01.003 . ISSN 0167-8396 . 
  13. 1 2 3 4 5 6 7 8 Jiang, Yini; Lin, Hongwei; Huang, Weixian (2023-05-16). "Fairing-PIA: aproximación iterativa progresiva para la generación de curvas y superficies de carenado". The Visual Computer . 40 (3): 1467– 1484. arXiv : 2211.11416 . doi : 10.1007/s00371-023-02861-7 . ISSN 0178-2789 . 
  14. 1 2 3 4 5 6 7 Jiang, Yini; Lin, Hongwei (2023-02-10). "IG-LSPIA: Aproximación iterativa progresiva de mínimos cuadrados para el método de colocación isogeométrica" . Matemáticas . 11 (4): 898. doi : 10.3390/math11040898 . ISSN 2227-7390 . 
  15. 1 2 3 Hughes, TJR; Cottrell, JA; Bazilevs, Y. (2005-10-01). "Análisis isogeométrico: CAD, elementos finitos, NURBS, geometría exacta y refinamiento de malla" . Métodos informáticos en mecánica aplicada e ingeniería . 194 (39): 4135– 4195. Bibcode : 2005CMAME.194.4135H . doi : 10.1016/j.cma.2004.10.008 . ISSN 0045-7825 . 
  16. Chen, Jie; Wang, Guo-Jin (2011). "Aproximación iterativa progresiva para superficies de Bézier triangulares". Computer-Aided Design . 43 (8): 889– 895. doi : 10.1016/j.cad.2011.03.012 . ISSN 0010-4485 . 
  17. Lin, Hongwei; Jin, Sinan; Hu, Qianqian; Liu, Zhenbao (2015). "Construcción de sólidos B-spline a partir de mallas tetraédricas para análisis isogeométrico". Computer Aided Geometric Design . 35–36 : 109–120 . doi : 10.1016/j.cagd.2015.03.013 . ISSN 0167-8396 . 
  18. 1 2 Lin, Hongwei; Cao, Qi; Zhang, Xiaoting (2018). "La convergencia de la aproximación iterativa progresiva de mínimos cuadrados para el sistema de ajuste de mínimos cuadrados singular". Journal of Systems Science and Complexity . 31 (6): 1618– 1632. doi : 10.1007/s11424-018-7443-y . ISSN 1009-6124 . S2CID 255157830 .  
  19. 1 2 3 4 5 Deng, Chongyang; Lin, Hongwei (2014). "Aproximación progresiva e iterativa para el ajuste de curvas y superficies B-spline por mínimos cuadrados". Computer-Aided Design . 47 : 32–44 . doi : 10.1016/j.cad.2013.08.012 . ISSN 0010-4485 . 
  20. Zhao, Yu; Lin, Hongwei; Bao, Hujun (2012). "Interpolación progresiva local para el ajuste de superficies de subdivisión". Journal of Computer Research and Development . 49 (8): 1699– 1707.
  21. Liu, Shengjun; Liu, Tao; Hu, Ling; Shang, Yuanyuan; Liu, Xinru (2021-09-01). "Aproximación iterativa progresiva variacional para la reconstrucción de superficies basada en RBF". The Visual Computer . 37 (9): 2485– 2497. doi : 10.1007/s00371-021-02213-3 . ISSN 1432-2315 . 
  22. 1 2 Lin, Hongwei; Hu, Qianqian; Xiong, Yunyang (2013-12-01). "Propiedades de consistencia y convergencia del método de colocación isogeométrica" . Métodos computacionales en mecánica aplicada e ingeniería . 267 : 471–486 . Bibcode : 2013CMAME.267..471L . doi : 10.1016/j.cma.2013.09.025 . ISSN 0045-7825 . 
  23. Horn, Roger A.; Johnson, Charles R. (22 de octubre de 2012). Análisis matricial . Cambridge University Press. doi : 10.1017/cbo9781139020411 . ISBN 978-0-521-83940-2.
  24. Liu, Chengzhi; Han, Xuli; Li, Juncheng (2020). "Aproximación iterativa progresiva precondicionada para parches triangulares de Bézier y su aplicación" . Journal of Computational and Applied Mathematics . 366 112389. doi : 10.1016/j.cam.2019.112389 . ISSN 0377-0427 . S2CID 202942809 .  
  25. Sajavičius, Svajūnas (2023). "Aproximación iterativa progresiva de mínimos cuadrados hiperpotencia". Journal of Computational and Applied Mathematics . 422 114888. doi : 10.1016/j.cam.2022.114888 . ISSN 0377-0427 . S2CID 252965212 .  
  26. Lu, Lizheng (2010). "Aproximación por iteración progresiva ponderada y análisis de convergencia". Computer Aided Geometric Design . 27 (2): 129– 137. doi : 10.1016/j.cagd.2009.11.001 . ISSN 0167-8396 . 
  27. Zhang, Li (2014-05-01). "Aproximación iterativa progresiva local ponderada para superficies de Bézier de producto tensorial". Journal of Information and Computational Science . 11 (7): 2117– 2124. doi : 10.12733/jics20103359 . ISSN 1548-7741 . 
  28. Li, Shasha; Xu, Huixia; Deng, Chongyang (2019). "Aproximación progresiva e iterativa de mínimos cuadrados ponderados por datos y ajuste de curvas B-Spline relacionado". Journal of Computer-Aided Design & Computer Graphics . 31 (9): 1574– 1580.
  29. Huang, Zheng-Da; Wang, Hui-Di (2020). "Sobre un método de aproximación progresivo e iterativo con memoria para el ajuste de mínimos cuadrados". Computer Aided Geometric Design . 82 101931. arXiv : 1908.06417 . doi : 10.1016/j.cagd.2020.101931 . ISSN 0167-8396 . S2CID 201070122 .  
  30. Rios, Dany; Jüttler, Bert (2022). "LSPIA, descenso de gradiente (estocástico) y corrección de parámetros". Journal of Computational and Applied Mathematics . 406 113921. doi : 10.1016/j.cam.2021.113921 . ISSN 0377-0427 . S2CID 244018717 .  
  31. Lin, Hongwei (2012). "Ajuste adaptativo de datos mediante aproximación iterativa progresiva". Diseño geométrico asistido por computadora . 29 (7): 463– 473. doi : 10.1016/j.cagd.2012.03.005 . ISSN 0167-8396 . 
  32. Zhao, Yu; Lin, Hongwei; Bao, Hujun (2012). "Interpolación progresiva local para el ajuste de superficies de subdivisión". Computer Research and Development . 49 (8): 1699– 1707.
  33. Zhang, Li; Wang, Huan; Li, Yuanyuan; Tan, Jieqing (2014). "Un método de aproximación iterativa progresiva en la aproximación de desplazamiento". Journal of Computer Aided Design and Computer Graphics . 26 (10): 1646– 1653.
  34. Lin, Hongwei; Jin, Sinan; Liao, Hongwei; Jian, Qun (2015). "Generación de malla totalmente hexagonal con calidad garantizada mediante un algoritmo de ajuste iterativo de volumen restringido". Computer-Aided Design . 67–68 : 107–117 . doi : 10.1016/j.cad.2015.05.004 . ISSN 0010-4485 . 
  35. ^ Hu, Lijuan; Yi, Yeqing; Liu, Chengzhi; Li, Juncheng (2020). "Método iterativo para la compresión de imágenes mediante LSPIA". Revista Internacional de Ciencias de la Computación IAENG . 47 (4): 1– 7.