2009 Meshless
2009 Meshless
Xiaohu Guo is partially supported by National Science Foundation CCF-0727098. Hong Qin
is partially supported by National Science Foundation IIS-0710819.
X. Guo
Department of Computer Science
University of Texas at Dallas
Tel: +1-972-883-4723
Fax: +1-972-883-2349
E-mail: [email protected]
H. Qin
Department of Computer Science
Stony Brook University
Tel: +1-631-632-8450
Fax: +1-631-632-8334
E-mail: [email protected]
2
1 Introduction
– B-splines and NURBS can represent complex shapes with relatively few primitives,
since each individual spline patch has a high approximation order. However, com-
bining different patches to a consistent surface model of arbitrary topology can be
difficult, since strict global continuity constraints need to be observed. Furthermore,
it is difficult to model high-frequency features or even discontinuity. Some attrac-
tive properties such as local adaptivity and multi-resolution are rather difficult to
achieve.
– Polygonal meshes are easier to handle as they are defined by a set of vertices with
a consistent adjacency graph, but require a higher number of primitives to achieve
the same geometric accuracy. With increasing resolution of the scanning devices,
geometric data sets are becoming more and more complex, lately reaching billions of
sample points for a single model [17]. Since scanners typically produce a collection
of point samples, many reconstruction methods are used to convert the point cloud
into a polygonal representation. Unfortunately, most of these methods do not scale
well with model size, e.g., many techniques based on the Delaunay triangulation
have a worst-case complexity of O(n2 ), where n is the number of sample points.
Being able to directly process, animate, or simulate point cloud representations
would avoid the need for surface reconstruction entirely.
– The finite element interpolation functions are then built upon the mesh, which
ensures the compatibility of the interpolation. However, this procedure is not always
advantageous, because the numerical compatibility condition is not the same as the
physical compatibility condition of a continuum. For instance, in a Lagrangian type
of computations, one may experience mesh distortion, which can either end the
computation altogether or result in drastic deterioration of accuracy. In computer
simulations of very large deformation, a distorted mesh introduces severe errors
in numerical computations. Therefore, it would be computationally efficacious to
discretize a continuum by only a set of nodal points without mesh constraints.
This is the leitmotif of contemporary meshless methods in mechanical engineering,
scientific computing, and computer animation.
– In simulations of failure processes [23], we need to model the propagation of cracks
along arbitrary and complex paths. This problem, in particular, becomes a notori-
ously difficult task using conventional mesh-based computational techniques such
as finite element method or finite difference method. In essence, the underlying
structure of these methods, which stem from their reliance on meshes, impedes the
flexible modeling and natural handling of discontinuities that do not coincide with
the original mesh lines. Therefore, the most viable strategy for dealing with moving
discontinuities in these methods is to remesh in each time step of the integration so
that mesh lines remain coincident with the discontinuities throughout the simula-
tion. However, this can introduce numerous difficulties for data management, such
as the strong need to map between meshes in consecutive stages of the simulation,
which inevitably results in degradation of both accuracy and complexity for system
implementation. In addition, model remeshing becomes an unavoidable burden. In
sharp contrast, meshless methods can overcome the above difficulties associated
with mesh structure, and avoid complex remeshing operations and the associated
problems of element cutting and mesh alignment sensitivity common in FEM.
discretization methods for our meshless framework. For solid simulation, we use octree
discretization based on implicit functions of the point-set surface (section 4.1). For
thin-shell simulation, we use quadtree discretization based on the global conformal
parameterization of the surfaces (section 4.2). In section 5 we describe the differential
equations used to represent the solid and thin-shell dynamics, and the Modal Warping
technique that we use to solve the dynamic system in real-time. Section 6 shows the
statistics and performance data of our experimental results. Finally, we conclude this
paper with several possible directions for future work in section 7.
2 Previous Work
Meshless (mesh-free) methods [4, 18] have been developed in the field of mechanical
engineering to enable solving partial differential equations (PDEs) numerically. The
meshless computation is based on a set of scattered nodes without having to recourse
to an additional mesh structure. The meshless methods require only a set of nodes
distributed across the entire analysis domain. The shape function associated with each
node is then constructed to approximate (or interpolate) the field functions using their
values at the sampling nodes in the analysis domain without explicit connectivity,
while satisfying certain basic requirements, such as compact support for computational
accuracy and efficiency, stability and consistency to ensure numerical convergence, etc.
Meshless method was introduced into the graphics and animation field by Desbrun
and Cani [8] using a particle system coated with a smooth iso-surface for animating soft
inelastic substance which undergo topological changes. Later they applied Smoothed
Particle Hydrodynamics (SPH) to simulate highly deformable bodies. Müller et al. [21]
presented a method for modeling and animating elastic, plastic, and melting volumetric
objects based on the MLS approximation of the displacement field. Most recently, they
presented a geometrically motivated approach in [22] for simulating deformable point-
based objects. Pauly et al. [27] simulated volumetric meshless fracture with a highly
dynamic surface and volume sampling method that affords complex fracture patterns
of interacting and branching cracks. Guo and Qin [11] combined meshless method with
modal analysis framework to provide real-time deformation of volumetric objects. The
most relevant work to our meshless thin-shell simulation is the approach proposed
by Wicke et al. [29], which uses locally defined fibers to approximate the differential
surface operators of the thin shell functional.
3 Meshless Methods
During the last two decades, meshless methods have been developed that enable solv-
ing PDEs numerically, based on a set of scattered nodes without having recourse to an
additional mesh structure (which must be put in place for the traditional finite element
methods). The unique advantages of meshless methods are multifold: (1) there is no
need to generate a mesh of nodes – they only need to be scattered within the analysis
domain, which is much easier to handle in principle; (2) moving discontinuities such as
cracks can be naturally facilitated, since no new mesh needs to be constructed as in
finite element methods, and the computational cost of remeshing at each time step can
be avoided entirely; (3) properties such as spatial adaptivity (node addition or elimi-
nation) and shape function polynomial order adaptivity (approximation/interpolation
5
types) can streamline the adaptive model refinement and simulation in both time and
space; and (4) data management overhead can be minimized during simulation. In
1994, Belytschko et al. proposed the Element Free Galerkin (EFG) method [2] to solve
linear elastic problems, specifically the fracture and crack growth problems [3], in which
the Moving Least Squares (MLS) interpolant was employed in a Galerkin procedure.
In this paper we focus on the Element Free Galerkin method, mainly because it has
been well-developed with mature techniques, and it has shown a superior rate of con-
vergence and high efficiency in modeling moving interfaces. Other variants of available
mesh-free methods can also be adopted into our prototype system in a straightforward
way without theoretical obstacles.
In a nutshell, the meshless methods require only a set of nodes distributed across
the entire analysis domain. The shape function associated with each node is then
constructed to approximate (or interpolate) the field functions using their values at
the sampling nodes in the analysis domain. For finite element methods, however, the
shape functions are constructed utilizing the mesh of the elements. In sharp contrast,
the shape functions in meshless methods are constructed using only the sampling nodes
without any connectivity, while satisfying certain basic requirements, such as compact
support for computational accuracy and efficiency, stability and consistency to ensure
numerical convergence, etc. The shape functions in the EFG method are constructed
by using the MLS technique, or alternatively on the basis of reproducibility conditions
(note that both approaches can arrive at the same expressions for the shape functions),
and it can provide continuous and smooth field approximation throughout the analysis
domain with any desirable order of consistency. To make our paper self-contained,
we present a brief introduction of the MLS approximation for the definition of shape
functions in the following subsection.
The moving least squares method can be traced back to its original application in
scattered data fitting, where it has been studied under different names (e.g., local
regression, “LOESS”, weighted least squares, etc.) [16].
We associate each node I with a positive weight function wI of compact support.
The support of the weight function wI defines the domain of influence of the node: ΩI =
{x : wI (x) = w(x, xI ) > 0}, where w(x, xI ) is the weight function associated with node
I evaluated at position x. The approximation of the field function f at a position x
is only affected by those nodes whose weights are non-zero at x. We denote the set of
such nodes the active set A(x). Figure 1 illustrates the meshless computational model
with rectangular and circular local influence domains, respectively.
Let f (x) be the field function defined in the analysis domain Ω, and f h (x) the
approximation of f (x) at position x. In the MLS approximation, we let
m
X
f h (x) = pi (x)ai (x) = pT (x)a(x), (1)
i=1
where pi (x) are polynomial basis functions, m is the number of basis functions in the
column vector p(x), and ai (x) are their coefficients, which are functions of the spatial
coordinates x. In our implementation, we utilize 3-D linear basis functions: pT (m=4) =
6
where fI is the nodal field value associated with the node I. We can rewrite Equation
(2) in the form:
J = (Pa − f )T W(x)(Pa − f ), (3)
where
f T = (f1 , f2 , . . . fn ),
p1 (x1 ) p2 (x1 ) · · · pm (x1 )
p1 (x2 ) p2 (x2 ) · · · pm (x2 )
P=
.. .. .. .. ,
. . . .
p1 (xn ) p2 (xn ) · · · pm (xn )
and
w(x − x1 ) 0 ··· 0
0 w(x − x2 ) ··· 0
W(x) =
.. .. .. .. .
. . . .
0 0 · · · w(x − xn )
To find the coefficients a(x), we obtain the extremum of J by setting
∂J
= A(x)a(x) − B(x)f = 0, (4)
∂a
where the m × m matrix A is called moment matrix :
A(x) = PT W(x)P,
B(x) = PT W(x).
7
So we can obtain:
a(x) = A−1 (x)B(x)f . (5)
And the shape functions are given by:
If we consider the field function as a function of both space and time f (x, t), the
approximation in the analysis domain Ω can be written as:
X
f (x, t) ≈ f h (x, t) = φI (x)fI (t), (7)
I∈A(x̂)
The moment matrix A may be ill-conditioned when (i) the basis functions p(x) are
(almost) linearly dependent, or (ii) there are not enough nodal supports overlapping
at the given point, or (iii) the nodes whose supports overlap at the point are arranged
in a special pattern, such as a conic section for a complete quadratic polynomial basis
p(x). Note that the necessary condition for the matrix A to be invertible is
which can be automatically guaranteed using the octree-based (for volumetric models)
and quadtree-based (for surface models) node placement method to be explained in
the next section. Furthermore, the spatial derivatives of the shape functions can be
obtained by noting that the differentiation of Equation (4) yields:
So the factorization of A in Equation (6) can be re-used for the computation of the
derivatives with little extra cost.
Linear : pT
(m=4) = {1, x, y, z}, (10)
Quadratic : pT 2 2 2
(m=10) = {1, x, y, z, x , xy, xz, y , yz, z }. (11)
The weight functions w(x, xI ) play important roles in constructing the shape func-
tions. They should be positive to guarantee a unique solution for a(x); they should
decrease in magnitude as the distance to the node increases to enforce local neigh-
bor influence; they should have compact supports, which ensure sparsity of the global
8
matrices. They can differ in both the shape of the domain of influence (e.g., paral-
lelepiped centered at the node for tensor-product weights, or sphere), and in functional
form (e.g., polynomials of varying degrees, or non-polynomials such as the truncated
Gaussian weight). In our implementation, we choose the parallelepiped domain of in-
fluence for the ease of performing numerical integrations, and utilize the composite
quadratic tensor-product weight function:
x − xI y − yI z − zI
w(x, xI ) = c( )c( )c( ), (12)
dmxI dmyI dmzI
where dmxI , dmyI , and dmzI denote half of the length of the supporting parallelepiped
sides (for the tensor-product weights) along three directions, respectively. The compo-
nent function c(s) is analytically defined as:
(1 − 2s2 ) f or 0.5 > s ≥ 0
c(s) = 2(1 − s)2 f or 1 > s ≥ 0.5 (13)
0 f or s≥1
In our meshless volumetric simulation system, the input data is an unstructured point
cloud comprising a closed manifold surface. If we conduct our dynamic simulation
solely on surface points, many difficulties arise. First, performing inside/outside tests
based entirely on surface point information is a forbidding task with many ambiguities.
Second, point insertion is unavoidable if a deformation is large and in fact spreads out
across the model rather significantly, in which case gaps will occur at the current
resolution. To ameliorate, we compute a volumetric distance field for the input surface
points. Such a distance field, which expands to the entire volumetric domain, will also
aid in the selection of volumetric points at the interior of solid objects for the dynamic
simulation governed by the EFG method. Let us first briefly review some relevant
work which leads to the construction of octree-based distance fields for point surfaces.
Pauly et al. [26] rely on the moving least squares surface projection operator for both
inside/outside tests and point insertion. However, ambiguities would still occur in many
degenerate cases if we only use the moving least squares surface projection operator
[30]. Guo et al. [10] proposed to embed the point set surfaces into volumetric scalar
fields to facilitate surface representation, surface editing, dynamic point re-sampling,
collision detection, etc. Implicit surfaces can be considered a natural and powerful
tool for modeling unstructured point set surfaces for the following reasons: (i) the
inside/outside test can be performed by directly utilizing the implicit function; (ii) the
topology of the implicit surface can be easily updated without any ambiguity. Figure
2 (a) shows the visualization of distance fields using a color-coded 2D slice.
( (%(% (%
(% (
( ( ( ( ( (
( ,%,% ,%
,% (
( ( (
( ( ,%
,% (%
(%
( ( (
,LQWHULRU
( ( ( (
(
( (%
(%
(%% ,
,%
,%
,
,%
,%
(%
(
( ( ( ( (H[WHULRU
((%
%
((%
%
,,%
,,%
%
%
((%
%
,
(%
,,%% ((%
(%% ,
% ( ((%% ,
,
,
((%
((%
%
%((% % ((%
%
(
((%%
(%%
,,%
%
((%%
,
((%
((%
%
% ,%LQWHULRUERXQGDU\
(
(
( (%
(
,,%
%
((%
, , , ,
% ,%
,%
,
,
,
,
((%
,%
,%
,
%
,
(%%
,
((%
% ,%
,%
, ,
((%
%
((%%
(% (%H[WHULRUERXQGDU\
( (% , ,%
,% ( ( ( ( ( (
( ,%
,% ((%% (
(
(%%
(
,%
,%
(% ,%
(% ,%
, , ,%
,
,% ((%
%
,
% , ,%
((%
((%
%
,% ,%
,%
(
(%
(
(
(
0RGHO
( (
,%
,% ,%
,% ((%% (% ( ( ( (%(% ,%
,% , ((%
% (
( (%% ,%
,% (% ( (%% ,%
,% (
( ( ( (
( (%% (%
(% ( ( (%% (%
(% (
Fig. 3 The definition of interior, exterior, interior boundary, and exterior boundary octants
for mesh-free simulation.
Since we already have the implicit surface representation of the object, we can
easily classify each terminal octants as interior (I) octants OI , exterior (E) octants
OE , and boundary (B) octants OB (see Figure 3). Interior octants are those that
are fully embedded in the interior of the geometric domain Ω. Exterior octants are
those that are located totally outside of Ω, and boundary octants are those that are
intersected by the boundary of Ω. The boundary octants are further classified into
interior boundary (IB) OIB and exterior boundary (EB) OEB octants. The simple rule
is that the centroid of an IB octant is located within the domain, whereas the centroid
of an EB octant is located outside the domain. After the geometric classification, we
can place a volumetric node (for mesh-free dynamics) at the center of each interior (I)
and boundary (IB, EB) octant. For an EB octant, the node should be displaced by
projecting from its center onto the implicit surface to ensure that each node resides in
11
Ω. Let octant Oi ∈ OI ∪ OB and node i reside in Oi , the open cover associated with
node i is a cube of size α · size(Oi ) centered around node i (see Figure 4 (a)). Both the
volumetric nodes and their open cover regions are necessary constituents for mesh-free
dynamics.
(
a size OI)
open cover
integration cell
size(OI)
integration point
node I
octant
(a) (b)
Fig. 4 (a) The definition of open cover {ΩI } regions based on the octree structure for mesh-
free patches; (b) The interaction between open covers and integration cells, and the integration
points for Gaussian quadrature.
The open cover construction based on terminal octants can provide the structure
needed to perform efficient neighboring search and patch intersection test. It has been
proved in [15] that by choosing a suitable size for α, the validity of the open cover can
be guaranteed a priori. For example, for a linear basis p(x)T (m=4) = {1, x, y, z}, any
point in the domain will be covered by at least 4 patches if we choose α to be 3. The
generation of an octree is much more efficient than a finite element mesh in practice.
Furthermore, the octree allows refinement of the discretization in areas of singularities
if necessary (e.g., near the crack surface).
In order to assemble the entries of the system matrices, such as the mass matrix or
stiffness matrix, we need to integrate over the problem domain. This can be performed
through numerical techniques such as Gaussian quadrature, using the underlying in-
tegration cells. The integration cells can be totally independent of the arrangement of
nodes. The integration cells are used merely for the integration of the system matrices
but not for field value interpolation. In our octree-based discretization scheme, since
the terminal octants do not overlap (except on their shared boundaries), we can fur-
ther subdivide the terminal octants OI and OB into smaller cells and use them as the
integration cells (see Figure 4 (b)). There may exist some integration cells that do not
entirely belong to the analysis domain. We can easily separate the portion of the cell
which lies outside of the domain by evaluating the implicit function (used for repre-
senting the surface distance field). The creation of the open cover and the integration
cells, as described here, eliminates any global searching for members of the open cover
during matrix assembly and time integration. With the prior knowledge of the value
α and utilizing the direct face neighbor links, all patches covering a integration point
x ∈ Ω can be found in O(1) time.
12
Fig. 5 The global conformal parameterization (b) for the David head model (a). The checker-
board texture on the parametric domain (d) can be mapped onto the surface (c).
One important advantage of meshless method is the flexibility of the sampling pat-
tern. In the thin-shell simulation, it would be more desirable to have a initial sampling
scheme such that the sampling nodes are uniformly distributed on the manifold surface
(Figure 8 (a)). Similar to the idea of using octree structure to facilitate the volumetric
sampling of the volumetric space in Section 4.1, we utilize a quadtree structure on
the parametric domain. The subdivision depth of the quadtree is dependent on the
conformal factor λ. Suppose the size of the quadtree cell is l. If λl is larger than a
threshold (i.e. the surface patch corresponding to the cell is still large enough), we
keep subdividing the cell into 4 child-cells. We place the sampling nodes based on the
quadtree discretization of the parametric plane. Since the conformal factors in u and v
directions are equivalent, we can choose simple “symmetric” supporting region (such
as squares, or disks) for each simulation nodes. In our implementation, we use square-
shaped supporting region for the ease of performing numerical integrations. For a node
i reside in quadtree cell Qi , its supporting region is a square of size η ·size(Qi ) centered
around node i. We restrict the quadtree to be a one-level adjusted quadtree, where the
level difference of all terminal cells and their edge neighbors is no more than one. This
restriction can facilitate the automatic satisfaction of patch covering condition in order
to make the moment matrix invertible. It has been proved in [15] that by choosing a
suitable size for η, the validity of the supporting region can be guaranteed a priori. For
example, for a linear basis p(x)T = [1, θ 1 , θ 2 ], any point in the domain will be cov-
ered by at least 3 patches if we choose η to be 3. The supporting region construction
based on terminal quadtree cells can provide the structure needed to perform efficient
neighboring search and patch intersection test. The quadtree cells can be also utilized
as integration cells to perform numerical integration similar to the volumetric case in
Section 4.1.2.
(a) (b)
Fig. 7 (a) The quadtree structure on the parametric plane for placing simulation nodes; (b)
the dynamic re-sampling near the crack line (blue curve).
In the parameterization stage, the seams between different parametric patches are
represented by additional point set curves, which are generated by tracing integral
curves. These additional point set curves are only used in the parameterization step,
i.e., they are not added to the original point set surface after the parameterization. In
the simulation stage, the parametric seams are maintained in a table indicating the
connection correspondence of different parametric patches. The simulation nodes are
not duplicated on the patch boundaries. The support of the shape function associated
with each simulation node is not restricted to the parametric patch where it resides.
In fact, the support can be expanded to other parametric patch if the node is close to
14
the boundary of its patch (see Figure 8 (c)). So the behaviors of the nodes across the
boundaries are consistent with non-boundary nodes without any unnatural artifact.
Fig. 8 (a) Uniform sampling nodes on the surface; (b) the 4 parametric planes; (c) the sup-
porting regions of two simulation nodes are shown in pink and green; their overlapping region
is shown in yellow.
When a crack is generated in a body, the dependent variables (e.g. the displace-
ments, etc.), must be discontinuous across the crack. Furthermore, the support of the
nodes affected by the discontinuities need to be modified accordingly to incorporate
the proper behavior of the shape functions and its derivatives. Similar to the approach
of [27], we use the transparency criterion proposed in [25] to allow partial interaction of
nodes in the vicinity of the crack front. Note that all these operations can be easily per-
formed on the 2D parametric domain. We need to perform dynamic up-sampling (node
insertion) during the crack simulation, in order to maintain numerical stability even for
an initially adequately sampled model. New simulation nodes need to be inserted in the
vicinity of crack lines. We take the same criterion as [27] to determine under-sampling
at each node based on transparency weights. If the transparency weights becomes too
small due to a nearby crack line, we subdivide the quadtree cell associated with the
simulation node into 4 child-nodes (see Figure 7 (b)).
In our meshless approximation, the motion parameters of the material point x, i.e.,
the displacements u, velocity u̇, and acceleration ü, can be approximated by using the
moving least squares shape functions φI (x) as:
X
u(x, t) = φI (x)uI (t), (14)
I
X
u̇(x, t) = φI (x)u̇I (t),
I
X
ü(x, t) = φI (x)üI (t).
I
15
Note that uI , u̇I , and üI are not the nodal values of displacements, (velocities, etc.),
but rather nodal parameters without a direct physical interpretation, because the shape
functions φI (X) produce approximation, not interpolation of the field values. The par-
tial derivatives with respect to the referencing coordinates xk can be obtained simply
as: X
u,k (x, t) = φI,k (x)uI (t).
I
We use the Euler-Lagrange equations for the elastic deformation of solid models:
d ∂T (u̇) ∂V (u)
( ) + µu̇ + = Fext , (15)
dt ∂ u̇ ∂u
where the kinetic energy T and elastic potential energy V are functions of u̇ and u,
respectively. The term µu̇ is the generalized dissipative force, and Fext is a generalized
force arising from external body forces, such as gravity.
The kinetic energy of the moving body can be expressed as:
Z
1 1 X IJ
T = ρ(x)u̇ · u̇dΩ = M u̇I · u̇J , (16)
2 Ω 2
I,J
R
where ρ(x) is the mass density of the body, and M IJ = Ω ρ(x)φI (x)φJ (x)dΩ. Then
we can have:
d ∂T (u̇)
( ) = Mü, (17)
dt ∂ u̇
where the matrix M composed of the elements MIJ is called the mass matrix.
The elastic potential energy of a body can be expressed in terms of the strain tensor
and stress tensor. The strain is the degree of metric distortion of the body. A standard
measure of strain is Green’s strain tensor:
∂ui ∂uj ∂u ∂ul
²ij = + + δkl k . (18)
∂Xj ∂Xi ∂Xi ∂Xj
Forces acting on the interior of a continuum appear in the form of the stress tensor,
which is defined in terms of strain:
ν
τij = 2G{ tr(²)δij + ²ij }, (19)
1 − 2ν
P
where tr(²) = ij δij ²ij . The constant G is called the shear modulus, which determines
how strongly the body resists deformation. The coefficient ν, called Poisson’s ratio, de-
termines the extent to which strains in one direction are related to those perpendicular
to it. This gives a measure of the degree to which the body preserves volume. The
elastic potential energy V (u) is given by the formula:
Z X
ν
V =G { tr2 (²) + δij δkl ²ik ²jl }dΩ, (20)
Ω 1 − 2ν
ijkl
By combining the above Equations (14), (18), and (23), we can formulate the
derivatives of V (with respect to u) as polynomial functions of u, the coefficients of
which are integrals that can be pre-computed using the techniques mentioned in Section
4.1.2.
16
For any point-sampled surface, if we assume that one dimension (i.e. the thickness),
of the surface body is significantly smaller than the other two dimensions, we can
consider the point-sampled surface as a thin-shell. In the Kirchhoff-Love thin shell
framework, the deformation of the surface body is fully described by the deformation
of the middle surface represented by point-samples. Let ϕ denote the position of a
point on the middle surface of the shell, and let a3 be the unit director vector which
is normal to the shell surface. Given the global parameterization of the point-sampled
surfaces, we can describe the positions of any material point in the reference (denoted
r̄) and deformed (denoted r) configurations of the shell by:
where α and β are the membrane and bending strains respectively, H̃ is the stan-
dard constitutive matrix, the constant E is Young’s modulus, and the coefficient ν is
Poisson’s ratio. More specific derivations can be found in [6].
The system of ordinary differential equations which results from the application of
the Element-free Galerkin discretization of the spatial domain can either be integrated
directly, or analyzed by mode superposition. That is, the time dependent solution can
be expressed as the superposition of the natural (or resonant) modes of the system.
In the following section, we will briefly introduce some basics of Modal Analysis. More
detailed discussions can be found elsewhere [28, 14, 13, 5].
where M, C, and K are the mass, damping and stiffness matrices, respectively, F is the
external load vector and u(t) is the vector of nodal displacements. Under the commonly
adopted Rayleigh damping assumption, we can replace the damping matrix with C =
αM + βK, where α and β are weighting coefficients. For linear elasticity models, both
17
M and K are constants. Let the columns of Ψ be the solution to the generalized
eigenvalue problem Kx = λMx, and Λ be the diagonal matrix of eigenvalues, then
equation (24) can be transformed to:
where z = Ψ−1 u is the vector of modal amplitudes, and Ψ is called modal displacement
matrix whose i-th column represents the i-th mode shape (see Figure 9). The decou-
pled ODEs in Equation (25) can be computed independently and combined by linear
superposition. The computational loads can be further reduced by removing modes
that are too stiff to be observed (corresponding to higher eigenvalues). So we can take
only l dominant columns of Ψ, to reduce the amount of computation significantly.
Our Meshless Modal Analysis framework is build upon the Modal Warping technique
proposed by Choi and Ko [5]. Their innovative approach tracks the local rotations that
occur during the deformation based on the infinitesimal rotation tensor, and warps the
pre-computed modal basis in accordance with the local rotations of the mesh nodes.
For the space limit, we only briefly introduce their general ideas here. More specific
technical details and proofs can be found in [5].
Considering an infinitesimal deformation with displacement u, the rotation tensor
is defined as:
1
ω = (∇ × u)× = w×, (26)
2
where ∇ × u is the curl of the displacement, w× denotes the standard skew-symmetric
matrix of vector w. Here w = 21 (∇ × u) can be considered as a rotation vector that
causes the rotation by angle kwk around the unit axis w/kwk. In the Modal Analysis
setting, the rotation vector can be expressed in terms of the modal amplitude z:
1
w(x) = (∇×)Φ(x)Ψz (27)
2
(a) (b)
Fig. 10 A solid rabbit model before (a) and after (b) deformation. The green spheres are the
discretized simulation nodes inside the rabbit surface. The local coordinate frames associated
with the simulation nodes are rotated during the deformation.
constant. In order to apply the linear Modal Analysis method, it has been shown in [5]
that the non-linear Euler-Lagrangian equations
can be approximated using the displacement uL measured from each local orientation
frame:
MüL + Cu̇L + KuL = RT F (29)
where R = [δij Ri ] is the block diagonal rotation matrix for all the nodes. Actually
there are two basic assumptions to guarantee the validity of this approximation (please
refer to [5] for the details and proofs). And we found that these assumptions can be
directly applied to our meshless setting without influencing its validity. Using modal
decomposition: uL (t) = ΨzL (t), the linear elastodynamic equation (29) for uL can be
reduced to a set of decoupled ODEs:
where Cz = (αI + βΛ) and Kz = Λ are both diagonal matrices. We solve the above
decoupled ODEs using implicit time integration. We take an approach similar to [1] by
making a first-order approximation of the total force at the next time step, to get the
following linear system:
½
∆z = h(ż0 + ∆ż)
∆ż = h(F0 − Kz (z0 + ∆z) − Cz (ż0 + ∆ż))
where h is the size of the time step, z0 and ż0 are the current modal amplitude and
velocity, and ∆z and ∆ż are their expected change in the next time step. By regrouping,
we obtain
Az ∆ż = bz (31)
where
Az = I + hCz + h2 Kz
and
bz = h (F0 − Kz z0 − (Cz + hKz )ż0 )
Note that Az is a diagonal matrix, which makes equation (31) to be solved efficiently.
19
In order for the users to interact with the simulated objects, position and orientation
constraints are important and must be enforced. In general, the MLS shape functions
lack the Kronecker delta function property and result in u(xI ) 6= uI . The position and
orientation constraints (Cp and Co , respectively) can be formulated as:
Since both the number of selected modes l and the number of constraints k are typically
small (l ≤ 128, k ≤ 20 in all of our examples), equation (33) could be solved in real-
time.
6 Experimental Results
The meshless simulation and rendering parts of our system are implemented on a
Windows XP PC with dual Intel Xeon 2.8GHz CPUs, 2.0GB RAM, and an nVidia
GeForce Fx 5900 Ultra GPU. The entire point-based rendering pipeline is built upon
Pointshop3D [32]. We have conducted extensive experiments on various point-sampled
surface data sets, for both solid and thin-shell simulations.
Table 1 shows the model statistics and performance data for our meshless solid
simulation based on the modal warping technique. For all the data sets in the elastic
solid simulation, the MLS pre-computation for the system matrices takes less than 10
minutes, while the modal decomposition takes less than 1 minute. Figure 11 shows the
deformation of the Santa Claus model based on users’ manipulation constraints on its
hands and feet. Figure 12 shows the deformation of the balljoint model under users’
manipulation with the bottom fixed.
Table 2 shows the performance data for our meshless thin-shell simulation based
on global conformal parameterization. We use the implicit time integration method
for the thin-shell simulation, which has been demonstrated to be very stable. The
initial numbers of nodes in the examples of gargoyle, bunny, rocker arm, and Iphigenie
simulations are only around 500. The elastic deformations of the gargoyle (Figure 13),
20
Table 1 The model statistics and performance data for the meshless elastic solid simulation
based on modal warping.
bunny (Figure 14), and rocker arm (Figure 15) are simulated in real-time. Figure 16
shows the global conformal parameterization and explosion simulation of the Iphinenie
model. The computational load at each time step of the fracture propagation is much
higher than pure elastic deformation. We need to perform transparency tests for the
integration points, surface points, and simulation nodes in the neighborhood of new
crack lines. And new simulation nodes need to be inserted if necessary. We have to
update the mass and stiffness matrices at each time step to accomodate these changes.
Table 2 The model statistics and performance data for the meshless elastic thin-shell simu-
lation based on global conformal parameterization.
tional approximation and interpolation using discrete nodes; (2) hierarchical meshless
discretization for shells and solids; (3) Modal Warping for real-time simulation of large
deformations.
There are many avenues for possible future work, including exploring the theoretical
foundation of the meshless framework, designing efficient and accurate computational
algorithms, developing new functionalities, e.g. integrating haptic interaction between
human beings and virtual environments. Some of the most exciting applications of
HCI and haptic feedback have been found in surgical simulation, including a variety
of medical procedures, e.g. limb surgery, plastic surgery, gastrointestinal endoscopy,
etc. Traditionally mesh-based FEM is used to simulate real-time visual and haptic
rendering of soft tissues. A potential solution to the remeshing problems faced by the
FEM techniques is to use meshless methods articulated in this paper. Simulating surgi-
cal operations such as cutting and coagulation requires frequently updating the organ
mesh structure which is a very challenging process to be implemented robustly with-
out numerical singularities. Surgical cutting simulation is a simplified version of the
fracture simulation, since the cutting path is human-guided. However, surgical simu-
lations pose more critical time constraints since they need to provide timely sensory
information for the user in order to achieve immersive realism. A balance is needed to
ensure the simulation is fast enough for generating real-time feedbacks whilst the level
of realism is reasonably acceptable. Numerical methods, including the solvers used in
our meshless methods, can be very computationally expensive. Fortunately, many such
numerical techniques can be parallelized in order to accelerate the computation of rel-
evant quantities. In particular, the hierarchical structure (quadtree and octree) used in
our thin-shell and volumetric simulations can facilitate the parallelization by comput-
ing strains and other relevant quantities locally and by assembling the results globally.
Graphics processing unit (GPU) has seen fast developing in recent years. More and
more researchers have tried to use the GPU to solve general-purpose problems. Some
GPU-based mesh deformation algorithms have already been proposed [31]. However,
the GPU pipeline is specifically designed for mesh-based computations. Using the par-
23
References