Reproducing Works of Calder

Similar documents
A Fast Visual Tracking Algorithm Based on Circle Pixels Matching

Hermite Splines in Lie Groups as Products of Geodesics

Cluster Analysis of Electrical Behavior

Solving two-person zero-sum game by Matlab

A Binarization Algorithm specialized on Document Images and Photos

Complex Deformable Objects in Virtual Reality

R s s f. m y s. SPH3UW Unit 7.3 Spherical Concave Mirrors Page 1 of 12. Notes

Analysis of Continuous Beams in General

S.P.H. : A SOLUTION TO AVOID USING EROSION CRITERION?

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision

ROBOT KINEMATICS. ME Robotics ME Robotics

Assignment # 2. Farrukh Jabeen Algorithms 510 Assignment #2 Due Date: June 15, 2009.

Computer Animation and Visualisation. Lecture 4. Rigging / Skinning

Real-time Motion Capture System Using One Video Camera Based on Color and Edge Distribution

Range images. Range image registration. Examples of sampling patterns. Range images and range surfaces

The Research of Ellipse Parameter Fitting Algorithm of Ultrasonic Imaging Logging in the Casing Hole

An Application of the Dulmage-Mendelsohn Decomposition to Sparse Null Space Bases of Full Row Rank Matrices

Modeling, Manipulating, and Visualizing Continuous Volumetric Data: A Novel Spline-based Approach

Parallel Numerics. 1 Preconditioning & Iterative Solvers (From 2016)

Computer models of motion: Iterative calculations

Content Based Image Retrieval Using 2-D Discrete Wavelet with Texture Feature with Different Classifiers

An Iterative Solution Approach to Process Plant Layout using Mixed Integer Optimisation

Accounting for the Use of Different Length Scale Factors in x, y and z Directions

Simulation of a Ship with Partially Filled Tanks Rolling in Waves by Applying Moving Particle Semi-Implicit Method

Meta-heuristics for Multidimensional Knapsack Problems

Motion-Capture-Based Avatar Control Framework in Third-Person View Virtual Environments

Sorting Review. Sorting. Comparison Sorting. CSE 680 Prof. Roger Crawfis. Assumptions

Real-Time Two-way Coupling of Ship Simulator with Virtual Reality Application

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS

User Authentication Based On Behavioral Mouse Dynamics Biometrics


An Optimal Algorithm for Prufer Codes *

An inverse problem solution for post-processing of PIV data

2x x l. Module 3: Element Properties Lecture 4: Lagrange and Serendipity Elements

APPLICATION OF PREDICTION-BASED PARTICLE FILTERS FOR TELEOPERATIONS OVER THE INTERNET

Improvement of Spatial Resolution Using BlockMatching Based Motion Estimation and Frame. Integration

Kinematics of pantograph masts

Kent State University CS 4/ Design and Analysis of Algorithms. Dept. of Math & Computer Science LECT-16. Dynamic Programming

Electrical analysis of light-weight, triangular weave reflector antennas

Parallelism for Nested Loops with Non-uniform and Flow Dependences

Dynamic wetting property investigation of AFM tips in micro/nanoscale

PHYSICS-ENHANCED L-SYSTEMS

3D vector computer graphics

6.854 Advanced Algorithms Petar Maymounkov Problem Set 11 (November 23, 2005) With: Benjamin Rossman, Oren Weimann, and Pouya Kheradpour

Cloth Simulation. Burak Ertekin i MSc Computer Animation and Visual Effects

Smoothing Spline ANOVA for variable screening

Intelligent Dynamic Simulation of Mechanisms

Conditional Speculative Decimal Addition*

APPLICATION OF PREDICTION-BASED PARTICLE FILTERS FOR TELEOPERATIONS OVER THE INTERNET

Model-Based Bundle Adjustment to Face Modeling

High-Boost Mesh Filtering for 3-D Shape Enhancement

APPLICATION OF AN AUGMENTED REALITY SYSTEM FOR DISASTER RELIEF

Solitary and Traveling Wave Solutions to a Model. of Long Range Diffusion Involving Flux with. Stability Analysis

