From e974c95970b417bae8d069424afc6b890437a148 Mon Sep 17 00:00:00 2001 From: Lily Iliana Luna Ylva Anderson Grigaitis Date: Fri, 5 Sep 2025 14:16:43 -0500 Subject: [PATCH] Fixed boundary collision behavior --- src/lib.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 71167d0..2c50169 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -115,8 +115,15 @@ impl Ship { self.com_rotor = pos; self.vel = vel_2; if self.intersects_circle(boundary) { - self.com_rotor = 0.99*old; - //self.vel = CGA::zero(); + let pos = self.fixed_to_world(&gen_hyperbolic_point(&CGA::zero())); + let x = pos[E1]; + let y = pos[E2]; + let r_sqr = x*x+y*y; + let r = r_sqr.sqrt(); + let clamp = x/r *CGA::e15() + y/r*CGA::e25(); + let rotor = bivector_exponential(&(clamp*0.01)); + self.com_rotor = rotor * old; + self.vel = CGA::zero(); } }