Krümmungsapproximation auf 3D-Modellen



Ähnliche Dokumente
Einführung. Ablesen von einander zugeordneten Werten

Angewandte Mathematik am Rechner 1

) (1 BE) 1 2 ln 2. und somit

18.2 Implizit definierte Funktionen

9 Eigenwerte und Eigenvektoren

9 Eigenwerte und Eigenvektoren

Extremwerte von Funktionen mehrerer reeller Variabler

6 Symmetrische Matrizen und quadratische Formen

Analytische Geometrie I

FEM isoparametrisches Konzept

Algorithmen in Zellularautomaten. Thomas Worsch Institut für Theoretische Informatik Karlsruher Institut für Technologie

1 Umkehrfunktionen und implizite Funktionen

5. Geraden und Ebenen im Raum 5.1. Lineare Abhängigkeit und Unabhängigkeit von Vektoren

Differentialgeometrie von Kurven und Flächen

P AP 1 = D. A k = P 1 D k P. = D k. mit P 0 3

Teil 6. Differentialrechnung mehrerer Veränderlicher

Parabeln - quadratische Funktionen

Optimieren unter Nebenbedingungen

Lineare Algebra. Mathematik II für Chemiker. Daniel Gerth

Kapitel 6 Differential- und Integralrechnung in mehreren Variablen

Hauptachsentransformation: Eigenwerte und Eigenvektoren

Übungen zur Ingenieur-Mathematik III WS 2012/13 Blatt

Kantengraphen und Planare Graphen. Seminararbeit

Proseminar über multimediale Lineare Algebra und Analytische Geometrie

Klausur Mathematik II

9. Vorlesung Wintersemester

Algorithmik III Algorithmen und Modelle für kontinuierliche Datenstrukturen

Abitur 2017 Mathematik Geometrie VI

Analysis 2, Woche 9. Mehrdimensionale Differentialrechnung I. 9.1 Differenzierbarkeit

Orientierung der Vektoren b 1,..., b n. Volumen des von den Vektoren aufgespannten Parallelotops

1.12 Einführung in die Vektorrechung

Kapitel 1. Koordinaten im Raum. 1.1 Schrägbilder - Kavalier-Perspektive Koordinaten

Einführung in die Quadratischen Funktionen

13. Lineare Algebra und Koordinatenwechsel.

Klausurlösung Einführung in Numerische Methoden und FEM Universität Siegen, Department Maschinenbau,

$Id: linabb.tex,v /01/09 13:27:34 hk Exp hk $

Ein Maß für die Krümmung von Funktionsgraphen Helmut Umla 2015

Flächen und ihre Krümmungen

Analytische Geometrie II

Wiederholungsblatt Elementargeometrie LÖSUNGSSKIZZE

Kapitel 1 PUNKTMECHANIK LERNZIELE INHALT. Körper. Masse

Multivariate Analysis

Vektoralgebra Anwendungen der Vektorrechnung VEKTORRECHNUNG. Prof. Dr. Dan Eugen Ulmet. Hochschule Esslingen 1/64

Computergrafik Inhalt Achtung! Kapitel ist relevant für CG-2!

Viele wichtige Operationen können als lineare Abbildungen interpretiert werden. Beispielsweise beschreibt die lineare Abbildung

VEKTOREN. Allgemeines. Vektoren in der Ebene (2D)

Einführungsbeispiel Kostenfunktion

Wiederholung Quadratische Funktionen (Parabeln)

13. Vorlesung. Lineare Algebra und Koordinatenwechsel.

f(x)dx F(b) F(3) F(b).

Ermitteln Sie die Koordinaten des Schnittpunktes dieser beiden Geraden und erklären Sie Ihre Vorgehensweise!

Prof. Steinwart Höhere Mathematik I/II Musterlösung A =

3. Approximation von Funktionen und Extremwertprobleme im R n

Übungsaufgaben zu den mathematischen Grundlagen von KM

Einleitung 2. 1 Koordinatensysteme 2. 2 Lineare Abbildungen 4. 3 Literaturverzeichnis 7

Mathematischer Vorkurs für Physiker WS 2011/12 Vorlesung 3