Module Management Tool in Software Development Organizations

High resolution 3D Tau-p transform by matching pursuit Weiping Cao* and Warren S. Ross, Shearwater GeoServices

Support Vector Machines

Mathematics 256 a course in differential equations for engineering students

Machine Learning 9. week

Quality Improvement Algorithm for Tetrahedral Mesh Based on Optimal Delaunay Triangulation

Learning physical Models of Robots

S1 Note. Basis functions.

Learning the Kernel Parameters in Kernel Minimum Distance Classifier

Implementation of a Dynamic Image-Based Rendering System

Structure from Motion

Edge Detection in Noisy Images Using the Support Vector Machines

Programming in Fortran 90 : 2017/2018

3D Virtual Eyeglass Frames Modeling from Multiple Camera Image Data Based on the GFFD Deformation Method

Finite Element Analysis of Rubber Sealing Ring Resilience Behavior Qu Jia 1,a, Chen Geng 1,b and Yang Yuwei 2,c

A Fast Content-Based Multimedia Retrieval Technique Using Compressed Data

Overview. Basic Setup [9] Motivation and Tasks. Modularization 2008/2/20 IMPROVED COVERAGE CONTROL USING ONLY LOCAL INFORMATION

An Influence of the Noise on the Imaging Algorithm in the Electrical Impedance Tomography *

Machine Learning: Algorithms and Applications

Type-2 Fuzzy Non-uniform Rational B-spline Model with Type-2 Fuzzy Data

Resolving Ambiguity in Depth Extraction for Motion Capture using Genetic Algorithm

Wavefront Reconstructor

A New Approach For the Ranking of Fuzzy Sets With Different Heights

THE PULL-PUSH ALGORITHM REVISITED

Mesh Editing in ROI with Dual Laplacian

ViSP: A Software Environment for Eye-in-Hand Visual Servoing

Load Balancing for Hex-Cell Interconnection Network

LU Decomposition Method Jamie Trahan, Autar Kaw, Kevin Martin University of South Florida United States of America

TN348: Openlab Module - Colocalization

Virtual Noctiluca: Interaction between Light and Water using Real-time Fluid Simulation and 3D Motion Measurement

Modeling of Airfoil Trailing Edge Flap with Immersed Boundary Method

Simulation of Surface Mesh Deformation in Orthodontics by Mass-Spring Model

Preconditioning Parallel Sparse Iterative Solvers for Circuit Simulation

Categories and Subject Descriptors B.7.2 [Integrated Circuits]: Design Aids Verification. General Terms Algorithms

Real-time Joint Tracking of a Hand Manipulating an Object from RGB-D Input

Design of Simulation Model on the Battlefield Environment ZHANG Jianli 1,a, ZHANG Lin 2,b *, JI Lijian 1,c, GUO Zhongwei 1,d

Problem Definitions and Evaluation Criteria for Computational Expensive Optimization

MECHATRONIC MODEL FOR THE DYNAMIC ANALYSIS OF A ROBOTIC SYSTEM

Support Vector Machines. CS534 - Machine Learning

A Modified Median Filter for the Removal of Impulse Noise Based on the Support Vector Machines

Application of Learning Machine Methods to 3 D Object Modeling

Classifier Selection Based on Data Complexity Measures *

Robust Classification of ph Levels on a Camera Phone

A SYSTOLIC APPROACH TO LOOP PARTITIONING AND MAPPING INTO FIXED SIZE DISTRIBUTED MEMORY ARCHITECTURES

AVO Modeling of Monochromatic Spherical Waves: Comparison to Band-Limited Waves

Lecture 4: Principal components

Lecture 5: Multilayer Perceptrons

Transcription:

Reproducng Works of Calder Dongkyoo Lee*, Hee-Jung Bae*, Chang Tae Km*, Dong-Chun Lee*, Dae-Hyun Jung*, Nam-Kyung Lee*, Kyoo-Ho Lee*, Nakhoon Baek**, J. Won Lee***, Kwan Woo Ryu* and James K. Hahn*** * Dept. of Computer Engneerng, Kyungpook Natonal Unversty ** School of Electronc and Electrcal Eng., Kyungpook Natonal Unversty *** Dept. of Computer Scence, The George Washngton Unversty /

