An Analysis of Interactive Deformable Solid Object Modeling

Similar documents
Cloth Animation with Collision Detection

Mass-Spring Systems. Last Time?

Cloth Simulation. Tanja Munz. Master of Science Computer Animation and Visual Effects. CGI Techniques Report

Physically Based Simulation

Physically Based Simulation

Simulation in Computer Graphics. Deformable Objects. Matthias Teschner. Computer Science Department University of Freiburg

Modeling Cloth Using Mass Spring Systems

Cloth Simulation. COMP 768 Presentation Zhen Wei

Navier-Stokes & Flow Simulation

PHYSICALLY BASED ANIMATION

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments?

The jello cube. Undeformed cube. Deformed cube

CS 231. Deformation simulation (and faces)

The Jello Cube Assignment 1, CSCI 520. Jernej Barbic, USC

Local Modification of Subdivision Surfaces Based on Curved Mesh

A Fast and Stable Approach for Restoration of Warped Document Images

Navier-Stokes & Flow Simulation

T6: Position-Based Simulation Methods in Computer Graphics. Jan Bender Miles Macklin Matthias Müller

Introduction to Computer Graphics. Animation (2) May 26, 2016 Kenshi Takayama

CS 231. Deformation simulation (and faces)

Ragdoll Physics. Abstract. 2 Background. 1 Introduction. Gabe Mulley, Matt Bittarelli. April 25th, Previous Work

Development of Reverse Engineering System for Machine Engineering Using 3D Bit-map Data. Tatsuro Yashiki* and Tarou Takagi*

Numerical Integration

CGT 581 G Fluids. Overview. Some terms. Some terms

2.7 Cloth Animation. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter 2 123

Fluent User Services Center

3D Physics Engine for Elastic and Deformable Bodies. Liliya Kharevych and Rafi (Mohammad) Khan Advisor: David Mount

Real Time Cloth Simulation

Navier-Stokes & Flow Simulation

Volumetric Particle Separating Planes for Collision Detection

DYNAMIC SIMULATION OF INEXTENSIBLE CLOTH

Transformations for Virtual Worlds. (thanks, Greg Welch)

THE development of stable, robust and fast methods that

Comparing Efficiency of Integration Methods for Cloth Simulation

QP-Collide: A New Approach to Collision Treatment

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

Simulation in Computer Graphics. Particles. Matthias Teschner. Computer Science Department University of Freiburg

1 Exercise: 1-D heat conduction with finite elements

A Method of Drawing Cloth Patterns With Fabric Behavior

A Geometric Approach to Animating Thin Surface Features in SPH Water

Example 24 Spring-back

Particle-based Fluid Simulation

A Procedure to Clip Line Segment

Real-Time Simulation of Deformation and Fracture of Stiff Materials

THE FORCE DENSITY METHOD: A BRIEF INTRODUCTION

Image-Based Deformation of Objects in Real Scenes

Adarsh Krishnamurthy (cs184-bb) Bela Stepanova (cs184-bs)

Abstract. Introduction. Kevin Todisco

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation

Particle Systems. Lecture 8 Taku Komura

A High Quality, Eulerian 3D Fluid Solver in C++ A Senior Project. presented to. the Faculty of the Computer Science Department of

Animation. Itinerary. What is Animation? What is Animation? Animation Methods. Modeling vs. Animation Computer Graphics Lecture 22

A GPU Accelerated Spring Mass System for Surgical Simulation

Physically-Based Modeling and Animation. University of Missouri at Columbia

Physically based modelling Computer Graphics I February 27, 2003

Animation. Itinerary Computer Graphics Lecture 22

Meshless Modeling, Animating, and Simulating Point-Based Geometry

Development of a Maxwell Equation Solver for Application to Two Fluid Plasma Models. C. Aberle, A. Hakim, and U. Shumlak

DYNAMICS FOR ANIMATION. Rémi Ronfard, Animation, M2R MOSIG

CUDA Particles. Simon Green

1.2 Numerical Solutions of Flow Problems

CONSTRUCTIONS OF QUADRILATERAL MESHES: A COMPARATIVE STUDY

Surgical Cutting on a Multimodal Object Representation

FixDec: Fixed Spherical n Points Density-Based Clustering Technique for Cloth Simulation

Parallel Implicit Integration for Cloth Animations on Distributed Memory Architectures

Error in Numerical Methods

Advanced Graphics

Cloth The Animation of Natural Phenomena Adrien Treuille

Fast Projected Area Computation for Three-Dimensional Bounding Boxes

An Adaptive Collision Detection and Resolution for Deformable Objects Using Spherical Implicit Surface

Fast Simulation of Mass-Spring Systems

Homework 2 Questions? Animation, Motion Capture, & Inverse Kinematics. Velocity Interpolation. Handing Free Surface with MAC

Discrete representations of geometric objects: Features, data structures and adequacy for dynamic simulation. Part I : Solid geometry

Large Steps in Cloth Simulation

Physically Based Modeling

Practical Examples of Efficient Design Optimisation by Coupling VR&D GENESIS and LS-DYNA

