# 3D Physics (`physics3d`) ## Table of Contents * [Home](./CONTENTS.md#planning-documentation-for-fennec) * [3D Physics (`physics3d`)](#3d-physics-physics3d) * [Table of Contents](#table-of-contents) * [Introduction](#introduction) * [System Layout](#system-layout) ## Introduction   This system will handle newtonian physics for 3D rigid and soft-bodies. This should include articulated skeletal systems, particle physics, and soft-body physics. The following soft-body systems will be supported with the associated implementation; elastics with finite element simulation, cloth physics with position-based dynamics, oceans with iWave, 3D fluid dynamics with smoothed-particle hydrodynamics, 2D surface fluid dynamics with force-based dynamics. ## System Layout * Rigid Body Physics * Newtonian Physics and Collision Resolution * Articulated Skeletal Systems * Inverse Kinematics * Stiff Rods - Particle Physics * Soft Body Physics * Elastics → Finite Element Simulation * Cloth → Position-Based Dynamics * Water * Oceans → iWave * Reasoning: iWave provides interactive lightweight fluid dynamics suitable for flat planes of water.

* 3D Fluid Dynamics → Smoothed-Particle Hydrodynamics * Reasoning: This is the simplest method for simulating 3D bodies of water. This should exclusively be used for small scale simulations where self-interactive fluids are necessary. I.E. pouring water into a glass.

* 2D Surface Fluid Dynamics → Force-Based Dynamics * Reasoning: This model, like iWave, provides lightweight interactive fluid dynamics, but is more easily adapted to flowing surfaces such as streams and rivers.