diff --git a/src/bin/flat/riemann.rs b/src/bin/flat/riemann.rs index afc4b7b..ef07959 100644 --- a/src/bin/flat/riemann.rs +++ b/src/bin/flat/riemann.rs @@ -62,7 +62,6 @@ pub struct TraceIter<'a, M: Metric> { space: &'a M, p: Vec2, v: Vec2, - dt: f32, } impl<'a, M: Metric> Iterator for TraceIter<'a, M> { @@ -70,8 +69,8 @@ impl<'a, M: Metric> Iterator for TraceIter<'a, M> { fn next(&mut self) -> Option { let a: Vec2 = -contract2(krist(self.space, self.p), self.v); - self.v = self.v + a * self.dt; - self.p = self.p + self.v * self.dt; + self.v += a; + self.p += self.v; Some(self.p) } } @@ -80,8 +79,7 @@ pub fn trace_iter(space: &M, base: Vec2, dir: Vec2, dt: f32) -> Trace TraceIter { space, p: base, - v: space.normalize_vec_at(base, dir), - dt, + v: dt * space.normalize_vec_at(base, dir), } }