diff options
Diffstat (limited to 'src/math.rs')
-rw-r--r-- | src/math.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/math.rs b/src/math.rs index c747cce..ff652ea 100644 --- a/src/math.rs +++ b/src/math.rs @@ -1,4 +1,6 @@ use ggez::graphics::Rect; +use ggez::nalgebra::Point2; +use rand::Rng; use std::f32::consts::PI; use std::time::Instant; @@ -27,3 +29,9 @@ pub fn next_source(source: Rect, animation: &[(usize, Rect)], timer: Instant) -> (source, timer) } } + +pub fn random_nearby_point(origin: Point2<f32>, within_radius: f32) -> Point2<f32> { + let w = within_radius * rand::thread_rng().gen_range(0.0, 1.0); + let t = 2.0 * PI * rand::thread_rng().gen_range(0.0, 1.0); + Point2::new(origin.x + w * t.cos(), origin.y + w * t.sin()) +} |