Assume I have a vector field sampled in discrete points. For simplicity let us assume it is sampled regularly on a Cartesian grid. I want to estimate flow lines through various points in this vector field. I.e. trajectories "along" the vector field. Say that I also know at least one point I want the flow line to pass through. How can one do this?
One approach which seems nice to me is to approximate with a polynomial, as some kind of a Taylor polynomial. However I suppose this would be a $\mathbb{R} \rightarrow \mathbb{R}^2$ polynomial as it should be parameterizable by just one real value. So trying to estimate $P_x(t),P_y(t)$ where $P_x$ and $P_y$ are polynomials of some degree. It seems like a reasonable approach to me, but I'm very curious of how you guys would approach the problem.
The problem consists of two:
The first problem can be solved using any suitable ODE integrator, for example, Runge-Kutta one. The simplest Runge-Kutta method is Euler's method: $$ \frac{\mathbf r_{n+1} - \mathbf r_n}{\Delta s} = \mathbf v(\mathbf r_n)\\ \mathbf r_0 = \mathbf a $$ This method needs to compute $\mathbf v(\mathbf r_n)$, but the field might not be known there, so we arrive at the next problem: given $\mathbf v(\mathbf p_i) = \mathbf v_i$ compute $\mathbf v(\mathbf r_n)$. This problem can be solved using any type of multivariable interpolation. One of the simplest methods is the bilinear interpolation. Assume that $\mathbf v$ is given on a Cartesian grid: $$ \mathbf v(x_i, y_j) = \mathbf v_{ij} $$ and $\mathbf r_n = (\xi_n, \eta_n)$ belongs to $(i,j)$ cell: $$ x_i \leq \xi_n < x_{i+1}\\ y_j \leq \eta_n < y_{j+1} $$ Then $\mathbf v(\mathbf r_n)$ can be approximated as $$ \mathbf v(\mathbf r_n) \approx (1-u)(1-w)\mathbf v_{i,j} + u(1-w)\mathbf v_{i+1,j}+ (1-u)w\mathbf v_{i,j+1}+ uw\mathbf v_{i+1,j+1} $$ where $$ u = \frac{\xi_n - x_i}{x_{i+1} - x_i}\\ w = \frac{\eta_n - y_j}{y_{j+1} - y_j}\\ $$