Simulating Sinkage & Trim for Planing Boat Hulls. A Fluent Dynamic Mesh 6DOF Tutorial

Solid Modelling. Graphics Systems / Computer Graphics and Interfaces COLLEGE OF ENGINEERING UNIVERSITY OF PORTO

Shape of Things to Come: Next-Gen Physics Deep Dive

Surgery Simulation and Planning

Cloth Hair. and. soft bodies

EFFICIENT SOLVER FOR LINEAR ALGEBRAIC EQUATIONS ON PARALLEL ARCHITECTURE USING MPI

Calculate a solution using the pressure-based coupled solver.

Simulation in Computer Graphics. Introduction. Matthias Teschner. Computer Science Department University of Freiburg

Physics-Based Deformable Object Simulation in Ubiquitous Computing Environments

Physically-Based Laser Simulation

Surface Reconstruction. Gianpaolo Palma

Iterative Algorithms I: Elementary Iterative Methods and the Conjugate Gradient Algorithms

Numerical Simulation of Aircraft Seat Compliance Test using LS-DYNA Implicit Solver

Simulation of curly hair

Intuitive Control of Dynamic Simulation Using Improved Implicit Constraint Enforcement

Soft-Bodies. Spatially Coupled Shells. Technical Report (Soft-Bodies) Benjamin Kenwright. 1 Introduction

Physics Tutorial 2: Numerical Integration Methods

Announcements. Ray tracer is due in five days you should have started by now or you re going to have a bad week. Missing file posted on the web page

CPSC / Sonny Chan - University of Calgary. Collision Detection II

Interactive Fluid Simulation using Augmented Reality Interface

Static Gesture Recognition with Restricted Boltzmann Machines

NIA CFD Seminar, October 4, 2011 Hyperbolic Seminar, NASA Langley, October 17, 2011

Development of an Integrated Computational Simulation Method for Fluid Driven Structure Movement and Acoustics

Directional Constraint Enforcement for Fast Cloth Simulation

Transcription:

An Analysis of Interactive Deformable Solid Object Modeling Shrirang Yardi Department of Electrical and Computer Engineering Virginia Tech Blacksburg, VA yardi@vt.edu Benjamin Bishop Department of Computing Sciences University of Scranton Scranton, PA bishop@cs.uofs.edu Thomas P. Kelliher Department of Mathematics and Computer Science Goucher College Baltimore, MD kelliher@bluebird.goucher.edu Abstract Interactive deformable object modeling is important for a number of application areas. Unfortunately, computational complexity quickly grows beyond the capabilities of consumer systems as model detail increases. Our first contribution is to analyze this application, and present details that might aid in optimizing existing algorithms or in developing new ones. Our second contribution is to provide source code that should be useful in future research. I. INTRODUCTION Interest exists in deformable object modeling for a number of interactive applications. These applications include: surgical simulation, electronic entertainment, wargame simulation and others. Interactive simulation is difficult because the simulation must be advanced under real-time contraints. Current systems available to consumers offer far less performance than required for simulating detailed objects. Our research focuses on accelerating these simulations through the use of specialized hardware systems. In order to acheive this goal, we have completed a number of simulations to better understand the computational characteristics of these algorithms 1. In this paper, we present the results of our simulations. Additionally, we provide open source code for our implementation of the deformable object simulation. Although these algorithms are described elsewhere, we have found implementation to be non-trivial, and we have not 1 We discuss the rationale for choosing the particular algorithm in later sections found any very general public source code for an existing implementation. II. PRIOR WORK A number of methods exist for representing and animating deformable objects. [1] provides a survey for some of the more mature techniques used in graphics. However, modeling deformation is not unique to graphics. It is intuitive to consider similar techniques as those used to model structural deformation (of bridges for example). However, the requirements of interactive graphics may differ significantly from that of structural engineering. In interactive simulation, we wish to guarantee stability and performance, usually at the expense of accuracy. It is fairly trivial to develop a deformable object simulation using explicit integration such as the forward Euler method [2]. However, this approach is not well-suited for interactive simulation. If large uniform time steps are used, real-time performance can be assured, but the simulation is very likely to diverge. If an adaptive step-size is used, the simulation may be stable, but we cannot guarantee that we will meet our real-time constraints. In [3], Baraff et al. describe a simulation method especially suited for cloth simulation. tends to be difficult to simulate efficiently due to object stiffness against stretch forces. Their approach is to apply implicit integration in order to allow for stability over large time steps. Since the goal is to produce visually pleasing results, accuracy may be sacrificed.

