From 4c29c8de0b9b36fc5d47be58c9b8a48c965b5304 Mon Sep 17 00:00:00 2001 From: numzero Date: Sun, 28 Apr 2024 23:02:51 +0300 Subject: [PATCH] Less code duplication --- src/bin/flat.rs | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/bin/flat.rs b/src/bin/flat.rs index 23f4965..d601954 100644 --- a/src/bin/flat.rs +++ b/src/bin/flat.rs @@ -126,17 +126,7 @@ impl<'a, M: Metric> Iterator for TraceIter<'a, M> { } fn trace(space: &impl Metric, base: Vec2, dir: Vec2, distance: f32, dt: f32) -> Vec { - let steps = floor(distance / dt) as usize; - let mut result = Vec::with_capacity(steps); - let mut p = base; - let mut v = normalize(dir); - for _ in 0..steps { - let a: Vec2 = -convolute(krist(space, p), v); - v = v + a * dt; - p = p + v * dt; - result.push(p); - } - result + trace_iter(space, base, dir, dt).take((distance / dt) as usize).collect() } fn trace_iter(space: &M, base: Vec2, dir: Vec2, dt: f32) -> TraceIter {