tiny_game_framework/utils/
math.rs1use std::ops::Add;
2use glam::{vec2, vec3, vec4, Vec2, Vec3, Vec4};
3use rand::prelude::*;
4
5pub fn distance(a: f32, b: f32) -> f32{
6 return f32::sqrt(a*a + b*b);
7}
8
9pub fn lerp(min: f32, max: f32, t: f32) -> f32{
10 return min + (max - min) * t;
11}
12
13pub fn rand_betw
15<
16 T: std::cmp::PartialOrd +
17 rand::distributions::uniform::SampleUniform,
18>
19(
20 n1: T,
21 n2: T
22) -> T {
23 let mut r = thread_rng();
24 r.gen_range(n1..n2)
25}
26
27pub fn rand_vec2() -> Vec2 {
28 vec2(rand_betw(0.0, 1.0), rand_betw(0.0, 1.0))
29}
30
31pub fn rand_vec3() -> Vec3 {
32 vec3(rand_betw(0.0, 1.0), rand_betw(0.0, 1.0), rand_betw(0.0, 1.0))
33}
34
35pub fn rand_vec4() -> Vec4 {
36 vec4(rand_betw(0.0, 1.0), rand_betw(0.0, 1.0), rand_betw(0.0, 1.0), rand_betw(0.0, 1.0))
37}
38
39struct SecondOrderDynamics {
40
41}
42