Abstract Many fne art peces have been reproduced n dgtal form. The dgtal reproductons have been used to store and transmt the orgnal work. In contrast, mobles, or movng sculptures, such as those desgned by Alexander Calder cannot be reproduced realstcally by photographs and/or statc mages. The real characterstcs of mobles come from the motons generated by nteractve external forces appled to ther structures. Hence people could not fully enoy them through statc mages or even statc three-dmensonal models. We present a vrtual moble system where users can easly control the moble and can feel the mpressons that the artst orgnally ntended to provde. Vrtual wnds are generated by blowng on a mcrophone whch then exert external forces to the moble. Ths mcrophone nterface lets users control the moble whle they are watchng t through a montor. We ntroduce a lnear tme soluton for the constrant dynamcs and an mproved mpulse dynamcs to speed up the smulaton. Usng these technques, we acheve a real tme smulaton of the moble on personal computers. The technques presented can easly be extended to smulate other nteractve dynamcs systems. Keywords: vrtual moble, constrant dynamcs, vrtual wnd, mpulse dynamcs /

. Introducton Recently, real world obects have been successfully reproduced n the computer systems, usng computer graphcs and vrtual realty technques. A good applcaton example s dgtal museums, whch dsplay reproductons of real world fne art peces on the computer. [] For drawngs, dgtal scanners and/or dgtal cameras can be used to generate the dgtal reproductons. In the case of sculptures, three-dmensonal geometrc and/or volume data can be used to create vrtual sculptures. [] Image-based renderng technques ncludng MCOP (multple center of proecton) [3] can also be used for ths purpose. Mobles, whch are also known as movng sculptures, however, cannot be represented successfully usng these technques. As an example, a real world moble, Steel Fsh by Alexander Calder s shown n Fgure. Typcal mobles are dynamc systems: ther components are usually danglng from the stems and move due to external forces such as from wnds. Much of the people s experence of the pece comes from real-tme nteractons wth the pece. In ths paper, we present a physcally-based vrtual moble system. To smulate a real world moble, Fgure. A real world moble: Steel Fsh by Alexander Calder. 3 / 3

we start by constructng ts geometrc shape. Physcal propertes such as masses and nerta tensors are then calculated. The moble s smulated by a constrant dynamcs system based on these geometrc data and physcal propertes. Users can generate vrtual wnds, and our constrant dynamcs solver smulates the motons and collsons of the components. An mpulse dynamcs system s used to smulate collsons among the components of the moble. Usng a smplfed aerodynamcs model for the vrtual wnd and other acceleraton technques, our system accomplshed real tme dsplay of an example vrtual moble on Pentum chp-based personal computers. Although the system has value n reproducng mobles, perhaps more mportantly, the technques presented can be appled to other real-tme physcally-based smulatons. The followng sectons descrbe the detals of our vrtual moble system. In Secton, we present the overvew of the system. Secton 3 explans how vrtual mobles are constructed from the real world mobles. In Sectons 4, 5, and 6, the vrtual wnd model, the constrant dynamcs solver, and the mpulse dynamcs solver are presented, respectvely. Example sequences of anmaton are shown n Secton 7. Fnally, conclusons and future work are gven n Secton 8.. System Overvew Our system s mplemented n the C++ programmng language and OpenGL graphcs lbrary on Pentum chp-based PC s. Fgure s the block dagram of the system. At the preprocessng step, the system calculates geometrc and physcal propertes of a vrtual moble. Intally, the moble s n ts equlbrum state. The user can generate vrtual wnds through the mcrophone nterface and these vrtual wnds act as external forces. After fndng the surfaces of the moble nfluenced by the vrtual wnd, the forces appled on these surfaces are calculated. Usng these forces, our system smulates the motons of the moble, usng constrant dynamcs and mpulse dynamcs technques. The constrant forces due to the connectvty among the components are frst calculated, and the constrant dynamcs solver generates new postons. These new postons may 4 / 4

