Simulating Decorative Mosaics Alejo Hausner University of Toronto.

Post on 29-Mar-2015

219 views 3 download

Tags:

Transcript of Simulating Decorative Mosaics Alejo Hausner University of Toronto.

Simulating Decorative Mosaics

Alejo HausnerUniversity of Toronto

Simulating Decorative Mosaics 2

Mosaic Tile Simulation

• Reproduce mosaic tiles– long-lasting (graphics is ephemeral)– realism with very few pixels– pixels have orientation

Simulating Decorative Mosaics 3

Real Tile Mosaics

Simulating Decorative Mosaics 4

Real Mosaics II

Simulating Decorative Mosaics 5

The Problem

• Square tiles cover the plane perfectly

• Variable orientation --> loose packing

• Opposing goals:– non-uniform grid– dense packing

Simulating Decorative Mosaics 6

Previous Work

• Romans: algorithm?

• Relaxation (Haeberli’90) – scatter points on image– voronoi region = tile– tiles not square

Simulating Decorative Mosaics 7

Previous Work

• Escherization (Kaplan’00) – regular tilings– use symmetry groups

• Stippling (Deussen’01)

– voronoi relaxation– round dots

Simulating Decorative Mosaics 8

Voronoi Diagrams

• What are they– sites, and regions closest to each site

• How to compute them?– Divide & conquer (PS)– sweepline (Fortune)– incremental

Simulating Decorative Mosaics 9

Voronoi Diagram

Simulating Decorative Mosaics 10

Centroidal Voronoi Diagrams

• VD sites are not centroids

• Lloyd’s method (k-means)– move site to centroid,– recalculate VD– repeat

Simulating Decorative Mosaics 11

Centroidal Voronoi Diagrams

• VD sites are not centroids

• Lloyd’s method (k-means)– move site to centroid,– recalculate VD– repeat

Simulating Decorative Mosaics 12

Centroidal Voronoi Diagrams

• VD sites are not centroids

• Lloyd’s method (k-means)– move site to centroid,– recalculate VD– repeat

Simulating Decorative Mosaics 13

Centroidal Voronoi Diagram

Simulating Decorative Mosaics 14

CVD uses

• Nature:– honeycombs– giraffe spots

• Sampling– approximates Poisson-disk (low discrepancy)– can bias for filter function

Simulating Decorative Mosaics 15

Hardware-assisted VD’s

• SG99: Hoff et al– uses graphics hardware– draw cone at each site– orthogonal view from above– each region is single-coloured– can extend to non-point sites

(curves)

project

Simulating Decorative Mosaics 16

Key idea

• Cone is distance function– radius = height

• Non-euclidean distance:– different kind of cone– eg square pyramid– can be non-isotropic

(rotate pyramid around Z)

r

h

h=|x-a|+|y-b|

(a,b)

(x,y)h

Simulating Decorative Mosaics 17

Basic Tiling Algorithm

• Compute orientation field (details later)

• scatter points on image– use pyramids to get oriented tiles

• apply Lloyd’s method to spread sites evenly

• draw oriented tile at each site

Simulating Decorative Mosaics 18

Details

• Lloyd’s method:– To compute centroid of each Voronoi region:

1: read back pixels, 2: get average (row,col) per colour 3: convert back to object coords.

Simulating Decorative Mosaics 19

Lloyd Near Convergence

Simulating Decorative Mosaics 20

Orientation Field

• Choose edges that need emphasis• compute generalized VD for edges (Hoff99)

• get gradient vector of distance field– distance = z-buffer distance

• gradient orientation = tile orientation– points away from edges

Simulating Decorative Mosaics 21

Orientation Field

Simulating Decorative Mosaics 22

Edge Discrimination

• Must line up tiles on edges

• But both sides of edge oriented same– square tiles ==> 180o rotational symmetry

• Use hardware– draw edge thick, different colour– voronoi regions move away from edges– leaves gap where edge is.

Simulating Decorative Mosaics 23

Tiles Straddle Edge

Simulating Decorative Mosaics 24

Thick Edge: Centroid Repelled

Simulating Decorative Mosaics 25

After 10 Iterations

Simulating Decorative Mosaics 26

Original Voronoi Diagram

Simulating Decorative Mosaics 27

After 20 Iterations

Simulating Decorative Mosaics 28

One Tile per Voronoi Region

Simulating Decorative Mosaics 29

Thinner Tiles

Simulating Decorative Mosaics 30

Round Tiles

Simulating Decorative Mosaics 31

Rhomboidal Tiles

Simulating Decorative Mosaics 32

Tiles are not Pixels4000 pixels 4000 tiles

Simulating Decorative Mosaics 33

More Pictures

Simulating Decorative Mosaics 34

“Painterly” Rendering

Tile = Paint stroke

Simulating Decorative Mosaics 35

Summary

• New method for packing squares on curvilinear grid

• Minimizes sum of particle distances

Simulating Decorative Mosaics 36

Further Work

• Reduce “grout”– final pass: adjust tile shapes

• currently don’t use adjacency info

– use divergence of orientation field ·

• Improve colour– real tiles have fixed colour set: Dither? How?