III. CURRENT WORK In our work 2, we have adopted the algorithms described in [3]. The justification for using these algorithms is supplied in that paper. The model is a series of mass points connected by deformable springs. Applying implicit integration, and converting the system of equations as in [3], we are left with a large sparse linear system. We then apply the Conjugate Gradient method [4] to produce our solution. In order to analyze the simulation, we must also generate reasonable deformable objects to model. We have produced two models that are intended to be representative of the range of models that one might wish to simulate. The cloth model is a simple two dimensional mesh. The cube model is generated from a three dimensional uniform grid of points. Each point is connected with springs to the 26 points bordering it (except for boundary points). Models are generated automatically, which allows for an arbitrary level of detail to be supplied by the user. These models are representative in the sense that they establish bounds on the expected structure of realistic models to be simulated. We expect that there are few useful models that are more simplistic (in terms of spring topology) than our cloth. Even with cloth, we may wish to add springs in order to model forces opposing folding. We expect complex three dimensional objects to behave similarly to our cube model. For these objects, an intuitive approach would be to model them as a mass-spring system by fitting the complex object to a three dimensional mesh (similar to the cube). Mesh points contained in the complex object would be retained, others would be discarded. We believe that this approach allows us to approximate the behavior of complex three dimensional objects using our cube model. Figures 1(a) and 1(b) show the structure of the cloth and cube models respectively. Figures 2(a) and 2(b) show the resulting linear system sparsity patterns for the same models. A relatively simple gravity-driven simulation was used. For the cloth simulation, the position of one edge of the cloth was constrained, and no collision detection was applied. For the cube simulation, simplistic collision detection relative to a static floor was used. Collisions were resolved using control points additional points connected to model points by zero-length stiff springs. Sample graphic output from simulating the cloth model is presented in Figure 3. IV. RESULTS Each of our simulations was run using a range of model complexity. This allows us to draw conclusions about how the simulation complexity scales with object detail. One of the important factors that we considered was the amount of memory that the computation requires. This is important because delay increases rapidly as additional levels of the memory hierarchy are accessed. Figure 4(a) shows the memory footprint for various models. Figure 4(b) shows the same figure per spring of the model. From figure 4(a) we can see that the growth in memory utilization is highly dependent on the type of model. Our cube model grows in complexity much more rapidly than the cloth model. However, figure 4(b) shows that memory required is almost constant per spring (with some startup overhead that becomes less important as the number of springs grows). Another important result is the number of floating point operations (FLOPS) required for each iteration of the simulation (which includes many iterations of our iterative linear system solver). Figure 5(a) gives the number of floating point operations per iteration. Figure 5(b) gives the same figure per spring in the model. As with our memory figures, we see that computational complexity is highly dependent on model complexity. The number of floating point operations becomes roughly constant per spring as complexity increases, as shown in figure 5(b). We have also produced figures showing the breakdown of floating point instructions used in these calculations. However, these figures are based on the Instruction Set Architecture (ISA) for our particular specialized processor. The results may be slightly different for other ISA s. Figure 6 shows these results. 2 Our source code is available under the BSD License at http: //www.cs.uofs.edu/ bishop/spring.tar.z

(a) model with 6 subdivisions (6x6 mesh) Fig. 1. Simulated models (b) model with 4 subdivisions (4x4x4 mesh) 2 Sparsity Pattern for 6 subdivisions Non zero elements 5 Sparsity Pattern for 4 subdivisions Non zero elements 4 6 1 Column Index 8 1 12 14 16 18 2 Column Index 15 2 25 3 35 5 1 15 2 Row Index 5 1 15 2 25 3 35 Row Index (a) model with 6 subdivisions (6x6 mesh) Fig. 2. Sparsity patterns for models (b) model with 4 subdivisions (4x4x4 mesh) V. CONCLUSION Our results show that the computational complexity (in terms of FLOPS required) of the simulations remains constant per spring. However, computational complexity of the entire simulation grows rapidly with model complexity. This problem is further compounded by the growth in the memory requirements of the simulation as detail increases. As a result, we conclude that executing these simulations interactively will remain impractical unless other approaches are discovered. REFERENCES [1] J. Foley, A. van Dam, S. Feiner, J. Hughes, Computer Graphics Principles and Practice, Addison-Wesley Publishing Company, pages 139-143, 1996. [2] W. Press, S. Teukolsky, W. Vetterling, B. Flannery, Numerical Recipes in C, 2nd Edition, Cambridge University Press, page 71, 1992. [3] D. Baraff, A. Witkin, Large Steps in Simulation, ACM SIGGRAPH, Annual Conference Series, pages 43-54, 1998. [4] J. Shewchuk, An Introduction to the Conjugate Gradient Method Without the Agonizing Pain, http://www.cs.cmu.edu/ quake-papers/ painless-conjugate-gradient.pdf, August 1994.

(a) frame 1 (b) frame 2 (c) frame 3 (d) frame 4 (e) frame 5 (f) frame 6 Fig. 3. Example simulation 4.5 4 x 1 4 Memory Footprint 35 3 32 bit Memory locations per Spring 3.5 Number of 32 bit words 3 2.5 2 1.5 Number of 32 bit words 25 2 15 1 1.5 5 (a) Footprint (b) Footprint/spring Fig. 4. Memory utilization

8 x 16 7 FLOPS per Simulation Interation 15 FLOPS per Spring 6 5 1 FLOPS 4 FLOPS 3 5 2 1 (a) Flops/iteration (b) Flops/iteration (per spring) Fig. 5. Floating point operations STORE IMM 6% SUB 27% DIV 7% ADD 4% MULT 14% MAC 42% SQRT < 1% Fig. 6. Instruction Mix