3D space and physics engine for point's mechanics


Keywords
maths, mechanics, physics, vector, matrix, 3d, trajectory, ode, solver, ode-solver, physics-engine, physics-simulation, solving, trajectory-generation
License
GPL-3.0
Install
npm install meca3@4.0.1

Documentation

Version Build status Coverage Issues License

meca3

meca3 is a mechanics framework 🚀

It designed to be an advanced physics engine for animation of moving material points ✖️

It can also be used as a 3D maths general purpose toolbox ☕️

  • Object oriented and written in typescript

  • 3D optimized implementation of common algebraical operations to provide fast computation

  • Complete documentation with examples that can be found on the wiki

Contribute to the project : guide 📡

Main features

Note : Classes Vector3, Matrix3 and Point3 have been extended and are now available in the space3 framework

Note : Theses classes will be removed from code base in next release

Linear algebra

Common abstraction such as matrix and vectors and usual operations between theses

let m = Matrix3.id, u = Vector3.ones;
console.log(m.add(m)); 
console.log(m.map(u)); 
console.log(m.det); 

Geometrical transformations

Translation or affine transform for various geometrical objects

let gamma = Trajectory.elliptic(1, 2);
gamma.translate(Vector3.ex);

Coordinates systems

Spherical and cylindrical coordinates manipulations

let u = Vector3.cylindrical(1, Math.PI / 2, 0.5);

Trajectory bufferization

Trajectory of fixed size for trajectory

let gamma = BufferTrajectory.discrete([Vector3.ex, Vector3.ey]); // trajectory of size 2

Lightweight solver

Step by step or iterative ODE solving, outputs arrays and trajectories

Points systems mechanics

Move a point according to dynamic equation and represent dependent points field