29.01.2014 Aufrufe

SmoothSketch: 3D free-form shapes from complex sketches

SmoothSketch: 3D free-form shapes from complex sketches

SmoothSketch: 3D free-form shapes from complex sketches

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!