Übungen zu Doppel- und Dreifachintegralen Lösungen zu Übung 15

Rückblick auf die letzte Vorlesung. Bemerkung

Aufgabe 5: Analytische Geometrie (WTR)

5.4 Basis, Lineare Abhängigkeit

Rechnen mit Vektoren. 1. Vektoren im Koordinatensystem Freie Vektoren in der Ebene

Satellit. Projekt Mathematische Modellierung. Lukas Schweighofer, Mustafa Krupic, Elisabeth Schmidhofer Sommersemester 2013

Abbildung 10.1: Das Bild zu Beispiel 10.1

In Anwendungen müssen oft hohe Potenzen einer quadratischen Matrix berechnet werden = = 83 79

Kurven 2. Ordnung in der affinen Ebene Durch Transformationen wird Vieles leichter

Mathe - Lernzettel: Nullstellen, Monotonie und Ableitungen

Höhere Mathematik III WS 05/06 Lösungshinweis Aufgabe G 11 Blatt 2

Computer Vision I. Nikos Canterakis. Lehrstuhl für Mustererkennung, Universität Freiburg

Aufgaben zur Übung der Anwendung von GeoGebra

Kommentierte Musterlösung zur Klausur HM II für Naturwissenschaftler

Polynome. Ein Term der Form. mit n und a 0 heißt Polynom. Die Zahlen a, a, a,... heißen Koeffizienten des Polynoms.

(1) Geometrie. Vorlesung Computergraphik 3 S. Müller U N I V E R S I T Ä T KOBLENZ LANDAU

4. Übungsblatt zur Mathematik II für BI, MaWi, WI(BI), AngGeo

gekrümmte Flächen / Freiformflächen (analog zur Kurvendarstellung)

JoachimlRisius. Vektorrechnung. Koordinaten, Vektoren, Matrizen, Tensoren und Grundlagen der Vektoranalysis. VOGEL-VERU^G

Stroppel Musterlösung , 180min. Aufgabe 1 (3 Punkte) Bestimmen Sie die Determinante der Matrix

Übungsaufgaben zur Vektorrechnung

Einführung in die linearen Funktionen. Autor: Benedikt Menne

Extrema multivariater Funktionen

Lösungen zu Mathematik I/II

Aufgabe 4: Analytische Geometrie (WTR)

6 Symmetrische Matrizen und quadratische Formen

8 Extremwerte reellwertiger Funktionen

Anwendungen der Differentialrechnung

Technische Universität Berlin

Übungsblatt

Eigenwerte und Eigenvektoren von Matrizen

Modellieren in der Angewandten Geologie II. Sebastian Bauer

Differentialgeometrie I (Kurventheorie) SS 2013

Mathematik für Naturwissenschaftler II SS 2010

(x a) 3 + f (a) 4! x 4 4! Wir werden im Folgenden vor allem Maclaurin-Reihen betrachten, dies alles funktioniert aber auch. f (x) = sin x f (0) = 0

1. Funktionen und Stetigkeit

Mathematik für das Ingenieurstudium

2.5 Funktionen 2.Grades (Thema aus dem Bereich Analysis)

Morphing. von Tim Sternberg. Im Rahmen des Seminars Manipulation und Verarbeitung digitaler Bilder

Klausur Mathematik I

Abituraufgaben Analytische Geometrie Wahlteil 2012 BW

Transkript:

Krümmungsapproximation auf 3D-Modellen Mathematische Grundlagen und Approximation Christian Cyrus Matrikelnummer 157707 Fakultät für Informatik Otto-von-Guericke-Universität Magdeburg Diese Ausarbeitung enthält mathematische Grundlagen zur Krümmungsberechnung und einige Methoden zur Approximation der Krümmung von 3D-Modellen Beginnend mit einer Motivation zum Thema Krümmung und deren Approximation, werden zunächst die mathematischen Grundlagen wie Ableitungen eindimensionaler und zweidimensionaler Funktionen, sowie die Berechnung zusätzlicher Krümmungsparameter erläutert Im Anschluss werden einige Methoden zur Approximation vorgestellt, welche auf drei verschiedene Weisen eine Schätzung der Krümmungsparameter beschreiben Darauf folgt ein Vergleich der Methoden in Hinblick auf Robustheit, Genauigkeit und Skalierbarkeit Zum Ende erfolgt eine Zusammenfassung der Erkenntnisse 1

