Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar...

Post on 06-Apr-2016

216 views 0 download

Transcript of Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar...

EscherizationCraig S. Kaplan David H. Salesin

Präsentation von Matthias Kaufmann

Fachseminar Aktuelle Themen der graphischen Datenverarbeitung

Institut für wissenschaftliches Rechnen, ETH Zürich

6. Juni 2001

Motivation M. C. Escher

- holländischer Grafiker

- 1898-1972 inspiriert durch

orientalische Verzierungen

entwickelte seine Bilder durch „Ausprobieren“

Motivation Ziel:

automatische Erzeugung von Pseudo-Escherbildern

Algorithmus benötigt Vorlage Escherisierungs-

Algorithmus

Input

Output

Übersicht

Tile Ähnlichkeit von Polygonen Optimierung Generierung Resultate

Tile - Definitionen Tiling Tilingeigenschaft eines

Polygons Tile: Grundbaustein

eines Tilings Vorlage normalerweise

kein Tile Hauptproblem: wie

Vorlage abändern, dass sie nur leicht vom Original abweicht und Tilingeigenschaft erlangt

Escherisierungsproblem

Gegeben ein Polygon S, finde zweites Polygon T, so dass:

• T und S sind „möglichst ähnlich“

• Kopien von T passen zusammen und füllen Ebene

Tile - Polygone

Beschränkung auf Polygone

einfache Manipulierbarkeit

nur wesentliche Ecken/Kanten betrachten

Tile - Isoeder Beschränkung auf Klasse der Isoeder 93 Isoedertypen Eigenschaften eines Isoeders:

– Tilingeigenschaft– Verschiebungseinheit erzeugt Tiling nur durch

Translation– alle Elemente einer Verschiebungseinheit haben

verschiedene Orientierungen und Farben– Abbildung eines beliebigen Isoeders auf anderes

bildet gesamtes Tiling auf sich selber ab– jede Ecke hat dieselbe Wertigkeit

Tile - Isoeder

Isoeder Isoeder

Tile - Isoeder jeder Isoedertyp definiert,

– welche Bedingungen für die Tilingeigenschaft eingehalten werden müssen

– wie einzelne Isoeder zu einem Tiling zusammengefügt werden müssen

– Abhängigkeiten bei Kantendeformationen– Anzahl Farben für Escherbild

formale Beschreibung nötig Parametrisierung Inzidenzsymbol

Tile - Isoederparametrisierung Bedingungen für

Tilingeigenschaft Parametrisierung

notwendig für Manipulation

0 bis 6 Freiheitsgrade Parameter

Isoeder.bat

Tile – Inzidenzsymbol Konstruktion:

1. Bezeichnung / Richtung für jede Kante

2. bei symmetrischen Kanten Bezeichnung entsprechend kopieren

3. Bezeichnungen im Gegen- uhrzeigersinn aufschreiben (+/-)

4. Symbole kopieren 5. für jede Bezeichnung die

Symbole der entsprechen-den Nachbarskante aufschreiben (mit umge-kehrtem Vorzeichen)

nicht eindeutig

[a+ b+ c+ c- b- a- ; a- c+ b+]

a

b

c

c

b

a

a

a

c

b

b

c

Tile - Kantensymmetrien bis jetzt nur einfache

Isoeder mit geraden Kanten

weiterer Freiheits-grad: Kanten

Bedingungen aus Inzidenzsymbol

ableitbar 4 Kantentypen:

S,U,I,J

[...a+...;...a+...]

Tile - Kantensymmetrien

[...a+...; ...a-...][...a...; ...bx...] [...a+/-...; ...b+/-...]

[...a...; ...a...]

Ähnlichkeit von Polygonen vollständige Beschreibung von Isoedern mittels

Parametrisierung (inklusive Kanten) Metrik, um Polygone zu vergleichen:

– Input: zwei Polygone– 0 bei kongruenten Polygonen– je grösser Unähnlichkeit, desto grösser Wert– unabhängig von Rotation, Skalierung, Translation

Idee:– Repräsentation als Drehfunktion– Normierung

Optimierung

Ziel: in Parameterraum aller Isoeder dasjenige mit grösstmöglicher Ähnlichkeit finden

Tilingeigenschaft automatisch erfüllt Optimierungsproblem optimale Lösung schwierig zu finden Approximationsalgorithmus Simulated Annealing

Optimierung Input: Vorlagenpolygon Output: ähnliches Polygon mit

Tilingeigenschaft (Isoeder) Idee: Aufwand nur bei Isoedern mit Chance Algorithmus:

1. kreiere eine Instanz jedes Isoedertyps2.

1. verbessere jede Instanz, so dass sie Vorlage ähnlicher wird2. entferne sehr „schlechte“ Instanzen

3. iteriere 2., bis noch eine einzige Instanz übrig bleibt

Optimierung Verbesserung eines Tile:

for i := 1..n do while „Temperatur noch zu hoch“ do

verbessere Tile mittels Parameter und Metrik

reduziere Temperatur od glätte, wo sinnvoll, Ecken füge neue Ecken ein reduziere Minimaltemperaturod

Optimierung

Generierung

Polygon mit Tilingeigenschaft Textur Markierungen zum Übertragen der

Originaltextur Automatisierung möglich eventuell manuelle Nachbearbeitung nötig

Generierung

Füllen der Ebene– Tile mittels Inzidenzsymbol und

Isoederinformation kopieren– Verschiebungseinheit

„bleichen“ Farbtöne einbringen Maleffekte

Resultate

Resultate

Resultate

Resultate je komplizierter Form, desto

länger Optimierungsdauer schlecht approximierbare

Figuren Verbesserung:

Kantengewichte weniger comic-mässig als

Escherbilder manuelle Nachbearbeitung

kann Lösung verbessern

Zusammenfassung

Input: Polygon der Vorlage die Parameter eines Isoeders so wählen,

dass Ähnlichkeit zum Vorlagenpolygon maximal wird (Optimierung)

Isoeder texturieren und Escherbild generieren

Meinung Resultate überzeugend Aufwand riesig:

– Parametrisierung Isoeder– Kantenparametrisierung– Simulated Annealing– Simplex– Grafiktools für einfache Manipulation

Verwendbarkeit? Grafiker, Verschnittminimierung

andere Verfahren?

Literatur, Links

http://www.cs.washington.edu/homes/csk/tile/papers/kaplan_siggraph2000.pdf

Grünbaum und Shephard: Tilings and Patterns, W. H. Freeman, 1987

Arkin et al., An efficiently computable metric for comparing polygonal shapes, PAMI(13), Nr. 3, März 1991, S. 209-216

www.mcescher.com, www.worldofescher.com