Transcript AS-RIGID-AS-POSSIBLE SHAPE MANIPULATION
AS-RIGID-AS-POSSIBLE SHAPE MANIPULATION
T A K E O I G A R A S H I T H E U N I V E R S I T Y O F T O K Y O T O M E R M O S C O V I C H B R O W N U N I V E R S I T Y J O H N F . H U G H E S B R O W N U N I V E R S I T Y
INTRODUCTION
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK We present a two-step closed-form algorithm that achieves real-time interaction.
The first step finds an appropriate rotation for each triangle.
The second step adjusts its scale.
Each step uses a quadratic error metric so that the minimization problem is formulate as a set of simultaneous linear equations.
RELATED WORK
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK SHAPE MANIPULATION TECHNIQUES FALL ROUGHLY INTO TWO CATEGORIES: Deform the space in which the target shape is embedded.
[Lewis et al. 2000] --using predefined skeleton. [McCracken and Joy 1996] --each point is associated with a closed region in a FFD grid.
Deform the shape while taking its structure into account.
[Gibson and Mirtich1997] --mass-spring models.
OVERVIEW
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK a)Triangulation and registration(pre-computed) Input a 2D model Silhouette : marching squares algorithm Triangulation : Delaunay triangulation Registration : accelerate the computation during interaction
OVERVIEW
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK b)Compilation(pre-computed) User clicks on the shape to place handles.
So far, user can only place handles at existing mesh vertices.
c)Manipulation User drags the handles to make a deformation of the shape.
Also support multiple-point input devices.
During interaction, update the handle configuration to solve the quadratic error functions.
ALGORITHM
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK Overview of the algorithm
ALGORITHM
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK Step 1 : scale-free construction(allow rotation and uniform scaling)
v
2
v
0
v
2
desired
x
01
v
0
v
1
y
01
R
90
v
0
v
1
R
90 0 1
v
0 '
x
01
v
0 '
v
1 '
y
01
R
90
v
0 '
v
1 ' 0 1
ALGORITHM
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK Step 1 : scale-free construction(allow rotation and uniform scaling) The error between v 2 desired and v
2 ’ is then represented as E
{
v
2 }
v
2
desired
v
2 ' 2 We can define v 0 desired and v 1 desired similarly, so the error associated with the triangle is
E
{
v
0 ,
v
1 ,
v
2 }
i
1 , 2 , 3
v i desired
v i
' 2
ALGORITHM
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK Step 1 : scale-free construction(allow rotation and uniform scaling) The error for the entire mesh is simply the sum of errors for all triangles in the mesh. We can express it in matrix form:
E
1 {
v
' }
v
'
T Gv
'
u q
T
G
00
G
10
G G
01 11
u q
The minimization problem is solved by setting the partial Derivatives of the function E 1{v’} with respect to the free variables u in v’ to zero.
E
1
u
(
G
00
G
00
T
)
u
(
G
01
G
10
T
)
q
0
ALGORITHM
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK Step 1 : scale-free construction(allow rotation and uniform scaling) Rewrite as
G
'
u
Bq
0 G’ and B are fixed and only q changes during manipulation. Therefore, we can obtain u by simple matrix multiplication by pre-computing G’ -1 B at the beginning.
ALGORITHM
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK Step 2 : scale adjustment Fitting the original triangle to the intermediate triangle
v
2
fitted
v
0
fitted
x
01
v
0
fitted v
1
fitted
y
01
R
90
v
0
fitted v
1
fitted
ALGORITHM
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK Step 2 : scale adjustment Fitting the original triangle to the intermediate triangle Given a triangle{v 0 ’,v 1 ’,v 2 ’}in the intermediate result and corresponding triangle in the rest shape{v 0 ,v 1 ,v 2 },the first problem is to find a new triangle{v 0 fitted ,v 1 fitted ,v 2 fitted }that is congruent to{v 0 ,v 1 ,v 2 }and minimizes the following function.
E f
{
v
0
fitted
,
v
1
fitted
,
v
2
fitted
}
i
1 , 2 , 3
v i fitted
v i
' 2
ALGORITHM
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK Step 2 : scale adjustment Fitting the original triangle to the intermediate triangle We minimize E f by setting the partial derivatives of E f to zero.
E
w f
Fw
C
0 By solving this equation, we obtain a newly fitted triangle {v
0
fitted ,v
1
fitted , v
2
fitted } that is similar to the original triangle {v
0 , v 1 , v 2
}. We make it congruent simply by scaling the fitted triangle by the factor of
v
0
fitted
v
1
fitted
/
v
0
v
1
ALGORITHM
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK Step 2 : scale adjustment Generating the final result using the fitted triangles We can define the quadratic error function by
E
2 {
v
0 ' ,'
v
1 ' ,'
v
2 '' } (
i
,
j
) {( 0 , 1 ), ( 1 , 2 ), ( 2 , 0 )}
v i
''
v j
''
v i fitted v j fitted
2
ALGORITHM
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK Step 2 : scale adjustment Generating the final result using the fitted triangles The error for the entire mesh can be represented as :
E
2 {
v
'' }
v
''
T Hv
''
fv
''
c
u q
T
H H
00 10
H
01
H
11
u q
(
f
0
f
1 )
u q
c
We minimize E 2
E
2
u
(
H
00 by setting the partial derivatives of E 2
H
00
T
)
u
(
H
01
H
10
T
)
q
f
0 0 to zero.
Rewrite as
H
'
u
Dq
f
0 0
ALGORITHM
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK Algorithm summary
EXTENSIONS
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK Collision detection and depth adjustment
EXTENSIONS
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK Weights for controlling rigidity
EXTENSIONS
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK Animations
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK
EXTENSIONS
As-rigid-as-possible curve editing
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK
EXTENSIONS
As-rigid-as-possible curve editing
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK
RESULTS
FUTURE WORK
INTRODUCTION RELATED WORK OVERVIEW ALGORITHM EXTENSIONS RESULTS FUTURE WORK Determine the depth order of the overlapping regions.
Extend the technique to 3D shapes.
Allow users to put handles at arbitrary locations.
Volume preservation.