Ich habe einen 3D-Raum (x, y, z) mit einem zusätzlichen Parameter an jedem Punkt (Energie), der insgesamt 4 Dimensionen von Daten ergibt.Interpolation eines Skalarfelds in einem 3D-Raum
Ich würde gerne eine Menge von x, y, z Punkten finden, die einer Iso-Energiefläche entsprechen, die durch Interpolation zwischen den bekannten Punkten gefunden wird.
Die räumliche Gitter hat konstantem Abstand und umgibt die Iso-Energie Oberfläche vollständig, jedoch ist es nicht eine kubische Raum einnehmen (das Netz befindet sich in einem etwa zylindrischen Raum)
Geschwindigkeit nicht entscheidend ist, kann ich diese verlassen Nummerieren für eine Weile. Obwohl ich in Python und NumPy codiere, kann ich Teile des Codes in FORTRAN schreiben. Ich kann auch vorhandene C/C++/FORTRAN-Bibliotheken für die Verwendung in den Skripten umschließen, wenn solche Bibliotheken vorhanden sind.
Alle Beispiele und Algorithmen, die ich bisher online (und in Numerical Recipes) gefunden habe, haben keine 4D-Daten mehr.
BTW - Numerische Rezepte haben Algorithmen, um dies in der neuesten Ausgabe zu behandeln - Sie haben nur noch mit Daten in 3D zu tun, dh: Daten an einem einzigen 3D-Ort gespeichert. Alle radialen Basisfunktionsinterpolatoren in Numerischen Receipes sind hier anwendbar und werden in 3D diskutiert (die meisten erstrecken sich auf nD). –
Ja, Sie haben Recht. Meine Ausgabe ist 1992, aber es gibt Rezepte (oder 2D-Analogien) für die nD-Interpolation, vorausgesetzt, das Gitter hat 'tabellierte Funktionswerte ... an den Scheitelpunkten eines rechteckigen Arrays'. Ich hatte den Eindruck, dass, da das Gitter (das zugegebenermaßen auf feinem Niveau gleichmäßig mit rechteckiger Periodizität verteilt ist) einen ungefähr zylindrischen Raum füllt, den die Techniken nicht anwenden würden. – Brendan