🎉 Initial commit

This commit is contained in:
Daniel Svitan
2025-04-18 22:15:04 +02:00
commit 620bd8be51
4 changed files with 109 additions and 0 deletions

38
src/main.rs Normal file
View File

@@ -0,0 +1,38 @@
#![allow(non_snake_case)]
use physical_constants;
use std::{thread, time};
fn main() {
let f = 100_f64; // Hz
let time_delta = 1_f64 / f; // s
let speed_dial = 1_f64;
let pause = time::Duration::from_millis((time_delta * 1000_f64 / speed_dial) as u64);
let mass = 1_f64; // kg
//let A = 0.0025_f64; // m^2
let A = 1_f64; // m^2
let Cd = 0.5_f64;
let p = 1.204_f64; // kg/m^3
let Fg = mass * physical_constants::STANDARD_ACCELERATION_OF_GRAVITY; // N
let mut Fd = 0_f64;
let mut a; // m/s^2
let mut v = 0_f64; // m/s
let mut d = 0_f64; // m
let mut elapsed = 0_f64;
loop {
a = (Fg - Fd) / mass;
v += a * time_delta;
d += v * time_delta;
print!("t = {:.3} s Fg = {:.3} N Fd = {:.3} N a = {:.3} m/s^2 v = {:.3} m/s d = {:.3} m\r", elapsed, Fg, Fd, a, v, d);
Fd = p * Cd * A * v.powf(2_f64) / 2_f64;
elapsed += time_delta;
thread::sleep(pause);
}
}