motion 0.1.5

A bare metal physics engine.
Documentation

Motion🍃

Motion is a bare metal physics engine with which you can make simulations easily and quickly, also in rust.

Get started ✨

let's start by making a simple event loop

use std::{thread, time::Duration};

use motion::event_loop::{EventLoop, EventLoopConfig};

// The definition of this function depends on the context in which motion is used
fn sleep(duration: Duration) {
    thread::sleep(duration);
}

fn main() {
    let el = EventLoop::new(EventLoopConfig { fps: 1 });

    el.start(|_config| println!("Hello! in the event loop"), sleep);
}

now we are going to do something more complex by creating an object

    let obj = Object2dBuilder::new()
        .position(vec2(2.0, 2.0))
        .density(2.0)
        .mass(3.0)
        .velocity(vec2(4.0, 4.0))
        .acceleration(vec2(3.0, 3.0))
        .radius(2.0)
        .shape(Shape::Circle)
        .build();

Why rust 🦀

Rust is a fast and efficient programming language, which makes it perfect for motion, plus it is very flexible allowing motion to be used everywhere.