xPheve: An extensible physics engine for virtual environments

Title: xPheve: An extensible physics engine for virtual environments
Authors: Nourian, Saeid
Date: 2004
Abstract: Almost any Virtual Reality application requires having a basic set of physical rules and properties such as gravity and collision elasticity. Traditionally, these physical laws were hard-coded within the application, adding an extensive amount of confusing codes that have little to do with the project requirements but more to do with satisfying the basic physics of the scene. Since every VR application would have its own implementation of physical behaviors, we face a problem that is commonly known as the "reinvention of the wheel"! To avoid the redundancy problem and to adequately separate the application components from the low-level physics components, modern programmers use a generic library called physics engine. A physics engine contains within itself all the codes required for dynamic computation of physical behaviors and provides these services to other applications through its application interface (API). There are several commercial physics engines available for programmers. Although they are computationally efficient, they lack a proper architecture. As a result, they face problems with extensibility and maintenance issues. In parallel to the above improvement opportunity, there is another industrial consideration. Sun Microsystems introduced a new technology for constructing portable virtual worlds called Java3D. Since Java3D is new, there are no physics engines available for Java3D programmers. This thesis proposes a new framework for developing virtual environments that obey physical laws. It introduces a new generation of physics engines that are fully customizable and extensible. This is due to a novel architecture that uses a container/plug-in pattern for implementing physical laws and attaching them to the physics engine. The physics engine is named xPheve (Extensible Physics Engine for Virtual Environments) and its current implemented is in Java and on top of Java3D libraries.
URL: http://hdl.handle.net/10393/26731
CollectionTh├Ęses, 1910 - 2010 // Theses, 1910 - 2010
MR01566.PDF4.41 MBAdobe PDFOpen