Simplify riemann::trace_iter
This commit is contained in:
parent
d90f473bd6
commit
d2d4dcdbca
|
|
@ -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<Self::Item> {
|
||||
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<M: Metric>(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),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user