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

27
Escherization Craig 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

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

Page 1: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

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

Page 2: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

Motivation M. C. Escher

- holländischer Grafiker

- 1898-1972 inspiriert durch

orientalische Verzierungen

entwickelte seine Bilder durch „Ausprobieren“

Page 3: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

Motivation Ziel:

automatische Erzeugung von Pseudo-Escherbildern

Algorithmus benötigt Vorlage Escherisierungs-

Algorithmus

Input

Output

Page 4: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

Übersicht

Tile Ähnlichkeit von Polygonen Optimierung Generierung Resultate

Page 5: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

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

Page 6: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

Tile - Polygone

Beschränkung auf Polygone

einfache Manipulierbarkeit

nur wesentliche Ecken/Kanten betrachten

Page 7: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

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

Page 8: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

Tile - Isoeder

Isoeder Isoeder

Page 9: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

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

Page 10: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

Tile - Isoederparametrisierung Bedingungen für

Tilingeigenschaft Parametrisierung

notwendig für Manipulation

0 bis 6 Freiheitsgrade Parameter

Isoeder.bat

Page 11: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

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

Page 12: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

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+...]

Page 13: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

Tile - Kantensymmetrien

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

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

Page 14: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

Ä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

Page 15: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

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

Page 16: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

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

Page 17: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

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

Page 18: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

Optimierung

Page 19: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

Generierung

Polygon mit Tilingeigenschaft Textur Markierungen zum Übertragen der

Originaltextur Automatisierung möglich eventuell manuelle Nachbearbeitung nötig

Page 20: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

Generierung

Füllen der Ebene– Tile mittels Inzidenzsymbol und

Isoederinformation kopieren– Verschiebungseinheit

„bleichen“ Farbtöne einbringen Maleffekte

Page 21: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

Resultate

Page 22: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

Resultate

Page 23: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

Resultate

Page 24: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

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

Page 25: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

Zusammenfassung

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

dass Ähnlichkeit zum Vorlagenpolygon maximal wird (Optimierung)

Isoeder texturieren und Escherbild generieren

Page 26: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

Meinung Resultate überzeugend Aufwand riesig:

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

Verwendbarkeit? Grafiker, Verschnittminimierung

andere Verfahren?

Page 27: Escherization Craig S. KaplanDavid H. Salesin Präsentation von Matthias Kaufmann Fachseminar Aktuelle Themen der graphischen Datenverarbeitung Institut.

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