SmoothSketch: 3D free-form shapes from complex sketches
SmoothSketch: 3D free-form shapes from complex sketches
SmoothSketch: 3D free-form shapes from complex sketches
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong><br />
<strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
Olga Karpenko & John F. Hughes<br />
Mario Höpfner<br />
Hauptseminar Computergrafik WS 2006/07<br />
s1498343@inf.tu-dresden.de
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Inhalt<br />
‣ Motivation<br />
‣ Begriffe und Notationen<br />
‣ Vervollständigung<br />
‣ Topologie<br />
‣ Glätten & „Aufblasen“<br />
‣ Betrachtung & Ausblick<br />
‣ Literaturhinweise<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 2
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Motivation<br />
Zielstellung<br />
ableiten einer <strong>3D</strong>-Form aus einer Freihandskizze<br />
Betrachtung<br />
- menschliches Wahrnehmungssystem basiert teilweise auf Erwartungen<br />
Bsp.: ohrähnliches Objekt + Hervorhebung<br />
→ seitliche Betrachtung eines Gesichtes<br />
→ Objektvervollständigung durch Erfahrung möglich<br />
- Zeichnen als Gegenbetrachtung einfach<br />
Bsp.: selbst von Kindern gemalte Formen sind gut erkennbar und verständlich<br />
→ Praktische Methode, die aus einer komplexen Skizze ein vernünfiges Modell<br />
generiert, dessen sichtbare Konturen dieser entsprechen.<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 3
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Motivation II<br />
- unterbestimmtes Problem<br />
Beispiel 1: Kreis als Umriss?<br />
? ? ?<br />
Beispiel 2: Vervollständigung<br />
Festlegung: generieren von Objekten mit geringer Krümmung<br />
⇒ Kontur muss orientiert gezeichnet werden!<br />
z.B: auf der linken Seite liegend<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 4
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Kontur<br />
Definition: Kontur<br />
Kontur (franz. le contour: Umriss, Linie, Silhouette) bezeichnet den Umriss<br />
bzw. die Umrisslinie eines Körpers. (…) Die Grenzlinie der Silhouette und<br />
des Hintergrundes ist die Kontur (…).<br />
Die Umrisszeichnung (…) gibt nur die strengen Konturen der Komposition<br />
wieder - ohne Binnenzeichnung und dadurch ohne plastische Modellierung<br />
und Schattengebung (…).<br />
Beispiel:<br />
Comic<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 5
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Kontur (Fortsetzung)<br />
Definition: Kontur<br />
Sei S eine glatte, geschlossenen, kompakte, orientierte Oberfläche, deren<br />
Ausdehnung sich im Halbraum z > 0 vom erstreckt. Dann ergibt die orthogonale<br />
Projektion von S auf die Bildebene z = 0 ein abgeschlossenes Bild.<br />
Wenn der Projektionsstrahl durch s S in der Tangentialebene von s liegt, dann<br />
wird s Konturpunkt genannt. Wenn s der erste Punkt ist, in dem der<br />
Projektionsstrahl S trifft, dann ist s ein sichtbarer Konturpunkt.<br />
Die Menge aller Konturpunkte bildet eine geschlossene Kurven C.<br />
Die Menge aller sichtbaren Punkte ergeben Teilkurven V.<br />
Die Projektion von C (und V) auf z = 0 bilden die (sichtbare) Kontur von S<br />
Ein Scheitelpunkt ist ein Konturpunkt s, in dem der Projektionsstrahl von<br />
s S gleichzeitig tangential zu C ist.<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 6
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Kontur (Fortsetzung)<br />
Scheitelpunkt:<br />
Konturlinie wechselt<br />
die Richtung in der<br />
Bildebene<br />
T-Knoten:<br />
kreuzen zweier<br />
Konturteilestücke,<br />
wobei einer unsichtbar<br />
wird<br />
Scheitelpunkte und T-<br />
Punkte sind<br />
Endpunkte der<br />
Kontur.<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 7
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Bezeichnungsschema<br />
Kantenbezeichnung mit Huffman - Labeling - Scheme<br />
- allgemeine (eindeutige) Ansicht des Objektes<br />
- Objekt ist topologisch äquivalent zu einer (mehrer) Scheibe(n)<br />
=> Kontur ist (sind) geschlossene Kurve(n)<br />
- Bezeichnung:<br />
- Kanten bekommen eine Wertigkeit / Tiefenindex<br />
- Randkanten haben Index 0<br />
- Umlaufende Bewertung<br />
- folgende Regeln (Ausschnitt)<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 8
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Bezeichnungschema<br />
Wenn es möglich ist, die<br />
vervollständigte Kontur korrekt zu<br />
bezeichnen, dann ist die Skizze in<br />
den R 3 projizierbar.<br />
Beispiel: Huffman-Labeling<br />
››<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 9
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Bezeichnungschema<br />
Flächenbezeichnungsschema<br />
- Einführen einer Flächenwertigkeit γ [Williams 1994]<br />
- gibt die Multiplizität der Projektion von Punkten<br />
innerhalb der Fläche an<br />
- äußerste(n) Fläche(n) der Kontur γ = 0<br />
- γ ändert sich beim Überschreiten einer Kante um den<br />
Wert 2<br />
- Berechnung über ein Gleichungssystem mit Hilfe der<br />
Kantenwertigkeit<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 10
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Von der Skizze zum Oberflächenmodell<br />
nach [Williams 1994, Topological Recontruction of a Smooth Manifold-Solid<br />
<strong>from</strong> its Occluding Contour] in 3 Schritten:<br />
1. Vervollständigen der Zeichnung in dem die verdeckten Konturen erschlossen und<br />
bezeichnet werden.<br />
2. Die vervollständigte Zeichnung wird in eine abstrakte strukturierte Oberfläche<br />
konvertiert und so in den R 3 abgebildet, das „Falten“ und Konturen zueinander<br />
passen.<br />
3. Die abstrakte Oberfläche wird so in den R 3 ausgedehnt, das die Projektion in den<br />
R 2 erhalten bleibt.<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 11
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Von der Skizze zum Oberflächenmodell<br />
Schritt 1 – Vervollständigung<br />
Welche Skizzen lassen sich vervollständigen?<br />
→ keine Charakterisierung verfügbar!<br />
→ Betrachtung einer großen Anzahl von Zeichnungen betrachtet, um lösbare und<br />
nicht lösbare zu kategorisieren<br />
Frontansicht ohne Scheitelpunkte → nur paarweise vorhandene T-Punkte<br />
C 1 -Random-Walks<br />
‣ Erweiterung auf T-Punkt–Scheitelpunkt (& Scheitelpunkt–Scheitelpunkt)<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 12
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Von der Skizze zum Oberflächenmodell<br />
Schritt 2 – Konvertierung<br />
nach Williams‘ Arbeit:<br />
• bei Projektion einer Figur auf eine Ebene, entsteht eine Kontur, die nach einem<br />
Schema von Huffman bezeichnet werden kann<br />
• mit Hilfe der Bezeichnung lässt sich die Kontur korrekt strukturiert in den R 3 zu<br />
einem Modell erweitern<br />
→ Williams‘ Tafel-Konstruktion<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 13
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Von der Skizze zum Oberflächenmodell<br />
Schritt 3 – Ausdehnung<br />
Unterteilung in 2 Teilschritte:<br />
1. Ausdehnung in den Raum entlang der Z-Achse<br />
2. Glättung der Oberfläche.<br />
- keine exakte Ausdehnung durch verwendete Methode möglich<br />
- Krümmung an Scheitelpunken geht gegen unendlich<br />
→ Selbstdurchdringung<br />
- Modell kann aber an Zeichnung sehr gut angenähert werden<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 14
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Vervollständigung<br />
- Vervollständigung erfolgt paarweise<br />
- bestimmen einer Wahrscheinlichkeit, 2 Endpunkte zu verbinden<br />
- Eigenschaften Endpunkt: → Position<br />
→ (Tangenten-)Richtung<br />
- Unterteilung in 2 Vervollständungsprobleme<br />
1. 2 T-Punkte (oder 2 Scheitelpunkte)<br />
2. T-Knoten und Scheitelpunkt<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 15
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Vervollständigung (T-Knoten–T-Knoten)<br />
- aufstellen einer Energiefunktion für die Paarung<br />
• umgekehrt proportional zur Verbindungswahrscheinlichkeit<br />
• E = E curve<br />
+ E endpoints<br />
E curve<br />
→ uni<strong>form</strong> B-Spline zwischen<br />
den Endpunkten<br />
→ Funktion:<br />
E endpoints<br />
→ Konstante:<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 16
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Vervollständigung (T-Knoten–Scheitelpunkt)<br />
- finden der Position des verdeckten Scheitelpunktes<br />
- Ansatz: Wahrscheinlichkeit für jede möglich Position und<br />
Tangentenrichtung mit C 1 -Random-Walks bestimmen<br />
→ Position mit höchster Wahrscheinlichkeit wählen<br />
→ extrem langsam und unpraktisch<br />
- Lösung: Vorberechnen und Lookup-Tabelle speichern<br />
→ mit B-Spline verbinden und E curve<br />
berechnen<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 17
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Vervollständigung (Zusammensetzung)<br />
- Wahrscheinlichkeit für jede Paarungsmöglichkeit berechnet<br />
→ beste Zusammensetzung finden<br />
→ Gesamtwahrscheinlichkeit definiert als Produkt aller<br />
Paarungswahrscheinlichkeiten der Zusammenstellung<br />
Bsp.: 4 Endpunkte → { (1, 2), (3, 4) }, { (1, 3), (2, 4) } und { (1, 4), (2, 3) }<br />
- exponentieller Aufwand, um alle Möglichkeiten zu berechnen<br />
→ Greedy-Ansatz<br />
‣ starte mit den wahrscheinlichsten Paarungen<br />
‣ vervollständige Zusammensetzung weiter mit den übrigen gültigen<br />
Paarungen<br />
‣ verfolge immer die 10 besten Lösungen bis zur Vervollständigung<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 18
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Vervollständigung (Grenzen)<br />
- teilweise unzufriedenstellende Lösungen, da nur lokale Eigenschaften bei der<br />
Suche nach verdeckten Scheitelpunkten genutzt<br />
- nicht behandelbare Fälle<br />
Lösung des Algorithmus<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 19
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Topologie (Zusammenfügen)<br />
- Williams‘ Tafel-Konstruktion<br />
- Iteration über Kanten in der vervollständigten und bezeichneten Kontur<br />
- gegeben: 2 Flächen mit Wertigkeit und eine Kante mit Tiefenindex<br />
- gesucht: topologische Anordnung der Flächen- und Kantenteilstücke<br />
Trivialer Fall:<br />
Randkante<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 20
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Topologie (Zusammenfügen)<br />
allgemeiner Fall:<br />
am Beispiel der Flächen A und E von Folie 9<br />
- geg: Flächenwertigkeit γ A<br />
= 6<br />
Flächenwertigkeit γ E<br />
= 4<br />
Kantenindex n = 2<br />
Algorithmus:<br />
Schritt (1)<br />
A(1) ↔ E(1)<br />
:<br />
A(n) ↔ E(n)<br />
Schritt (2)<br />
A(n+1) ↔ A(n+2)<br />
Schritt(3)<br />
A(n+3) ↔ E(n+1)<br />
:<br />
A(γ A ) ↔ E(γ A -2)<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 21
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Topologie (Tiefenanordnung)<br />
- Tafel-Konstruktion → topologisches Konstrukt, alle<br />
z-Werte = 0<br />
- alle Punkte P mit gleichen x-y-Koordinaten auf einen<br />
„Stapel über P“<br />
→ äquivalent: Kanten-Stapel<br />
durch topologisches Verbinden werden Punkte (und<br />
Kanten) aufeinander abgebildet<br />
→ Cluster<br />
→ Cluster-Punkte entsprechen den Vertices im<br />
PolygonObjekt<br />
- Cluster in z-Richtung sortierbar<br />
- Zusatzpunkte auf Kanten mit gleichen Endpunkten nötig<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 22
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Topologie (Tiefenanordnung)<br />
- Vertices<br />
→ Masse-Feder-System<br />
• zwischen allen Punkt-Clustern Feder mit Ruhelänge 1<br />
• zwischen Punkt-Clustern an gleichem Kanten-Stapel Feder mit l = 0<br />
• Bewegung nur in z-Richtung möglich<br />
• Tuningkonstanten<br />
- Kanten<br />
• linear interpoliert zwischen den Vertices<br />
• Problem bei Kanten, mit 2 gleichen Endpunkten<br />
→ Punkt auf Kante hinzufügen<br />
- Flächen<br />
• Flächenpunkte mittels Interpolation über gegebene<br />
Kantenwerte interpoliert<br />
• Selbstdurchdringung durch Topologie ausgeschlossen<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 23
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Glätten und „Aufblasen“<br />
- Vertices auf Kontur nur in z-Richtung beweglich, andere Punkte in x, y und z<br />
- Remeshing des Netzes, reguläre Dreiecke<br />
- Glättung mit λ/μ-Algorithmus (Normalen- und Vertexfilterung)<br />
→ glattes, aber flaches und scharfkantiges Modell<br />
- „Aufblasen“<br />
• Masse-Feder-System<br />
‣ Vertices bekommen Masse<br />
‣ zwischen Vertices Federn mit Ruhelänge 0<br />
‣ Druckkraft auf Dreieck mit Kraft proportional zur Fläche in<br />
Normalenrichtung<br />
‣ Konturpunkte nur in z-Richtung<br />
• physisches Adhoc-System mit guten Resultaten<br />
• noch von Tuningkonstanten abhängig<br />
• Selbstdurchdringungen (aber tw. bessere Ergebnisse)<br />
• anschließend nochmaliges Glätten<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 24
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Bewegte Bilder<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 25
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Betrachtung & Ausblick<br />
- weitreichende, aber keine universelle Lösung, durch rein lokale Betrachtung<br />
- nur gute Annäherung<br />
- Teilschritte von Tuningkonstanten abhängig<br />
- Erweiterungsmöglichkeiten: z.B. Falten<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 26
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Literaturhinweise<br />
[<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong>]<br />
Olga Karpenko und John Hughes<br />
[Perceptual Completion of Occluded Surfaces]<br />
Lance Williams 1994<br />
[Topological Reconstruction of a Smooth Manifold-Solid <strong>from</strong> ist Occluding<br />
Contour]<br />
Lance Williams 1997<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 27
<strong>SmoothSketch</strong>: <strong>3D</strong> <strong>free</strong>-<strong>form</strong> <strong>shapes</strong> <strong>from</strong> <strong>complex</strong> <strong>sketches</strong><br />
HS CG<br />
Ende<br />
Danke für Ihre Aufmerksamkeit!<br />
Fragen?<br />
Mario Höpfner eMail: s1498343@inf.tu-dresden.de 28