3-D model for a vrtual moble data acquston : data : program unt geometrc confguratons and physcal propertes current status constrant dynamcs solver collson detecton mpulse dynamcs solver dsplay routnes (OpenGL) external forces (vrtual wnd) vrtual wnd generator real-tme dsplay mcrophone nterface user Fgure. Block dagram of the vrtual moble system. cause collsons among the components of the moble. After detectng the collsons, the mpulse dynamcs solver s used to handle these collsons. The system repeats above steps and dsplays the vrtual moble for each teraton. 3. Data Acquston To represent a vrtual moble, we need ts geometrc confguratons and physcal propertes. It s, however, dffcult to extract these propertes from a real world moble. In ths paper, we select Steel Fsh by A. Calder as an example, and reproduce ts geometrc confguratons as shown n Fgure 3. The example conssts of nne components, each of whch acts as an ndependent moton unt (Fgure 3.a). Eght sphercal onts wth three degrees of freedom connect these components to each other (Fgure 3.b). From the dynamcs pont of vew, these onts play the role of constrants. For the dynamc smulaton, the vrtual moble requres some physcal parameters such as the mass, the locaton of the center of mass, and the nerta tensor for each component. Our system adusts these parameters from the gven geometrc confguratons to acheve the equlbrum as shown n the orgnal 5 / 5

O 7 T 3 T 8 T 7 O 8 T 5 O 3 left O 6 rght O 6 O 5 T O 6 O O O 0 O 4 T T 4 T 6 (a) components (b) onts Fgure 3. Components and onts of the vrtual moble. work. Snce the example has a tree-lke shape, the mass ratos between components are computed n a bottom-up manner. As an example, the mass rato between components O 4 and O 5 s calculated from the rato of the length of left O 6 and rght O 6 as shown n Fgure 3.a. Notce that the geometrc confguraton only gves mass ratos. Hence the total mass of the moble acts as a control parameter to fnally calculate the mass of each component. In addton to the mass of each component, we need to calculate the locaton of the center of mass and the nerta tensor. Assumng the components are unform densty rgd bodes, these physcal parameters are calculated n a straghtforward manner. [4] Frst, the volume of a component can be calculated from ts geometrc shape. From ts mass and volume, the densty of each component s specfed. Then, we use Mrtch s ntegral equatons to get other physcal parameters. The geometrc confguratons and physcal parameters are later used to smulate the dynamcs behavor of the vrtual moble. 4. Vrtual Wnd Whle natural wnd causes the motons of real world mobles, we need vrtual wnd to smulate the motons of the vrtual moble. To control the vrtual wnd, we may use tradtonal nput devces such as 6 / 6

cross secton S cross secton S 0 r r 0 v 0 (t) v (t) l 0 l vrtual wnd Fgure 4. Vrtual wnd model. keyboards and mce. Addtonally, our system uses a mcrophone nterface. The user blows on the mcrophone, and the speed of the generated vrtual wnd s proportonal to the ampltude of the nput sound. The drecton of the wnd s specfed wth the mouse or stereo glasses wth ultrasound head tracker. The mcrophone nterface has some benefts. Frst, t s more ntutve for the user to generate the wnd through the blowng acton. Second, the mcrophone s more convenent to smulate the temporal varatons of the wnd speed. Another beneft s that the mcrophone s nexpensve and easly avalable even for personal computers. Snce t s generated from the human breath, the vrtual wnd s assumed to propagate n an nfnte cone shape, as shown n Fgure 4. A crcular cross secton S 0 wth ts radus r 0 plays the role of the source of wnd. The vertex of the cone s located at the dstance l 0 from the center of S 0. User can provde r 0 and l 0 to control the shape of the cone, and the wnd propagates from S 0 n the drecton opposte to the vertex. Usng the mcrophone nterface, user controls the wnd speed v 0 (t) at S 0. For smulatng the wnd, we need to calculate the speed of the wnd at a dstance l > l 0 from the [5, 6, 7] vertex. Although there are several results for smulatng aerodynamcs n computer graphcs applcatons, we use a smplfed form to acheve real tme dsplay. We start wth the assumpton that the flud (n ths case, ar) s not vscd and ncompressble, and no flud can cross the boundary of the cone shape. Ths s a reasonable model for ar at normal speed. [6] Then, the Equaton of Contnuty n flud 7 / 7