Inhaltsverzeichnis 1 Einleitung 3 2 Mathematische Grundlagen 3 3 Methoden 4 31 Surface Fitting 5 32 Curve Fitting 6 33 Tensor Averaging 7 4 Vergleich 9 5 Zusammenfassung 10 Literaturverzeichnis 10 2

1 Einleitung In der Computergrafik ist die Krümmung eine sehr wichtige Komponente in vielen Bereichen, zb zur Glättung, Segmentierung, Visualisierung oder Remeshing von 3D- Modellen, sowie dem Non-Photorealistic Rendering Direkte Beispiele sind in anderen Arbeiten dieses Seminars nachzulesen Da die 3D-Modelle in Form von Polygonnetzen vorliegen, es also nur einzelne Stützstellen mit entsprechenden Verbindungen gibt, sind nur zwei verschiedene Krümmungswerte vorhanden Zum einen ist die Krümmung auf den Teilflächen des Modells 0 und an den Kanten und Ecken Da diese Werte nicht sehr sinnvoll für die Weiterverarbeitung sind und auch nicht den Werten des realen Objektes entsprechen, müssen Krümmungsinformationen mit Hilfe der Umgebung eines Punktes approximiert werden 2 Mathematische Grundlagen In diesem Abschnitt soll es nun um die mathematischen Grundlagen zur Krümmung gehen Mathematisch definiert ist die Krümmung (κ) als Änderung der Richtung einer Funktion Da die Richtung die erste Ableitung einer Funktion ist, ist es nötig diese nochmals abzuleiten Es gilt also κ = 2 x 2 Abbildung 1: Eine kubische Funktion mit ihrer 1 Ableitung (Richtung) und 2 Ableitung (Krümmung) Ein Beispiel für die Krümmung einer Funktion, welche aus dem täglichen Leben bekannt ist, wäre das Fahren mit einem Auto Hierbei ist die Stammfunktion die momentan zurückgelegte Strecke, die Richtung die gegenwärtige Geschwindigkeit und die Krümmung schließlich die Beschleunigung, die zum entsprechenden Zeitpunkt auf das Fahrzeug wirkt Ein paar Beispiele von Krümmungen sieht man gut in Abbildung 2(a) auf der nächsten Seite Eine alternative Interpretation der Krümmung ist der Krümmungskreis, siehe Abbildung 2(b) auf der nächsten Seite Es wird versucht, einen Kreis an die Funktion 3

