Transfinite interpolation considering normal derivatives?

132 Views Asked by At

I recently started delving into the interpolation of boundary functions in a square bounded by four continuous functions. It turns out that transfinite interpolation is very close to what I have been looking for.

However, I would also like for the interpolation to take the normal derivatives of the bounding splines into consideration. According to the Handbook of Grid Generation (page 8), such transfinite interpolations exist and are called "Transfinite interpolation with Hermite cubic blending functions", but my literature search on this topic has come up dry.

Do you have come across this method already and can recommend some literature which goes into greater details on how this alleged method works, and how to implement it?

1

There are 1 best solutions below

0
On BEST ANSWER

The cubic Hermite basis polynomials are the four cubic polynomials $h_i(t)$ with $$ h(t) = \begin{pmatrix} 1-3t^2+2t^3 \\ 3t^2 - 2t^3 \\ t - 2t^2 + t^3 \\ -t^2 + t^3 \end{pmatrix}. $$ The Hermite basis polynomials are chosen so that the cubic polynomial $C(t) = h(t) \cdot (C_0 \ C_1 \ C'_0 \ C'_1)$ satisfies $C(0)=C_0$, $C(1)=C_1$, $C'(0)=C'_0$, and $C'(1) = C'_1$.

In what follows, we will be using the superscript $i$ to denote the $i$th coordinate (for $i=1,2,3$) of a surface mapping or surface strip. The transfinite interpolant interpolating four surface strips and their first order partial derivatives is $$ x^i(u,v) = h(u)\cdot p^i(v) + h(v)\cdot q^i(u) - h(u)^{\textrm{T}} B^i(u,v) h(v) \quad \textrm{for} \ i=1,2,3 \label{tfi1} \tag{1} $$ where $$ p^i(v) = \begin{pmatrix} x^i(0,v) & x^i(1,v) & x^i_u(0,v) & x^i_u(1,v) \end{pmatrix}, $$ $$ q^i(u) = \begin{pmatrix} x^i(u,0) & x^i(u,1) & x^i_v(u,0) & x^i_v(u,1)) \end{pmatrix}, $$ $$ B^i(u,v) = \begin{pmatrix} C^i & D^i \\ E^i & F^i(u,v) \end{pmatrix}, $$ $$ C^i = \begin{pmatrix} x^i(0,0) & x^i(0,1) \\ x^i(1,0) & x^i(1,1) \end{pmatrix}, $$ $$ D^i = \begin{pmatrix} x^i_v(0,0) & x^i_v(0,1) \\ x^i_v(1,0) & x^i_v(1,1) \end{pmatrix}, $$ $$ E^i = \begin{pmatrix} x^i_u(0,0) & x^i_u(0,1) \\ x^i_u(1,0) & x^i_u(1,1) \end{pmatrix}, $$ and $$ F^i(u,v) = \begin{pmatrix} \frac{v}{u+v}x^i_{vu}(0,0) & \frac{1-v}{1-v+u}x^i_{vu}(0,1) \\ \frac{v}{v+1-u}x^i_{vu}(1,0) & \frac{1-v}{1-v+1-u} x^i_{vu}(1,1) \end{pmatrix} + \begin{pmatrix} \frac{u}{u+v}x^i_{uv}(0,0) & \frac{u}{1-v+u}x^i_{uv}(0,1) \\ \frac{1-u}{v+1-u}x^i_{uv}(1,0) & \frac{1-u}{1-v+1-u}x^i_{uv}(1,1) \end{pmatrix}. $$ If the second partial derivatives of the surface are continuous at the corners (meaning the $uv$ and $vu$ partial derivatives are the same), then $F^i(u,v)$ is just the matrix of constants $$ F^i = \begin{pmatrix} x^i_{uv}(0,0) & x^i_{uv}(0,1) \\ x^i_{uv}(1,0) & x^i_{uv}(1,1) \end{pmatrix}. $$

I think this formula first appeared in Barnhill's 1977 publication "Representation and approximation of surfaces". If you don't have access to this reference via some library (or even if you do), it is easy to verify that \eqref{tfi1} does indeed interpolate the surface strips $x^i(0,v)$, $x^i(1,v)$, $x^i(u,0)$, $x^i(u,1)$ and their first partial derivatives.