|dc.description.abstract||Virtual reality (VR) is a simulated interactive experience similar to the real world that has been increasingly popular for research and applications in recent decades. A typical virtual reality environment usually involves realistic visual, auditory, and haptic feedback, which finds various application scenarios in gaming, movie, surgical simulation, and military training, as well as engineering design. The key enabling technology behind virtual reality simulations and applications is interactive computing, which delivers the computational efficiency and visual plausibility that simulations require. Interactive simulation is challenging for three reasons. The first challenge is the variety and complexity of the simulated objects and phenomena. These objects can be vastly different, which makes it challenging to model the physical behavior of these objects and their interactions under a unified framework. The second challenge arises from the drastically increased computational expenses of the simulated virtual environment due to the increasingly higher demand for details and realism, the complicated physical models, and many objects and collisions involved. Moreover, the update rate required for continuous motion of rendered graphics to human eyes has to be at least 30, and for stable and smooth haptics feedback, the update rate has to be at least 1,000 Hz. Lastly, the interactive simulation should be physically realistic and numerically accurate for its practical significance in applications such as surgical simulation and realistic, immersive VR gaming.In this thesis, we present a generalized constrained dynamics (GCD) method for interactive computing of constrained dynamical systems involving multiple interacting deformable and rigid objects. The algorithm is based on a Lagrangian formulation of the governing equations of motion, which includes both hard and compliant constraints. The proposed method is shown to compare well with finite element solutions in terms of accuracy. Unlike other constraint-based techniques, e.g., the position-based dynamics (PBD), our approach does not exhibit dependence of material stiffness on the timestep size and iteration count of the nonlinear solver within each frame. On the contrary, we observe that the relative error decreases with increasing iterations per frame. The proposed algorithm is general, efficient, and physically accurate. GCD extends itself to straightforward parallelization resulting in a scheme that outperforms PBD by a factor of 2.5 to 3. The proposed method is validated using numerical examples and results to show the efficacy of the GCD method in simulating the deformation and interaction of objects under kinematic, elasticity, and collision constraints.
We further extend the GCD model to account for topological changes in interactive cutting and tearing of deformable objects using the level set method. The level set method is employed to describe the evolving interface between the damaged and undamaged material. The cutting surface is represented using an embedding surface mesh, which eliminates the need for remeshing. Therefore, the numerical instability caused by the ill-shaped elements is avoided. The deformation and interaction of elastodynamic systems are simulated using elasticity constraint for the evolving topology and collision constraints. Griffith’s fracture evolution criterion drives the level set evolution. Numerical examples are presented to show the efficacy of our algorithm in simulating the deformation, interaction, cutting, and tearing of objects.
Finally, the GCD is integrated into the open-source Interactive Medical Simulation Toolkit (iMSTK) - an open-source, cross-platform, modularized, and extensible C++ software toolkit for faster prototyping of interactive medical simulations. By integrating and modularizing GCD as an ‘internal force model’ of iMSTK, the implementation efforts are significantly reduced by taking advantage of the modularity and reusability of iMSTK. Moreover, we ensure that the GCD is easily available for developers to use when design and develop simulators.||