- Began new overarching window interface - Began outlining renderer interfaces - Began a binary tree implementation in bintree.h, this will act as a generalized binary tree, then red-black tree will be implemented on top of it for sequences (ordered sets)
50 lines
1.9 KiB
Markdown
50 lines
1.9 KiB
Markdown
|
|
<!-- I release these notes into the public domain -->
|
|
|
|
# 3D Physics (`physics3d`)
|
|
|
|
## Table of Contents
|
|
|
|
<!-- TOC -->
|
|
* [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)
|
|
<!-- TOC -->
|
|
|
|
|
|
## 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.
|
|
<br><br>
|
|
|
|
* 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.
|
|
<br><br>
|
|
|
|
* 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. |