v area A n v n a vrtual wnd F stoke Fgure 5. Force due to the vrtual wnd. dynamcs gves A 0 v 0 = A v, () where A and v represent the area of the cross-secton and the flud speed, respectvely. [8] The subscrpt 0 and corresponds to the dstance l 0 and l, respectvely. From Equaton () and the geometrc confguratons of the cone, t s easly found that v v 0 = A0 A πr = πr 0 π l = π l 0 l = l 0. () Usng the Stoke drag equaton, [8, 9] the force actng on a face wth ts area A located on the cross secton S can be calculated as follows: F = ρ Av ( n n ) n, (3) stoke v a a where n v and n a are the unt drectonal vector of the wnd and the face normal vector, respectvely, as shown n Fgure 5. The constant ρ s the densty of flud. Equatons () and (3) gve v0 F stoke = α A ( nv na ) n 4 a, (4) l where α s a constant. For smulatng the turbulent behavor of wnd, we add a random nose term and the fnal force can be expressed as F = F + F, (5) wnd stoke random 8 / 8

where the drecton of F random s randomly selected, and F random < β F stoke for a user-selectable constant β. Before applyng the force calculated n Equaton (5) to the face, we should check whether the wnd s drectly delvered to the face or not. When a face s occluded by another face n the ar flow, we smply assume that the occluded face s not nfluenced by the wnd. Wthout ths assumpton, t s hard to acheve the real-tme dsplay of the moble. In ths smplfed wnd model, the ar flow can reach the faces whch are drectly vsble from the vertex of the cone and whch belong to the nteror of the cone. The faces affected by the wnd can be dentfed by a vsble surface detecton method. We use the depth-buffer method for more speed-up. To smulate the partally occluded cases, faces are frst parttoned nto small areas on whch samplng ponts are assgned. Then, the graphcs ppelne s used to capture the mage contanng the cross secton S 0 usng the synthetc camera located at the vertex of cone. Each samplng pont has ts own dentfcaton number, and t s also stored n the alpha buffer through the graphcs ppelne. Scannng the alpha buffer, we can easly detect whether each samplng pont s vsble from the vertex of the cone or not. Snce S 0 corresponds to a crcle on the mage plane, t s also easy to check the pont belongs to the nteror of the cone. When a samplng pont s vsble and also belongs to the nteror of the cone, the force calculated n Equaton (5) s appled to ts correspondng area. In the next secton, we wll present how the constrant dynamcs technques are used to apply these external forces to the moble. 5. Constrant Dynamcs Snce the components of typcal mobles are connected wth onts, constrant dynamcs smulaton s requred to generate physcally correct motons. In constrant dynamcs smulaton, two dfferent methods are frequently used: the reduced coordnate method [0] and Lagrange multpler method. [, ] Although the reduced coordnate method can also be used, symbolc knowledge of the body-space to world-space mappng s requred to parameterze the system s degree of freedom. [] Our system s based on Lagrange 9 / 9

