Functional Requirements
This section provides the functional requirements, the tasks and behaviours that the software is expected to complete.
Simulation-Space: Create a space for all of the rigid bodies in the physical simulation to interact in.
Input-Initial-Conditions: Input the initial masses, velocities, orientations, angular velocities of, and forces applied on rigid bodies.
Input-Surface-Properties: Input the surface properties of the bodies such as friction or elasticity.
Verify-Physical_Constraints: Verify that the inputs satisfy the required physical constraints from the solution characteristics specification.
Calculate-Translation-Over-Time: Determine the positions and velocities over a period of time of the 2D rigid bodies acted upon by a force.
Calculate-Rotation-Over-Time: Determine the orientations and angular velocities over a period of time of the 2D rigid bodies.
Determine-Collisions: Determine if any of the rigid bodies in the space have collided.
Determine-Collision-Response-Over-Time: Determine the positions and velocities over a period of time of the 2D rigid bodies that have undergone a collision.