anzuschmiegen Der Radius dieses Kreises ist indirekt proportional zur berechneten Krümmung Aufgrund dieser Betrachtung sieht man, dass ein Knick in der Funktion eine Krümmung von haben muss, weil der Kreis den Durchmesser 0 hat Genauso ist es umgekehrt bei geraden Stücken, der Radius ist und die Krümmung dementsprechend 0 (a) Verschiedene Krümmungen (b) Krümmungskreis Abbildung 2: Krümmung entlang einer Kurve und Krümmungskreis [Sch05] Dies waren die Grundlagen für eine eindimensionale Funktion Bei unseren 3D-Modellen benötigen wir aber die Krümmung der Oberfläche an einem bestimmten Punkt Die Krümmung ist auch hier die zweite Ableitung, wobei diese in eine Matrix resultiert Diese Matrix wird Weingartenmatrix (W ) [dc93] genannt Die zweite Ableitung einer zweidimensionalen Funktion ist somit ] W = [ 2 2 x 2 y x 2 x y Die Eigenwerte dieser Matrix werden Hauptkrümmungen (κ 1, κ 2 ) genannt Diese Hauptkrümmungen verlaufen entlang der Eigenvektoren der Weingartenmatrix Man nennt diese Vektoren dementsprechend Hauptkrümmungsrichtungen (t κ1, t κ2 ) Mit Hilfe der beiden Hauptkrümmungen lassen sich nun noch weitere Maße, wie die Gaußsche Krümmung K = κ 1 κ 2 und die Mittlere Krümmung H = κ 1+κ 2 2, bestimmen Diese errechneten Maße erlauben eine grobe Kategorisierung der Punkte (siehe Abb 3 auf der nächsten Seite) auf Grund der Gaußschen Krümmung in elliptische (K > 0), hyperbolische (K < 0) und parabolische Punkte (K = 0) 3 Methoden In [Sch05] und [Rus04] werden einige Methoden erläutert, welche man grundlegend in drei verschiedene Kategorien gruppieren kann Auf den folgenden Seiten wird für jede Kategorie ein Grundalgorithmus skizziert und einige Beispiele der Verwendung mit Parametern gegeben 2 y 2 4

(a) elliptischer Punkt (b) hyperbolischer Punkt (c) parabolischer Punkt Abbildung 3: Punktkategorien: K > 0 elliptischer Punkt, dh beide Hauptkrümmungen besitzen gleiches Vorzeichen, K < 0 hyperbolischer Punkt, dh negative und positive Hauptkrümmung, K = 0 parabolischer Punkt mindestens eine Hauptkrümmung ist 0 [Sch05] 31 Surface Fitting Als erste Methode ist das Surface Fitting zu nennen Hierbei wird versucht eine Passfläche für den entsprechenden Punkt und dessen Umgebung zu erzeugen Diese Fläche ist eine Funktion mit zwei Parametern f(x, y) Sie bildet eine Ebene auf ihre Höhenwerte ab Dafür müssen der Punkt und seine Umgebung, je nach Methode nur die direkten Nachbarn oder auch weitere, in diese Ebene überführt werden Als Ebene kommt die Tangentialebene in Betracht Sind die Nachbarpunkte und ihre Nebenbedingungen (zb Normalen) nun in das neue Koordinatensystem der Ebene überführt worden, kann man mit Hilfe dieser Werte ein mehr oder weniger komplexes Gleichungssystem aufstellen Die gesuchten Parameter werden mittels einer Least Squares-Approximation gefunden Nun hat man die komplette Funktion der Passfläche Diese lässt sich leicht an der entsprechenden Stelle ableiten und man gewinnt somit die Weingartenmatrix, aus der sich die Krümmungen extrahieren lassen Bei der Projektion des Netzes in die Tangentialebene eines Punktes kann es zu Überschneidungen kommen und somit die Topologie zerstört werden Um dies zu vermeiden, gibt es Ansätze, die eine Überführung in Polarkoordinaten vorsehen [Sch05], um die Topologie zu erhalten Ein Beispiel für das Surface Fitting wäre die Quadratische Approximation Hier wird eine quadratische Funktion als Passfläche angenommen z = A 2 x2 + Bxy + C 2 y2 Die Koordinaten, der in die Tangentialebene transformierten Punkte, werden nun eingesetzt Somit erhält man folgendes Gleichungssystem: 5

1 2 x2 1 i x i y i 2 y2 i A B = z i C Wird dieses Gleichungssystem gelöst und die Flächenfunktion abgeleitet, erhält man nun die Weingartenmatrix [ ] A B W = B C Eine weitere Parametrisierung wäre die Methode der Kubische-Adjazenz-Normalen Hierbei wird eine kubische Funktion für die Passfläche angenommen z = A 2 x2 + Bxy + C 2 y2 + Dx 3 + Ex 2 y + F xy 2 + Gy 3 Auch die Normalen der umgebenden Punkte werden betrachtet Sie werden in das neue Koordinatensystem der Tangentialebene überführt und haben nun die Form N(P i ) = (a i, b i, c i ) Aus diesen Informationen lässt sich dieses Gleichungssystem erstellen: A 1 2 x2 1 i x i y i 2 y2 i x 3 i x 2 i y i x i yi 2 yi 3 B C x i y i 0 3x 2 i 2x i y i yi 2 0 D = 0 x i y i 0 x 2 i x i y i 3yi 2 E F G Es wird gelöst, und aus der entstandenen Funktion sind die gewünschten Krümmungsparameter errechenbar 32 Curve Fitting Beim Curve Fitting werden zunächst die Krümmungen entlang der ausgehenden Kanten bestimmt Diese sieht man am besten auf Abbildung 4 auf der nächsten Seite Man stellt sich einen Kreis vor, welcher durch die zwei Endpunkte der Strecke P i P j geht und die Normalen des Punktes (N i ) berücksichtigt Anhand dieses entstehenden Kreises kann man nun die Krümmungsinformationen entlang der Kante bestimmen Die Formel zur Ermittlung dieser Kantenkrümmung lautet κ Ni = 2N i (P j P i ) (P j P i ) 2 Die nun gewonnenen Informationen werden auf die Tangentialebene abgebildet Danach wird für die Krümmungsfunktion κ = Ax 2 + Bxy + Cy 2 z i a i c i b i c i 6

Abbildung 4: geometrische Deutung eines Krümmungskreis der Kante P i P j mit Normale N(P i )[Sch05] ein Gleichungssystem A x 2 i x i y i yi 2 B = C aufgestellt, welches mittels Least Squares gelöst wird Nach dem Ableiten der Krümmungsfunktion erhält man dann wieder die Weingartenmatrix, aus der man die Krümmungsinformationen ablesen kann 33 Tensor Averaging Die Grundidee beim Tensor Averaging ist ein Krümmungstensor Π, auch als zweite Fundamentalform bezeichnet Dieser Tensor wird für den untersuchten Punkt erstellt Er ist ein gewichtetes Mittel der Krümmungstensoren der benachbarten Polygone Aus diesem Tensor kann man dann die gewünschten Krümmungsparameter errechnen Ein Krümmungstensor ist so definiert, dass, wenn man einen Richtungsvektor mit ihm multipliziert, man die Änderung der Normalen in diese Richtung erhält Diese Definition kann man sich zunutze machen bei der Berechnung dieses Tensors Man erstellt hierfür ein Gleichungssystem, welches die Änderungen der Normalen der Eckpunkte ( n i ) an ihren jeweiligen angrenzenden Kanten ( e j ) enthält Hierbei ist zu beachten, dass die Werte eines Polygons in ein Koordinatensystem ( u, v ) zu überführen sind, welches in der Ebene des Polygons liegt Für ein Dreieck (Abb 5 auf der nächsten Seite) sieht das zu lösende Gleichungssystem κ Ni 7

zur Bestimmung des Tensors wie folgt aus: ( ) e0 u Π = ( e 0 v ) e1 u Π = ( e 1 v ) e2 u Π = e 2 v ( ) (n2 n 1 ) u ( (n 2 n 1 ) v ) (n0 n 2 ) u ( (n 0 n 2 ) v ) (n1 n 0 ) u (n 1 n 0 ) v Abbildung 5: Dreieck ( e 02 ) mit Normalen ( n 02 ) und Koordinatensystem ( u, v ) [Rus04] Dieses Gleichungssystem wird nun mittels Least Squares gelöst und man erhält den Tensor für das untersuchte Polygon Um nun das gewichtete Mittel der umgebenden Tensoren für einen Punkt zu ermitteln, müssen die Tensoren in die Ebene des Punktes überführt werden Hierfür wird die Normale des Polygons in die Normale des untersuchten Punktes gedreht Als Gewicht der Tensoren wird in [Rus04] der Anteil an der Voronoi-Umgebung (Abb 6) verwendet Abbildung 6: Voronoiumgebung zur Wichtung der Krümmungstensoren der angrenzenden Flächen eines Punktes [Sch05] 8

4 Vergleich Im Anschluss werden die in Kapitel 3 auf Seite 4 aufgezeigten Methoden verglichen in Hinsicht auf Robustheit, Genauigkeit und Skalierbarkeit Beginnend mit der Robustheit ist als erstes das Verhalten der Methoden bei degenerierten Konfiguration wie in Abbildung 7(a) zu betrachten Hierbei haben die Fitting Methoden Probleme, da ihre Gleichungssysteme meist unterbestimmt sind Wie man in Abbildung 8 sieht reagieren die Methoden, welche nur kleine Umgebungen betrachten, anfälliger auf Rauschen Methoden, welche die Normalen nutzen, sind dagegen stabiler (a) Degenerierte Konfiguration (b) Hyperbolische Passfläche (c) Planare Passfläche Abbildung 7: Entartete Konfiguration für Algorithmen, welche die Krümmung anhand einer eingepassten Fläche schätzen Bei dieser Konfiguration liegen die Punkte auf zwei sich kreuzenden Linien Dies ermöglicht keine eindeutige Bestimmung einer Passfläche Hier zwei mögliche Passflächen mit verschiedenen Krümmungen [Rus04] (a) Normalen Kubische-Adjazenz- (b) Curve Fitting (c) Tensor averaging nach [Rus04] Abbildung 8: Farbcodierte Visualisierung der berechneten Krümmungen auf einem unregelmäßig tesselierten Modell mit verschiedenen Methoden Zu Beachten ist das Vorhandensein von Ausreißern in den Schätzungen [Rus04] Im Hinblick auf die Genauigkeit der Methoden ist zu erkennen, dass die Fitting- Methoden in Abhängigkeit der Nachbarschaftsgröße entweder zu rauschanfälligen oder zu glatten Ergebnissen führen Bei einer klein gewählten Nachbarschaft hat Rauschen 9

mehr Einfluss auf das Ergebnis Bei einer groß gewählten Nachbarschaft ist hingegen die Verallgemeinerung der Ergebnisse hinderlich Zur Skalierbarkeit der vorgestellten Methoden ist zu sagen, dass die Fitting-Methoden für jeden einzelnen Punkt des Meshes die Lösung eines Gleichungssystemes erfordern Die Methode aus [Rus04] hingegen bestimmt für jeden Eckpunkt die Normale und für jede Fläche den Tensor Somit skaliert die Methode aus [Rus04] bei Vergrößerung der Datenmengen besser 5 Zusammenfassung Da die Krümmung in der Computergraphik einen hohen Stellenwert einnimmt, wurde erklärt, was Krümmung ist bzw welche mathematische Bedeutung (zweite Ableitung einer Funktion) sie hat Da auf 3D-Modellen die Krümmung rechnerisch nur die Werte 0 und annimmt, muss sie geschätzt werden Zur Schätzung wurden drei verschiedene Herangehensweisen vorgestellt Beim Surface Fitting wird versucht, eine Passfläche durch einen Punkt und dessen Umgebung zu legen Beim Curve Fitting wird die Krümmung an den ausgehenden Kanten errechnet und mit Hilfe dieser Krümmungen eine Flächenkurve ermittelt Für die Kategorie des Tensor Averaging werden die Krümmungen der angrenzenden Teilflächen geschätzt und diese dann gewichtet gemittelt Im Vergleich hat die Methode der dritten Kategorie, vorgestellt in [Rus04], am besten abgeschnitten Sie ist robust gegenüber Rauschen und degenerierten Teilstücken und wird auch mit zunehmender Komplexität des Modelles nicht übermäßig langsam In [Rus04] wird auch die dritte Ableitung betrachtet und nach dem selben Schema gebildet Diese lässt sich gut zur Visualisierung von Objekten nutzen Die Ausgabe ist hierbei mit den Methoden der Feature Edges vergleichbar Literatur [dc93] Carmo, Manfredo Perdigão do: Differentialgeometrie von Kurven und Flächen Vieweg, Wiesbaden, 1993 [Rus04] Rusinkiewicz, Szymon: Estimating Curvatures and Their Derivatives on Triangle Meshes In: Proceeding of the 2nd International Symposium on 3D Data Processing, Visualization and Transmission, Seiten 486 493 IEEE Computer Society, September 2004 [Sch05] Schulz, Christian: Approximation von Krümmungsinformation für die medizinische Visualisierung Diplomarbeit, Otto-von-Guericke-Universität Magdeburg, Oktober 2005 [Wik09] Wikipedia: Krümmung Wikipedia, Die freie Enzyklopädie, 2009 [Online; Stand 18 April 2009] 10