multpler method. In ths secton, we wll explan how Lagrange multpler method can be appled to the moble. See [] and [] for more detals of Lagrange multpler method tself. At each ont of the moble, we need to apply constrant force to preserve the connectvty due to the ont. Lettng the poston vectors of onts be q(t) at tme t, Lagrange multpler method calculates the constrant force Q ˆ = J T λ by solvng the followng constrant force equaton wth respect to the Lagrange multpler λ: JWJ λ = Jq JWQ, (6) T where W s the nverse of generalzed mass matrx and Q s externally-appled force (vrtual wnd n ths case). J s the Jacoban matrx C/ q where the vector functon C(q) s the concatenaton of all constrant functons. After solvng the above equaton, the calculaton of the constrant force Qˆ s calculated n a straghtforward manner. Many numercal technques can be used to solve the above equaton. [,, 3] Among them, Baraff s extenson method [] gves lnear tme solutons for usual constrant functons. However, ths method requres complcated algorthms for auxlary constrants, whch can frequently occur n the case of vrtual mobles. For chan-lke obects, Surles presented a lnear tme soluton through permutatng the rows of the matrces. [] Our method s smlar to Surles method. However, we avod the permutaton process through proper numberng of the constrants. Ths numberng can be performed as a pre-processng step, as shown n the followngs. The onts n a moble can be numbered n a bottom-up manner. Fgure 3 shows the numberng of components and onts of our example moble, Steel Fsh. Notce that the component O 0 s fxed to the ground and thus ont T 8 act as a nal constrant whle others act as pont-to-pont constrants. Usng the bottom-up numberng of the onts, Jacoban matrx J n Equaton (6) can be expressed as 0 / 0

3 33 38 44 46 J =, 55 56 66 67 77 78 88 where the denoted elements are constants and others are all zeroes. The element s non-zero when the ont T connects the component O to another component. A tree-lke obect gves an upper trangular Jacoban matrx J wth a bottom-up numberng of components and onts. Snce J s upper trangular, the product of matrces J W J T n Equaton (6) can be expressed as: a a a a a3 a3 a33 a37 a38 T = a44 a45 a46 J WJ. a54 a55 a56 a64 a65 a66 a67 a 73 a76 a77 a78 a83 a87 a88 Lettng the above matrx be A = [a ], we can easly fnd the followng three characterstcs: () dagonal elements a s are all non-zeroes () a s non-zero f and only f a s non-zero (3) a s non-zero f and only f a component s affected by both the -th and the -th constrants. Although a few numercal methods can solve Equaton (6) n O(n) processng tme, they are somewhat complex. [, ] In contrast, the above characterstcs enable us to acheve the tme complexty of O(n) even wth Gaussan elmnaton method, whch s smple but requres O(n 3 ) tme for general matrx equatons. Durng Gaussan elmnaton process, we can always choose a as the pvot element snce all a s are non-zeroes. When subtractng the -th row from the -th row wth >, no new non-zero elements n the - /

th row are ntroduced. The moble has O(n) constrants and thus, the matrx A = J W J T has only O(n) non-zero elements. Therefore, we need only O(n) operatons for the matrx soluton, to fnally acheve the lnear-tme solutons for our constrant-dynamcs model. 6. Collson Handlng When smulatng the moton of mobles wth constrant dynamcs, collsons between ts components wll necessarly happen. Although there are many general collson detecton methods, [4, 5] the collson detecton can be acheved more effcently through analyzng the characterstcs of the moble. Frst, some pars of the components cannot collde wth each other. As an example, the components O 3 and O 5 can never collde wth each other n our example moble. A preprocessng step detects all such pars of components so that they can be excluded from the collson detecton process. Addtonally, some components are smple geometrc shapes such as cylnders and spheres. Thus, we can use cylnder-tocylnder, cylnder-to-sphere and sphere-to-sphere collson detecton methods, whch are much faster than the usual polyhedron-to-polyhedron collson detecton methods. After detectng collsons, we use the mpulse-based collson response method. [6, 7] Snce ths method can calculate the new veloctes nstantaneously, t s sutable for real-tme applcatons. The penalty method, [7] whch s also wdely used n the collson response, requres small tme steps for accurate smulaton, and s not approprate for real-tme applcatons. In the case of a moble, the collson response method should cooperate wth the constrant dynamcs model. Thus, the constrants at the onts and frctons at the collson ponts should also be handled durng the collson response. Moore formulated the mpulse equatons for artculated fgures, and hs equaton can be used for ont constrants. [7] Lettng the components of the moble be O, n, the mass and nerta tensor of O s denoted as m and I, respectvely. Due to the collson, the lnear and angular velocty of O may be changed. Let v /

