Upload
primrose-dawson
View
227
Download
0
Embed Size (px)
Citation preview
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