aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjacob janzen <jacob.a.s.janzen@gmail.com>2022-08-28 11:14:23 -0500
committerjacob janzen <jacob.a.s.janzen@gmail.com>2022-08-28 11:14:23 -0500
commitdf917c3aa6ade6b8512a637e9c923c09e0ffb504 (patch)
treeaf632a128a4ba2d8ca324dfbce77bb039b3f0c51
parent1fe3cfe345bb071a1cad5bd9614a60b672f82e6c (diff)
fixed teleportation issue
set author
-rw-r--r--output.gifbin17057577 -> 17240829 bytes
-rw-r--r--src/lib.rs6
2 files changed, 3 insertions, 3 deletions
diff --git a/output.gif b/output.gif
index 7007ddb..27893b1 100644
--- a/output.gif
+++ b/output.gif
Binary files differ
diff --git a/src/lib.rs b/src/lib.rs
index 82aa59e..b415e2a 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -110,9 +110,9 @@ impl Image {
let pos = 2.0 * PI * frame as f64 / self.frames as f64;
for ellipse in &mut self.ellipses {
let sin_theta = (ellipse.angle + pos).sin();
- let cos_theta = (ellipse.angle + pos).sin();
- let a = ellipse.width;
- let b = ellipse.height;
+ let cos_theta = (ellipse.angle + pos).cos();
+ let a = ellipse.width / 2.0;
+ let b = ellipse.height / 2.0;
let radius =
(a * b) / (a * a * sin_theta * sin_theta + b * b * cos_theta * cos_theta).sqrt();
ellipse.curr_point.x = (ellipse.centre.x as f64 + radius * pos.sin()) as i64;