Verlauf aus vielen Punkten auf einer Ebene/Fläche erstellen



  • Hallo zusammen,

    ich bin der neue.

    Ich hätte folgendes Problem:

    Eine zweidimensionale Fläche, resp. ein Bild. Auf dieser Fläche sind viele Punkte mit einem Farbwert definiert. Aus diesen Farbwerten dieser Punkte soll nun ein glatt verlaufender Farbhintergrund erstellt werden.

    Folgende Schritte habe ich bereits realisiert:

    Ich erstelle mir zuerst eine Lookup-Map, wo jedem Pixel des Bildes der nächstegelegene Punkt zugeordnet ist. Mache ich also eine eine Anfrage in der Art getNearestPoint(x,y), so bekomme ich die Koordinaten des nächsten Punktes. Ich brauche also nicht erst danach suchen.
    Ebenfalls habe ich mir einen zweiten Index erstellt, der zu jedem Punkt alle angrenzenden Punkte enthält. So weiß ich auf jeden Fall, welche Punkte in die Berechnung einfließen müssen, und welche definitiv nicht. Daraus kann ich mir quasi eine Art Voronoi-Muster bauen. Nur möchte ich eben keine Voronoi-Struktur, sondern einen glatten verlauf.
    Wie gewichte ich also die einzelnen ein Pixel betreffenden Punkte richtig, sodass ein glatter Verlauf entsteht?
    Gibt es da einen geeigneten Algorithmus? Für google fallen mir gerade keine passenden Suchanfragen ein.

    Gruß,
    David



  • Hallo,
    passende Stichworte für google wären "2d interpolation irregular grid" oder "2d interpolation scattered data".
    Siehe auch den entsprechenden Abschnitt bei Wikipedia: https://en.wikipedia.org/wiki/Multivariate_interpolation



  • C14 schrieb:

    Hallo,
    passende Stichworte für google wären "2d interpolation irregular grid" oder "2d interpolation scattered data".
    Siehe auch den entsprechenden Abschnitt bei Wikipedia: https://en.wikipedia.org/wiki/Multivariate_interpolation

    Hallo C14,

    ich glaube, der "natural neighbor" wäre hier ein guter Ansatz.
    Danke für die Gedankenstütze!


Anmelden zum Antworten