1 surface mosaics visual comput 2006 報告者 : 丁琨桓. 2 introduction mosaics are an art form...

Post on 20-Jan-2016

226 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Surface mosaics

Visual Comput 2006

報告者 :丁琨桓

2

Introduction

Mosaics are an art form with a long history: many examples are known from Graeco-Roman times.

3

Introduction

The idea is simple: an image is formed using small colored square tiles which almost touch, so as to cover some area.

4

Surface mosaics

a mesh model M to be covered with tiles the size and shape of the tiles is constant small gaps are allowed between tiles

close-upSurface mosaics

5

Algorithm

step1 : control vectors and features step2 : vector field and initialization step3 : tile position optimization

step1 step2 step3

6

Vector field

Texture Synthesis on Surfaces, SIGGRAPH 2001.

7

Initialization

The tiles size : lx × ly , lx = ηly

Number N of tiles: N= (1-g)A / lx ly

A is the surface area.

g is the fractional area of the surface between the tiles ( g = 0.1)

8

Initialization

The key problem in mosaicing is positioning of the tiles.

centroidal voronoi diagram

9

Centroidal voronoi diagram

a

b

cd

y

|| y – c ||2 < || y – a ||2

|| y – c ||2 < || y – b ||2

|| y – c ||2 < || y – d ||2

10

Centroidal voronoi diagram

a

c d

b

11

Tile position optimization

Before position optimization After position optimization

12

Tile position optimization

The energy leads to a repulsive force between tiles.

The energy between any two tiles Ti and Tj is defined as :

The fall off of energy with increasing distance.

13

Tile position optimization

σis the interaction radius that controls the range of the repulsive force.

A is the surface area and N is the desired number of tiles.

d(Ti,Tj) : the Manhattan distance between the centers of the tiles.

14

Manhattan distance

The distance between two points in a grid based on a strictly horizontal and/or vertical path

B

A

Euclidean distances and Manhattan Distance Points with equal Manhattan distance( d = 2 )

15

Tile position optimization

pi is the position of tile i

t controls step size set to 1 in practice Consider k-nearest neighbors of tile i

(k = 20 in implementation)

16

Tile position optimization example

a(0,0) b(3,0)

c(0,3)

x(2,2)

-d(a,x)2 = -(42) = -16

-d(b,x)2 = -(32) = -9

-d(c,x)2 = -(32) = -9

5

5 σ=2.25, 2σ2 = 10

Eax = exp( -16/10 ) = 0.2

Ebx = exp( -9/10 ) = 0.4

Ecx = exp( -9/10 ) = 0.4

17

Tile position optimization example

a(0,0) b(3,0)

c(0,3)

x(2,2)

px-pa = (2,2) - (0,0) = ( 2, 2)px-pb = (2,2) - (3,0) = (-1, 2)px-pc = (2,2) - (0,3) = ( 2,-1)

Eax = 0.2

Ebx = 0.4

Ecx = 0.4

Fx = (2,2)*0.2 + (-1,2)*0.4 + (2,-1)*0.4 = (0.8,0.8)

a(0,0) b(3,0)

c(0,3) x’(2.8,2.8)

px’ = px + Fx = (2,2) + (0.8,0.8) = (2.8,2.8)

18

Feature lines

tiles adjacent to each feature line to be aligned with it.

constrain the tiles to be parallel or perpendicular to each feature line.

Tiles aligned with feature line

19

Result

Surface mosaics (knot) Surface mosaics (fish)

20

Result

Surface mosaics (horse) Surface mosaics (cube)

21

Conclusions This paper has given an efficient algorithm

for covering a mesh with a mosaic of rectangular tiles.

optimization approach and the underlying model, a perfectly even distribution is not usually possible.

Tile position optimization’s priorities and termination conditions

top related