3D les méthodes d'interpolation en C (ou Fortran), et comparaison avec la Méthode de Shepard

Je tiens à interpoler une 3D d'une fonction scalaire f(x, y, z). J'ai codé un 3D interpolation linéaire de l'algorithme dehttp://en.wikipedia.org/wiki/Trilinear_interpolation). Ce n'était pas si mauvais.

Cependant, je voudrais quelque chose de plus sophistiqué, par exemple 3D splines cubiques. Existe-il des open source, facile à utiliser, disponible publiquement code pour l'interpolation 3D scalaire? Je préfère utiliser le C, mais Fortran serait OK aussi. Je voudrais rester à l'écart de Matlab.

J'ai vu de semblables questions posées ici:

L'interpolation d'un champ scalaire dans un espace 3D

et

Quelles sont les bonnes bibliothèques pour la 3D interpolation?

La deuxième était OK avec Matlab, dont je ne suis pas.

Comme pour la première, la principale suggestion a été Shepard méthode. Je suis curieux de savoir quelle est la précision de Shepard méthode. Par exemple, dans le cas d'une grille uniforme, on peut appliquer Shepard méthode uniquement à proximité des points de la grille, et dans ce cas elle ne ont tendance à être plus précis que l'interpolation linéaire ou des splines cubiques? J'imagine que non, mais n'était pas sûr à 100%, et si, en fait, il n'est pas mieux, alors je préfère trouver le code à l'aide de quelque chose comme les splines si ces codes sont disponibles.

  • Pourquoi ne voulez-vous pas utiliser matlab?
  • J'ai besoin d'un algorithme d'interpolation pour un grand projet qui je pense sera trop lent si tout est codé en Matlab.
  • Pourriez-vous décrire votre entrée et de sortie des grilles s'il vous plaît: uniforme ou non uniforme, quelle taille ?
InformationsquelleAutor db1234 | 2013-05-29