Gradienten auf einer Fläche berechnen

Neue Frage »

Gregorious123 Auf diesen Beitrag antworten »
Gradienten auf einer Fläche berechnen
Meine Frage:
Hi!

Im Rahmen meiner Masterarbeit untersuche ich Höhenprofile von 3d-gedruckten Metallbauteilen. Mir liegen hierfür sehr genaue xyz-Koordinanten vor (20,000,000 Punkte pro mm^2). Diese habe ich bereits in eine Heatmap überführt (jeder z-Koordinate habe ich eine Farbe zugeordnet). Leider ist das Ergebnis etwas schwammig. Außerdem interessiert in erster Linie auch die Steigung in jedem Punkt. Deshalb möchte ich nun eine solche Karte erstellen mit Gradienten-Werten.


Meine Mathevorlesungen liegen leider lange zurück. Wie gehe bei sowas vor? Also wie gesagt: Mir liegen 20,000,000 xyz-Koordinatenpunkte vor. Jeder Punkt soll in eine Steigung "umgerechnet" werden.

Meine Ideen:
Mein erster Gedanke war einfach die Steigung zwischen zwei Punkten entlang einer Linie zu berechnen. Allerdings habe ich ja eine Fläche, d.h. eigentlich liegen für einen Punkt ja vier verschiedene Gradienten vor? (eben vor- und rückwärtsgewandt, sowie links- und rechtsgewandt?

Hier komme ich nicht weiter und wäre sehr dankbar für einen Denkanstoß,

DANKE vorab
zyko Auf diesen Beitrag antworten »
RE: Gradienten auf einer Fläche berechnen
Wenn es möglich ist ohne zuviel Datenverlust, dann kann aus der (x,y,z)-Punktwolke ein gerastertes Bild z=z(x,y) erstellt werden. Hierauf kann der Sobel-Operator, s.a.
http://www-home.fh-konstanz.de/~mfranz/i...ct05_kanten.pdf
zur Berechnung des Gradienten angewandt werden. Hierin wird für in y-Richtung integriert (TrapezRegel zwei Intervalle) und in x-Richtung differenziert (symmetrisch zum mittleren Punkt). Divisionen bzgl. der Punktabstände werden hierbei als Abstand==1 angenommen. Der Sobel-Operator ist separabel, d.h. die Rechenschritte in x-Richtung können getrennt von den Rechenschritten in y-Richtung durchgeführt werden. Hierduch kann der Gesamtrechenaufwand stark reduziert werden.
Sollte diese Bilddarstellung nicht möglich oder nicht gewünscht sein, dann ist es erforderlich entsprechende Nachbarschaft Untersuchungen durchzuführen (dies erfordert einen erheblichen Rechenaufwand). Vorteil wäre, dass die gemessenen/berechneten Punktabstände auch bei dem Sobel-Operator berücksichtigt werden können. dies gilt auch für alle anderen Filter-Operatoren. Nachteil: dieser modifizierte Operator ist i. d. Regel nicht mehr separabel.
Achtung: Bei Randpunkten müssten einseitige Filter benutzt werden. Dies gilt auch für Punkte, die zwar im Bildinnern liegen, aber nicht nahe genug am zentralen Punkt sich befinden sowohl in x,y-Richtung als auch in der Höhe z.
Gregorious123 Auf diesen Beitrag antworten »

Hi,

ich hatte eigentlich an etwas "simpleres" gedacht, z.b. bloß den Differenzenquotienten zu bilden. Hier mal im angehängten Bild Beispieldaten, wie sie mir vorliegen. Die erste Spalte sind die y-Werte, erste Zeile x-Werte und die innere Matrix (rote Zahlen) die jeweils zugehörenden gemessenen z-Werte. Den Rechenschritt zum Differenzenquotienten (so wie ich ihn verstanden habe) habe ich mal als Beispiel für eine Spalte und eine Zeile eingetragen. Stimmt das so auch?
zyko Auf diesen Beitrag antworten »
RE: Gradienten auf einer Fläche berechnen
Im Prinzip kannst du so vorgehen, aber bedenke, dass die Gradientenwerte dabei jetzt nicht für die aktuellen X bzw y Positionen gelten, sondern jeweils für deren Zwischenpunkte. Der Sobel-Operator hat demgegenüber den Vorteil, dass der Gradientenwert für den Zentralpunkt berechnet wird und außerdem quer dazu gemittelt wird.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »