Tech Memo 2002-23 Collision Handling for Interactive Garment Simulation 2002. 11. 1 오승우, 김형석 원광연 한국과학기술원 전산학과 1 본 보고서는 과학재단 지원 가상현실연구센터의 지원으로 이루어졌음. 1 Collision Handling for Interactive Garment Simulation Seungwoo Oh, Hyungseok Kim, Kwangyun Wohn Virtual Reality Laboratory Department of Electrical Engineering & Computer Science Korea Advanced Institute of Science and Technology (KAIST) redmong,likidas,[email protected] Abstract. This paper deals with real-time interactive garment simulation, and focuses specifically on collision handling between a character and garments. Because simulation speed must be kept over a certain limit in interactive garment simulation, regardless of the speed or type of a character’s motion, a rapid and stable collision handling method is required. For this reason, we approximate the shape of the character model with quadric bounding volumes and handle collisions using an adaptive approach to motion speed. In the adaptive approach, the quadric implicit function is used in slow movement and a simplified dynamic collision detection method devised in this paper is used in fast movement. Using our simplified method is about 10 times faster than only using static collision handling method. We also propose relative garment simulation method that computes the garment’s deformation relative to the character’s translation for the stable collision handling in fast translation of the character. Experimental results demonstrate that our collision handling method work stable even though the character moves several steps or the limbs (arms and legs) of the character move largely in two successive frames. 1. Introduction Garment simulation is a technique to create a garment’s deformation by using virtual reality technology. This technique has been used in various applications including digital movies such as ‘Shrek’ and ‘Monster’s Inc’. This paper focuses specifically on real-time interactive garment simulation. Interactive garment simulation is a technique to create a garment’s deformation by controlling a character or environments in real-time. It is a core technology in virtual reality applications such as garment-related electronic commerce or computer games in which the interactivity is very important. The final goal of our work is to develop an interactive simulation system to be used in garment-related electronic commerce. There are two important things, one is to create the deformation of various garment material types and the other is to create the deformation of garments along the character’s motion in real-time. We focus on the latter rather than the former. We model the geometric structure and physical property of garments in the simplest spring-mass system. We compute the force exerted on each mass-point and then integrate the force to get the deformation. In this process, the interaction between a character and garments, the collision, is very important since the global deformation of garments follows the character’s motion. In interactive garment simulation, the penetration of garments into the character must be avoided regardless of the speed or type of the motion. The penetration problem happens more often in time-based simulation than in frame-based simulation. For example, it is common for the character to move several steps between two successive frames in time-based simulation on slow hardware. Therefore, rapid and stable collision handling is critical. For this, we propose two methods. First, to solve the penetration problem occurring in large translation of a character, we propose a relative garment simulation method that computes the garment’s deformation relative to the character’s translation. Second, to solve the penetration problem occurring in large rotation of character’s segments, we propose a method where we approximately enclose the character by quadric bounding volumes and handle collisions using an adaptive approach to movement speed. In the adaptive approach, a quadric implicit function is used in slow movement and a simplified dynamic collision detection method devised in this paper is used in fast movement. Thanks to the simplification of the dynamic collision detection, we can handle collisions very fast. These methods were applied to the garment making and simulation system that is implemented with Java3D. Experimental results show that our method can handle collisions stably even though the arms or legs of a character may rotate largely at the moment of the character's large translation. This paper is organized as follows. Section 2 reviews related works, section 3 describes the simulation overview, section 4 describes the relative garment simulation method, section 5 describes garment modeling and deformation computing, section 6 deals with the collision handling method, section 7 shows the experimental results, and section 8 concludes this paper and discusses future works. 2. Related Work For computing a garment’s deformation, we model its geometric structure and physical properties, compute the forces exerted on each part of garment, and integrate the forces. We need a physically-based model to create realistic deformation. The physically-based model is classified into FECM (Finite Element Continuum Model) [3][8] and PSM (Particle System Model)[2][4][5][6][9]. FECM defines the energy and the force for the whole garment on the assumption that the garment is a continuous object such as rubber or paper, and then computes the deformation of each part of the garment after making it discrete using FDM or FEM. Since a linear system resulting from this process has to be solved every simulation time, it takes a long time to compute the deformation. On the other hand, the PSM models the garment with linked particles and computes each particle’s force interacting with neighboring particles, so it takes a shorter time to compute the deformation in PSM than FECM. However the deformation is very local because it is created by interactions with neighboring particles. Because of this locality, the deformation gets more elastic and the simulation gets less stable as the simulation time step increases. Baraff’s method[1], exploiting implicit integration shows stable results even in large time step. However, it is unreasonable to apply the method to a real-time simulation because it requires solving a linear system every simulation time. To decrease the computing time, Desbrun[4] proposed a method that is able to rapidly simulate the deformation by precomputing the linear system through simplification, and Kang[9] simplified this method more. However, it is unreasonable to simulate a garment composed of many particles in these simplified methods because of simplification error[10]. Provot[6] proposed a length correction method that corrects the length of over-lengthened springs. This method needs a number of iterations and the convergence is not clear, however, it can make stable simulations and can easily propagate deformations since the springs can’t be over-lengthened. In this paper, the garment is modeled using the simplest particle system, namely spring-mass system, and we use explicit Euler integration and Provot’s length-correction method to compute the deformation. One of the methods typically used to detect collisions between a character and a garment is to test the proximity or intersection between the character model’s polygons and the garment’s polygons[7]. This method usually has used bounding volume hierarchy [1][11] to get more efficiency, but it is unreasonable to apply this method to the real-time simulation because there are too many triangles and the collision detection method for successive frames is very complex[7]. Also, it is hard to maintain consistency when the garment penetrates into the character due to inaccurate simulation because volume information can’t be expressed easily in polygon models. Spatial subdivision method that subdivides 3D space or the character itself, is also applied to the garment simulation[13][14]. It has, however, a limit in that it can’t be applied to interactive garment simulation in the aspect of speed, and it is hard to apply to fast movement since it can only handle collisions occurred in the current frame. Although Vassilev’s image-based collision detection method[12] brought much elevation of speed, it requires not only hardware assistance but also a special process for the case that the segments of a character are overlapped. The methods referred to so far are hard to apply to real-time simulation since they can’t deal with the collision stably during fast movement or in large time step. For real-time collision handling, Rudomin[15] used ellipsoids that approximate the shape of a character, and computed the deformation after making each particle move along the ellipsoid closest to itself. Though this method removes the penetration problem, it is not applicable to a variety of garment’s types because even the mass-points that don’t collide are moved along the closest ellipsoid. In this paper, we approximate the shape of a character more closely by using ellipsoids with both ends cut and spheres. We also detect collisions accurately by using a simplified dynamic collision detection method. Collision response is a process that deforms the shape of garment naturally, avoiding the penetration after the collision detection. We can control the force, velocity, and position of each part of the garment for collision response. Since the force-control method[8] controls the garment’s form through integration, it is hard to handle the penetration in a few simulation time steps[1]. Baraff’s method[1] is a good solution but it is unusable in interactive garment simulation because implicit integration takes a long time to compute. Therefore, the method directly controlling position or velocity [4][5][7] is desirable in the aspect of the computing speed. We also adopt this approach. Since it is desirable that collision handling process is included in integration process, we first handle the mass-points in contact in the length-correction process, and then handle the other mass-points completely. 3. Simulation Overview Interactive garment simulation is time-based simulation. Therefore we must compute the character’s motion corresponding to the current CPU time every simulation iteration, and create the garment’s deformation depending on it. We estimate the next simulation time by using the computing time of the last simulation. Therefore the next simulation time is as follows. Tnext = Dlast + Current_CPU_Time (where, Dlast is the computing time in the last frame and Current_CPU_Time is current CPU time.) The character can move several steps in two successive frames in the time-based simulation. To solve the penetration problem in large movement, we propose the relative garment simulation method that computes the garment’s deformation relative to the character’s translation. We assume that the garment moves attached to the character, and then compute the garment’s deformation relative to the character considering the inertial force and air resistance force generated by the character’s translation (this is described fully in section 4). We simulate garments depending on the character’s motion without the root segment’s (generally the pelvis) translation, and simply add the inertial force and air resistance force to the simulation. This makes the simulation result easily usable for a fast moving simulation without affecting to the stability of collision detection method and integration method. This relative garment simulation method can be easily integrated with pre-existing simulation methods[1][4][6][9]. The garment simulation process of this paper is as follows. 2)-5) is repeated several times with fixed time step h allowed by this simulator between two frames. The number of iteration is limited by pre-fixed count ICmax for the fast simulation. Therefore, if simulation speed is slow (< 15fps), then the simulation time (iteration count ICmax * time step h) can’t be matched with real time so that it can decrease the quality. However, since the character’s motion is synchronized with CPU time (real time) and the global deformation of the garment follows the character’s motion, there is just a little decrease in quality. Figure 1. Simplification of a character and a mass-point. 1. Compute the character’s motion corresponding to Tnext. In this, each segment’s transformation is computed. In 2)-5), the translation of the character’s root segment is ignored. 2. Compute the internal force of a garment depending on the defined garment model, and compute the external force of gravity, air resistance force, and so on. Also add the inertial force and air resistance force resulting from the relative garment simulation. 3. Compute the deformation at the next simulation time through the explicit Euler integration. 4. Repeat Provot’s length-correction process[6] so that the springs are not over-lengthened. After the first length-correction iteration, we handle collisions of contact mass-points, and then continue the length-correction process. 5. Handle collisions between a character and a garment completely. We handle collisions between every bounding volume and every mass-point after enclosing the segments of a character with several quadric bounding volumes (this is fully described in section 6). 6. Translate all mass-points equally to the translation of the character’s root segment. 4. Relative Garment Simulation This section describes how to compute the garment’s deformation relative to the character’s translation. The main idea of this method is to simulate without translation of the character and then translate the simulation result equally to the translation. To mimic a real situation, we add artificial forces to the simulation. By employing this method, it is possible to handle collisions regardless of the translation of a character. This makes the time-based simulation possible. We can assume that the garment is attached to the character and moves along it because of the friction between the two. Therefore this situation can be simplified as shown in Figure 1 for every mass-point. A box b is a character, p is a mass-point, and the line from p to b is a simplified garment’s structure between p and b. v0 is the velocity of the character at the simulation’s start, vp(t) is the velocity relative to the character, ∆x is a translation vector, m is the mass of p, ∆t(= t1-t0) is the time step between two frames, and a(t) is the acceleration of the character. The forces generated by the character’s translation are inertial force and air resistance force. Therefore the force exerted on p is as follows. F(t ) = − ma (t ) − k (v 0 + a (t )(t − t 0 )) − kv p (t ) + mg + Finternal (t ) Eq. 4-1 Where –ma(t) is inertial force, -k(v0+a(t)(t-t0)) is the air resistance force generated by the character’s translation velocity, -kvp(t) is the air resistance force generated by p’s velocity relative to the character, Finternal(t) is the internal forces of the garment, and mg is gravity. To compute the exact change in position of each mass-point, we have to solve the differential equation for t derived from Eq. 4-1. We usually assume that acceleration and velocity are constant by first-order taylor’s series, so we can approximate vp0 to vp(t), and v0+a0∆t/2 to v0+a(t)(t-t0). vp0(= vp(t0)) can be inferred from the last simulation result and a0(= a(t0)) from the character’s motion data, or ∆x = v0∆t +a0∆t*∆t /2. Therefore the force exerted on p is as follows. F(t ) = −ma 0 − k (v 0 + a 0 ∆t / 2) − kv 0p + mg + Finternal (t 0 ) Eq. 4-2 We apply Eq. 4-2’s force to the simulation without the character’s translation, and, after the simulation process, translate every mass-point equal to the character’s translation. Using this relative garment simulation, it is easy to compute the friction force of colliding mass-points since the force generated by the colliding character’s segment can be computed directly without complex calculation. We will study how to apply the relative simulation to computing the friction force of contact points, and extend this work to in rotation of a character’s segment. 5. Garment Modeling and Deformation Computing We use Provot’s spring-mass model and deformation computing method[6]. A vertex corresponds to a mass-point and an edge between two points corresponds to a linear spring. The mass of each point is computed proportional to neighboring triangles’ area and density. The garment is deformed by spring force, gravity, air resistance force, wind force, etc. exerted on each mass-point. For the deformation computing, we compute the force exerted on each mass-point and then integrate the force. Integration methods include explicit Euler integration, Runge-Kutta integration, implicit Euler integration, simplified implicit Euler integration[4][9], etc. From these we choose explicit Euler integration since it’s computing time is the shortest. Using explicit Euler integration is the same as assuming that acceleration and velocity are constant, thus the position at the next time step is computed as following. x(t 1 ) = x(t 0 + h) = x(t 0 ) + v(t 0 ) h + 0.5( F(t 0 )/m) h 2 Eq. 5-1 where h is simulation time step. Using this integration, as the time step gets larger or exerted force gets higher, the integration error gets larger and the system is likely to explode. Therefore it is hard to apply to the interactive garment simulation[6][4]. We use the length-correction method[6] that shortens the over-lengthened springs after the integration to tackle this problem. Velocity is not computed until the correction process is finished. ( ) v(t 1 ) = v(t 0 + h) = x correction (t 0 + h) − x (t 0 ) / h Eq. 5-2 where xcorrection is the position after the length-correction process. It is unclear whether this method converges or not, however, it can rapidly propagate the deformation and remarkably decrease the oscillation of springs. For this reason, this method has been used in many real-time garment simulations[4][9]. The length-correction method results in more stable simulation than Vassilev’s velocity-correction method differently from the contents in his paper[12]. Figure 2. Character model approximately enclosed by quadric bounding volumes. 6. Collision Handling 6.1. Approximate Character Model This paper handles the collision with a character model approximated by quadric bounding volumes. We have implemented a simple system that allows users to create and coordinate bounding volumes. Figure 2 shows the character model approximated by spheres and ellipsoids with both ends cut. Since a small number of bounding volumes are used, the collision handling process gets fast. Also, because the character’s volume is expressed in the quadric implicit function, we can easily notice whether or not the penetration occurs not only in slow movement but also in fast movement. The garment deforms a little apart from the character’s surface since the character can’t be enclosed perfectly by quadric bounding volumes. We will use more exact bounding volume such as NURBS in future work to overcome this disadvantage. 6.2. Collision Handling This paragraph describes how to handle collisions between mass-points and quadric bounding volumes. We explain the collision handling method in slow movement (static collision handling) and fast movement (dynamic collision handling) separately, and explain how to apply these two methods to the adaptive approach. We use the quadric implicit function for static collision handling, and a ray-quadric intersection method for dynamic collision handling. The ray-quadric intersection method is applicable to the detection only by using our simplification of dynamic collision detection. Our dynamic collision handling methods detect the collision efficiently not only in translation but also in rotation of bounding volume between two successive frames. In this paper, we handle the collision using only mass-points, not line segments or triangles of garments. The collision of each mass point is handled independently. As a result, the penetration problem often occurs in fast movement. To reduce the penetration situations, we handle the collisions of the mass-points in contact in the deformation computing process and then completely handle the collisions after the process. It is inefficient to test the collision in all case between every bounding volume and every mass-point. We can quickly determine the pair of objects that will be collide with each other using spatial or temporal coherence methods[11]. In this paper, a simple temporal coherence method was adopted. The method caches a list of recently-collided bounding volumes for each mass-point, and then tests collisions first with the cached bounding volumes. Figure 3. Left : Simplification of collision detection in fast movement including rotation.. 6.2.1. Simplification of Collision Detection Each segment of a character is in complex motion where translation is mixed with rotation. Consequently, the dynamic collision detection for the fast movement is too complex to be used in the interactive garment animation. To tackle this problem, we devise an efficient dynamic collision detection method. This method exploits a mass-point’s trajectory relative to the bounding volume’s movement. Let’s look at Figure 3. We assume that the bounding volume translates and rotates simultaneously, and that a mass-point moves in constant velocity. Let p0 be the mass-point’s position at t0, p1 be at t1, e0 be the quadric at t0, and e1 be at t1. The point p will collide with the ellipsoid at a certain position on the line segment p0p1. The point p’s relative trajectory to quadric e1 starts at p0’ and ends at p1 where p0’ is the position relative to e1 at t=0. The bold dotted line in Figure 3 shows the relative trajectory which is very complex because translation is mixed with rotation. The intersection test between the complex trajectory and the quadric requires too much computing time, so we simplify the relative trajectory as a line. Hence the intersection of the line segment p1p0’ and the quadric e1 is the colliding position relative to the quadric e1. From this, we can also get the absolute collision time and position. This simplification can be applied to the other methods such as a polygon model, a voxel model or other parametric surface models. The simplification error gets larger as the mass-point moves farther away from the quadric. However, the simplified trajectory is equal to the original trajectory when it only translates. Even though the quadric rotates largely, the error is very small if the mass-point moves close to the quadric. Since the garment deforms close to the character, we can detect collisions efficiently by exploiting this simplification. Our experiments demonstrate this fact in Section 7. Since the length of relative trajectory indicates the movement speed, we can use it as criteria for a speed-adaptive approach. We use a static collision handling method if the relative trajectory is short, and use an exact dynamic collision handling method if it is long. The standard distance is decided according to the radius of quadric. In our experimental results, one-eighth of the radius was appropriate. Figure 4. Upper left : Collision handling for a sphere in slow movement. Upper right : for an ellipsoid. Bottom : Collision handling between a quadric and mass-point in fast movement. 6.2.2. Static Collision Handling We use the quadric implicit function for collision detection in slow movement. The implicit function (Eq. 6-1) reports whether the mass-point is in the sphere, on the sphere, or outside of the sphere. 2 2 2 x y z f ( x, y , z ) = + + − 1 a a a Eq. 6-1 If a mass-point is in the sphere, we pull the mass-point out of the sphere. The mass-point is moved to the intersection of the sphere‘s surface and the line connecting the mass point with the center of sphere (see upper left figure in Figure 4). Because we can assume the collision is perfectly inelastic, the perpendicular velocity of the mass-point is eliminated. For the friction effect, we modify the velocity instead of the force according to the modified Coulomb’s law[7]. 1 p1 0 v0 − v0 ⋅ p = = v c v c , new fric tangent fric p1 p1 0 vnormal 0 0 1 − k f 0 ≥ k f vnormal , if vtangent = vtangent else 0 , pnew = (r + ε ) c fric Eq. 6-2 where r is the radius of sphere, p0 and p1 is the position of mass-point at time t0 and t1 respectively, v0 is the velocity of mass-point at t0, kf is friction coefficient, and ε is epsilon distance for stable response handling. Collision handling with an ellipsoid is a little different from the handling with a sphere. Since the ellipsoid is used to approximate to the segment of character, the shape of the ellipsoid is elongated along a certain axis. In a following equation, az is larger than ax and ay. x ax 2 y z + + a y az 2 2 = 1 Eq. 6-3 Therefore, we correct the x position and the y position in the same way as the sphere’s, while keeping the z position (see upper right figure in Figure 4). We handle the response in the same way as the sphere’s. p new, x p new, y = − p 1y = 1 px + ε, if p1,x > 0 2 2 1 p 1 y + 1 a x a y p x , 2 p 1z 1 − az ε , other wise − 2 2 1 1 p y + 1 ax a y px p1 1 − z az 2 Eq. 6-4 0 p new, x , p new, z = p 1z , v new = c fric v tangent Since the ellipsoid with both ends cut is used (as Figure 2), we simply test whether pz1 is in both ends or not. 6.2.3. Dynamic Collision Handling For the collision detection in fast movement, we test the intersection of an ellipsoid and the relative trajectory. The relative trajectory is expressed as follows. l (α ) = p 0 + α ( p 1 − p 0 ),0 ≤ α ≤ 1 Eq. 6-5 The intersection between the relative trajectory and the ellipsoid can be found from simultaneous equations of Eq. 6-5 and Eq. 6-3 (It is applied equally in the case of sphere). The induced equation is Eq. 6-6 which is a second order equation about α. We solve the equation to get two collision times, and regard the smaller value as the collision time. 2 l x (α ) l y (α ) l z (α ) + + = 1 rx ry rz 2 2 Eq. 6-6 The exact collision position is obtained from the collision time as follows. pcollide = p 0 + α collide ( p 1 − p 0 ) p 0 + α collide ( p 1 − p 0 ) (p 0 ) + α collide ( p1 − p 0 ) + ε , 0 ≤ α collide ≤ 1 Eq. 6-7 During the remaining time after the collision, the mass-point will be moved. It is difficult to estimate the movement accurately because a mass-point is linked with neighboring points[1]. Instead of accurately estimating the movement, we move the point by attaching it to the collided bounding volume to decrease the penetration situations, and then move the point in proportion to the remaining time as follows. 2p , x 2 p collide , y 2 p collide , z v normal = collide , , 2 2 a a a z2 x y 0 v new = c fric v tangent Eq. 6-8 p new = p collide + ctime (h − hα collide )v new , 0 < ctime < 1 Where h is time step. This intersection test is accelerated by using an optimized algorithm[16]. This collision response handling approach often causes penetration problems in very fast movement. For more stable and accurate response handling, we have to simulate not the velocity-based pseudo friction force, but the real friction force. In future work, we will study how to compute friction exerted on the mass-point in this contact situation using the relative simulation method which is described in section 4. 7. Experimental Result In this paper, we tested the proposed methods with the system implemented with Java3D on a Pentium III 866Mhz PC with 256M RAM, and a Geforce 2 graphic card. First, we demonstrate the accuracy of our dynamic collision detection method. We measured the simplification error of the method in the situation shown in Figure 3. In this experiment, an ellipsoid moved up by 0.1m/s and rotated counterclockwise by 90 degree/s, and a mass-point fell by 0.5m/s, and leaned leftward by 45 degrees from various starting positions above the ellipsoid in various time steps. The colliding position resulting from the dynamic collision detection (6.2.3) is compared with the colliding position resulting from the static collision detection (6.2.2) which has a 0.00001s time step (so it is very accurate). Figure 5 shows the difference between the two positions (simplification error). If the mass-point is close to the ellipsoid, the error is very small regardless of time step even though the mass-point and the ellipsoid move very fast. Also, if the time step is smaller than 0.1s, the error is very small. Figure 6 demonstrates the performance for our simplified dynamic collision handling method. Using this method is about 10 times faster than using the static collision handling method because far larger time step is possible though the dynamic method itself is slower. Table 1. Short skirt Computing time : R – rendering time; I – integration time; CH – collision handling time. Number (mass-points/ springs) 343/1275 R(sec.) I(sec.) CH(sec.) Total FPS 0.0125 0.0057 0.0141 0.0323 31 Long skirt 564/2147 0.0128 0.0122 0.0226 0.0476 21 Pants 548/2126 0.0128 0.0119 0.0241 0.0488 20.5 One-piece 672/2571 0.0133 0.0161 0.0238 0.0532 18.8 Figure 5. Simplification error. The error is difference between the colliding positions resulting from the dynamic collision detection and the static collision detection. Figure 6. Performance for our dynamic CH (collision handling) method. The performance is measured by comparing the computing time with it of static collision handling method whose time step is set so adequate that the static CH’s error (see Figure 5) is the same as the dynamic CH’s. This figure shows the performance in the case that the distance is 145mm in Figure 6’s situation. We draped the skirt, pants, and one-piece around the character model enclosed by 10 quadric bounding volumes (In the case of one-piece, 15 quadric bounding volumes are used), and we simulated walking motion of a dressed character. In this experiment, the mass was 20, the acceleration of gravity was 0.5, the spring coefficient was 10000, the spring damp coefficient was 100, the air resistance coefficient was 20, the limit ration of the length correction was 1%, and the friction coefficient was 0.2. Table 1 shows the computing time in each process when 6 simulation iterations, 2 length correction iterations and 0.04s time step were used. The results were 2-3 times slower than the results implemented by C++ and OpenGL[17]. The penetration didn’t occur even though the character translated by several steps/s and legs of the character rotated by 180 degrees/s. Movie files of the results can be found at http://vr.kaist.ac.kr/~redmong. Figure 7. Snapshots from simulations. 8. Conclusion and Future Work This paper dealt with interactive garment simulation where user can interact with virtual environment in real-time. Based on related works and experiments, we modeled the garment with Provot’s spring-mass model and created stable deformations of garments through the length-correction process. For the collision handling that is the most important part in the interactive garment simulation, we proposed two methods. First, we proposed the relative garment simulation method to efficiently solve the penetration problem that occurs in the large translation of a character. By employing this method, it is possible to handle collisions regardless of the translation of a character. This also makes time-based simulation possible. Second, we proposed the method where we approximately enclosed the character with quadric bounding volumes and handled collisions using an adaptive approach to movement speed. The efficiency of the proposed method is got from using the simplification of dynamic collision detection. The simplified dynamic collision detection method works well in the complex and fast motion of a character. Experimental results show that the proposed method can handle collisions stably even though the arms and legs of a character rotate largely at the moment of character's large translation. These methods were applied to the garment making and simulation system implemented with Java3D. The results show the possibility of interactive garment simulation on the web. Future works will explore accurate contact simulation using our relative simulation method, time-critical garment simulation (simulation LoD), multi-layered garment simulation, image based wrinkle generation, and modeling of various garment materials. Acknowledgments This research was supported by VRRC (Virtual Reality Research Center) in KAIST. We also thank Credo Interactive for supplying the model in our experiments. Reference [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] D. Baraff, A. Witkin, Dynamic Simulation of Non-Penetrating Flexible Bodies, Computer Graphics (SIGGRAPH’92 proceedings), Addison-Wesley, 26(2), 303-308, 1992. Breen, David E., Donal H. House, and Michael J. Wozny. Predictiong the Drape of Woven Cloth Using Interactiong Particles. In Computer Graphics Proceedings, Annual Conference Series, 365-372, Auguset 1994. Carignan, Michel, Ying Yang, Nadia Magnenat Thalmann, and Daniel Thalmann. Dressing Animated Synthetic Actors with Complex Deformable Clothes. In Computer Graphics Proceedings, Annual Conference Series, 92-104, July 1992. Desbrun, M. P. Schroder and A. Barr. “Interactive Animation of Structured Deformable Objects”, Proceedings of Graphics Interface ’99, 1-8, June 1999. Eberhardt, Bernhard Andreas Weber, and Wolfgang Strasser. A Fast, Flexible, Particle-System Model for Cloth Draping. IEEE Computer Graphics and Applications, 16(5):52-59, September 1996. Provot, X. Deformation Constraints in a Mass-Spring Model to Describe Rigid Cloth Behavior. Proc. Graphics Interface, 147-154, 1995. Provot, X. Collision and self-collision handling in cloth model dedicated to design garments. Eighth Eurographics Workshop on Animation and Simulation Proceedings, 1997 Terzopoulos, D., j. Platt, A. Barr and K. Fleischer, Elastically Deformable Models. Computer Graphics (Proc. SIGGRAPH), 21(4): 205-214, 1987. Young-Min Kang, Jeong-Hyeon Choi, Hwan-Gue Cho, Do-Hoon Lee. An efficient animation of wrinkled cloth with approximate implicit integration, The Visual Computer Journal, Springer-Verlang, 2001. Pascal Volino, Nadia Magnenat-Thalmann. Comparing Efficiency of Integration Methods for Cloth Animation. proceedings of CGI'01, July 2001. M. Lin and S. Gottschalk. Collision Detection between Geometric Models: A Survey, Proc. IMA Conference on Mathematics of Surfaces, 1998. T. vassilev, B. Spanlang, Y. Chrysanthou, Fast Cloth Animation on Walking Avatars, EUROGRAPHICS, 20(3) , 2001. Mark Meyer, Gilles Debunne, Mathieu Desbrun, and Alan H. Barr. Interactive Animation of Cloth-like Objects in Virtual Reality, The Journal of Visualization and Computer Animation, 12(1), 1-12, May 2001. Dongliang Zhang, matthew M.F. Yuen, Collision Detection for Clothed Human Animation, Proceedings of the Pacific Graphics, 2000. Rudomin, I., Castillo, J., Real-Time Clothing: Geometry and Physics, WSCG, February 2002. Tomas Moller and Eric Haines, Ray/Sphere Intersection, Real-Time Rendering, A K Peters, 295-298, 1999. Dean Macri, Real-Time Cloth, 2000 GDC Proceedings, 2000. ( http://cedar.intel.com/cgi-bin/ids.dll/content/content.jsp?cntKey=Generic+Editorial%3a%3aclothsa mple&cntType=IDS_EDITORIAL&catCode=0&path=11 )
© Copyright 2025 Paperzz