Uchenna Ezeobi
Dept of Electrical and Computer Engineering
The University of New Mexico
Albuquerque, NM 87131-0001, USA
ezeob002@unm.edu
Abstract This paper compares the real time simulation of
large rotation of a deformable body in subspace and full
space. The use of modal analysis due to linear strain was
used to obtain the infinitesimal deformation of the body.The
integration rotation of parts at each nodes was carried out to
account for large rotation of the deformable bodies. Full
space and subspace method were compared for small and
large deformation. Also the stimulation time and realism of
the deformed bodies for both methods were compared to
accurately examine which was better. Cholesky direct LLt
method, Cholesky direct LDLt method, Conjugate method
and Sparse LU method were implemented in C++ to solve
the linear equation obtained from Finite Element Analysis.
We developed position and orientation constraints that
would drag and twist the model to check the realism after
large deformation. From the Experiment it showed that the
subspace method was more efficient, it reduced the number
of computation thereby improving the stimulation speed and
also maintained the realism of the object.
Keywordsmodel reduction, FEM, deformable objects, modal
warping.
I. INTRODUCTION
Every object in the universe experiences deformation by
collision or any sort of impact with the surrounding. For these
objects to withstand such an impact, it is highly important to
be able to stimulate the effects that deformation has on every
object. In this paper we are comparing two ways of
stimulating large rotational deformation of an object, which
are the subspace and full space model. Large deformation of
bodies is mostly solved by greens theory; which handles the
linear and nonlinear part of the deformation. However, the
nonlinear calculation of the nonlinear part is very expensive to
implement, which has reduced the use of these application in
computer animation. Further studies have been made to reduce
the cost of implementing the large deformation of bodies.
The main goal in designing a mechanics to study the
deformation of bodies is to improve the stimulation time and
as well maintain the realism of the object. Both factors
compensate each other. To increase the stimulation time we
need to consider only the linear part and to maintain the
realism the nonlinear part has to be considered. The modal
analysis based on linear strain tensor reduces the
computational load but the realism of the object is relatively
large when twisting and bending is applied to the object. The
method to be considered in this paper overcomes the
da = dx + dx + w dx
(1)
M u+ C u+ Ku = F
(2)
M =
(m) H (m) H
(m)
dV (m)
(3)
m V (m)
(m)
(m)
Where
is the mass density, H
is the
displacement interpolation matrix and dV(m) is the change
(m)
C =
(m)
H (m) H
(m)
dV (m)
(4)
m V (m)
C = M + K
Where and are scalar factors.
E. Large deformation
To accommodate for large deformation in K(u) is replaced
with K in eqn(1). The finally equation for the method is shown
below:
..
M u L + C u L + Ku L = RT F
For full derivation refer to [1]. The difference between (1) and
(2) is that the external force acting on each node needs to be
rotated about its co-ordinate frame. Then position and
orientation constraints were added to drag and twist the object.
Refer to [1]
This equation is solved using the New mark method; so the
final equation breaks down to the following:
"
t
t 2 %
t
t 2
K ' an+1 = f C(vn + an ) K(Un + tvn +
an )
$M + C +
2
4 &
2
4
#
Where the following equation has the form of Ax=b. Finally
these matrix is solved using four sparse solver to compare
which solver is faster.
IV. FLOW CHART
Design
K =
(m)
(5)
m V (m)
u(t) = q(t)
(6)
where is the modal displacement matrix and q(t) is the
vector containing all the modal amplitude. Substitute (5) into
(1) yields the following equation:
..
M q q+ Cq q+ K q q = T F
(7)
Integrate
! + ! + ! =
D. Modal Rotation
The governing equation for rotation is shown below:
Render Mesh
V. ALGORITHM
The following algorithm were used to solver the linear system
equation Ax=b. These methods would be compared to check
which works best for the solving a linear equation problem at
a fastest rate.
A. Sparse cholesky direct LLT factorization method
This method is used to solve any linear equation in the form of
Ax=b. The A matrix should be sparse positive definite matrix.
For any A there is a lower triangular matrix L such that
A=LLT. The pseudo-code is shown below.
LU ALGORITGHM PSUEDOCODE
for j = 1,, n
for i = 1,, j
t=Aij
if i> 1 then
for k = 1, , i-1
t= t Aik*Akj
Aij = t
for i = j+1, , n
t=Aij
for k=1, , j-1
t=t Ajk*Akj
Aij = t/Ajj
Akk
Akk=
for i=k+1 to n
Aik= Aik/ Akk
end
for j=k+1 to n
for i=j:n
Aij= Aij AikAjk
end
end
end
B. Sparse cholesky direct LDLT factorization method
This Algorithm is similar to LLT Algorithm expect that we
introduced a positive definite D. The pseudo code is shown
below:
CHOLESKY LDLT ALGORITGHM PSUEDOCODE
Integer i,j,n,v; real array (Aij)1:n x 1:n, (lij) 1:n x 1:n, (di)1:n
For j=1 to n
lij = 1
VI. EXPERIMENT
A. Data Set
The data set used for this project was obtained from the
subspace and full space implementation. The full space
method has 3n x 3n matrix for , while the subspace
contains only the dominant columns of 3n x m.All the
code for collecting the data were done with Matlab.
B. Method Comparisons
The subspace and full space are two methods that could be
used to stimulate the deformation of an object. The stimulation
time and realism of object of these two methods were
compared. Also four different sparse solver would be
compared to see which method that would work better.
C. Preliminary result
I.
Subspace Method:
Realism of the elephant model for the subspace is shown
j1
di = Ajj -
d l
2
v jv
v=1
for i= j+1 to n
lji =0
j1
#
&
lji = % Aij liv dvl jv ( / d j
$
'
v=1
end for
end for
C. Conjugate Gradient
This is general method for solving Ax=b. for more details
refer to [3]
D. Sparse LU Solver
This method of LU decomposition is similar to Gaussian
Elimination. It factors the original matrix into lower and upper
diagonal matrix. This implies that Ax=Lux=b, which then
turns out to be Ux=b. The pseudo code is shown below.
TABLE I.
TYPE OF SOLVER
TIME
STIMULATION(SEC)
39.91
OF
FACTORIZATION METHOD[5]
37.5077
CONJUGATE GRADIENT[5]
37.7418
SPARSE LU SOLVER[5]
24.32
II.
Full space Method:
The Realism of the object for the full space is shown
below:
TYPE OF SOLVER
TIME OF STIMULATION(MIN)
1.25
1.15
CONJUGATE GRADIENT[5]
1.18
[2]
SPARSE LU SOLVER[5]
0.75
[3]
[4]
[5]