Journal of Vsualzaton and Computer Anmaton, Volume, Issue, May, 00 center of mass l ont O k O center of mass l center of mass l O l k moton collson pont mpulse P Fgure 6. Impulse-based collson response. collson plane moton O N O P N P collson pont P T Fgure 7. Collson plane. and ω be the lnear and angular velocty of O wth respect to the center of mass of O, before the collson. The mpulse-based collson response method ams to calculate the lnear velocty v and the angular velocty of O after the collson. The mpulse-based collson response method starts from the law of momentum conservaton. Snce the change of momentum before and after the collson equals to the sum of mpulses at the tme of collson, the mpulse equatons for O can be expressed as follows: m ( v v ) = P + P and I ( ) = l P + l P, where P s the mpulse appled to O and P s the attachment mpulse on O due to O, whch s connected 3 / 3

to O usng a ont constrant. When O and O are not drectly connected to each other, P s a null vector. Notce that P can be zero for non-colldng components. The vectors l and l are the dstance vectors from the center of mass of O to the collson pont and to the ont connectng O and O, respectvely, as shown n Fgure 6. Jont constrants also gve addtonal equatons. When a sphercal ont connects O and O, ther relatve velocty at the contact pont should be equal to each other: v + l = v + l. In the case of nal constrants, a pont on the component O k has a fxed poston. Thus, the lnear velocty of the naled pont s zero: v l = 0, k + k kk where l kk s the vector from the center of mass of O k to the naled pont. Moore extended ths formulaton to cases wth frcton. However ths requres solvng the whole systems of lnear equatons repeatedly to determne the frcton status of each collson pont. We mprove ths method by combnng t wth Mrtch s condtonal equaton for frcton. [5] When a pont of O s colldng wth a face of O, the plane contanng that face s defned as the collson plane, as shown n Fgure 7. Wth respect to the normal vector N of the collson plane, the mpulse P for O can be dvded nto two components: the normal component P N and the tangental component P T = P P N. The state of frcton can be classfed nto two cases: stckng case and sldng case. From the vewpont of mpulse, the stckng case means there s no slp at the collson pont, whch satsfes the condton of P T µ P N wth the frcton coeffcent µ. When P T > µ P N, the collson pont wll slp along the collson plane and t s the sldng case. Snce the sldng and stckng cases result n dfferent equatons, t s mportant to dentfy whether a collson pont s stckng or sldng. For stckng cases, the collson pont does not move along the 4 / 4

collson plane. In contrast, the frcton force wll act on the sldng collson ponts. Usng Moore s formulaton, t s mpossble to decde whether a collson pont s sldng or stckng wthout calculatng the mpulse. Mrtch ntroduced a predcton equaton for sldng condtons. [5] The frcton at a collson pont s sldng when t satsfes the followng condton: k3 + k 3 > k33 µ, where the 3-by-3 matrx K = [k ] equals to (/ m + / ) E ( l I l + l I l ) m wth the 3-by-3 dentty matrx E. We use ths predcton equaton to speed up the mpulse calculaton. 7. Example Our example, Steel Fsh, has 9 components connected by 8 onts. Our constrant dynamcs solver uses total of 4 constrant functons for the three-drectons of 8 onts. Thus, we need to solve the 4-by-4 matrx equaton to get the constrant forces. For the dynamcs-based smulaton, we should calculate lnear veloctes and angular veloctes of 8 components excludng the fxed component O 0. Usng the mpulse-based collson handlng, we also need to calculate the mpulse P and the attachment mpulses P s of 8 onts. Thus, the number of unknowns s 8, and the mpulse dynamcs solver needs to solve the 8-by-8 matrx equaton. An example sequence of mages generated by our vrtual moble system s shown n Fgure 8. Our system was executed on a personal computer wth 350MHz Pentum chp and 64Mbyte of man memory. We use software-mplemented OpenGL lbrares [8] for renderng, wthout any hardware acceleraton. The smplfed vrtual wnd model and customzed dynamcs solvers enable us to smulate the example moble nteractvely. Fgure 9 s another sequences of mages for the moble named Southern Cross whch s also orgnally created by A. Calder. 5 / 5

Fgure 8. Example sequences of mages. 6 / 6

Journal of Vsualzaton and Computer Anmaton, Volume, Issue, May, 00 Fgure 9. Another example sequences of mages. 8. Concluson 7 / 7

Our am was to reproduce a real-world moble on a low-end computer system. To acheve ths goal, we developed a dynamcs-based vrtual moble system. To nteractvely dsplay the vrtual moble, our system concentrates on three mprovements: the vrtual wnd model, constrant dynamcs solver, and the mpulse dynamcs solver. Frst, we suggested a wnd model, whch s smple but suffcent to smulate drectonal wnds. Addtonally, the mcrophone nterface s developed for easy control of the vrtual wnd. Snce ths wnd model can generate drectonal wnds, t s sutable for smulatng artfcal wnds generated by electrc [6, 7] fans, ar-condtoners, etc. Improvng our wnd model by combnng wth exstng natural wnd models wll be a future work. As a dynamcs system, our vrtual moble system uses a constrant dynamcs solver and an mpulse dynamcs solver. For real-tme dsplay, both are hghly tuned for smulatng typcal mobles. Snce usual mobles are tree-lke shapes, ths mprovement can also be used for general tree-lke obects. The specfc real example of the moble allowed us to focus on the techncal problems. Whle such systems have nherent value, perhaps more mportant s the fact that the mprovements that have been made to exstng technques can be used to smulate other real-tme systems. References. H. McWhnne, The Electronc Museum, Computers and Graphcs, ():69, 988.. F. McGure, The orgns of sculpture: Evolutonary 3D desgn, IEEE CG&A, 3():9, 993. 3. P. Rademacher and G. Bshop, Multple-Center-of-Proecton Images, SIGGRAPH 98, pp.99 06, 998. 4. B. Mrtch, V-Clp: Fast and Robust Polyhedral Collson Detecton, ACM Trans. on Graphcs, 7(3):77 08, 998. 5. W. Reeves, Partcle Systems A Technque for Modelng a Class of Fuzzy Obects, ACM Trans. on Graphcs, 8 / 8

():9 08, 983. 6. J. Wechert and D. Haumann, Anmaton Aerodynamcs, SIGGRAPH 9, pp.9, 99. 7. M. Shnya and A. Fourner, Stochastc Moton Moton Under the Influence of Wnd, EUROGRAPHICS 9, (3):9 8, 99. 8. A. Patterson, A Frst Course n Flud Dynamcs, Cambrdge Unversty Press, 989. 9. R. Feynmann, R. Leghton and M. Sands, The Feynman Lectures on Physcs, Addson-Wesley, 965. 0. P. Schröder and D. Zeltzer, The Vrtual Erector Set: Dynamc Smulaton wth Lnear Recursve Constrant Propagaton, Computer Graphcs (990 Symposum on Interactve 3D Graphcs), 4():3 3, 990.. M. Surles, An Algorthm wth Lnear Complexty for Interactve, Physcally-based Modelng of Large Protens, SIGGRAPH 9, pp. 30, 99.. D. Baraff, Lnear-Tme Dynamcs usng Lagrange Multplers, SIGGRAPH 96, pp.37 46, 996. 3. M. Glecher and A. Wtkn, Through-the-lens Camera Control, SIGGRAPH 9, pp.33 340, 99. 4. P. Hubbard, Approxmatng Polyhedra wth Spheres for Tme-Crtcal Collson Detecton, ACM Trans. on Graphcs, 5(3):79 0, 996. 5. B. Mrtch, Impulse-based Dynamc Smulatons of Rgd Body Systems, Ph.D. thess, Unversty of Calforna, Berkeley, 996. 6. J. Hahn, Realstc Anmaton of Rgd Bodes, SIGGRAPH 88, pp.99 308, 988. 7. M. Moore and J. Wlhelms, Collson Detecton and Response for Computer Anmaton, SIGGRAPH 88, pp.89 98, 988. 8. J. Neder, T. Davs and M. Woo, OpenGL Programmng Gude, Addson-Wesley Publshng Company, 993. 9 / 9