diff --git a/Cargo.lock b/Cargo.lock index 83b4e76..9d19b0b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2295,14 +2295,6 @@ dependencies = [ "smithay-client-toolkit 0.6.6", ] -[[package]] -name = "spircles" -version = "0.1.0" -dependencies = [ - "nannou", - "utils", -] - [[package]] name = "spirv_cross" version = "0.23.1" @@ -2348,6 +2340,14 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c" +[[package]] +name = "subtitled1" +version = "0.1.0" +dependencies = [ + "nannou", + "utils", +] + [[package]] name = "syn" version = "1.0.74" diff --git a/README.md b/README.md index b810861..af5ba70 100644 --- a/README.md +++ b/README.md @@ -4,4 +4,4 @@ this is a bunch of nannou projects ## list -- spircles: some spinning circles +- subtitled #1: some spinning circles diff --git a/crates/spircles/Cargo.toml b/crates/subtitled1/Cargo.toml similarity index 84% rename from crates/spircles/Cargo.toml rename to crates/subtitled1/Cargo.toml index 962360b..d972543 100644 --- a/crates/spircles/Cargo.toml +++ b/crates/subtitled1/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "spircles" +name = "subtitled1" version = "0.1.0" edition = "2018" diff --git a/crates/spircles/src/main.rs b/crates/subtitled1/src/main.rs similarity index 97% rename from crates/spircles/src/main.rs rename to crates/subtitled1/src/main.rs index a8f4202..a5c66b8 100644 --- a/crates/spircles/src/main.rs +++ b/crates/subtitled1/src/main.rs @@ -1,7 +1,6 @@ use nannou::prelude::*; use utils::color::color; -use utils::record::record; fn main() { nannou::app(model).update(update).simple_window(view).run(); @@ -77,5 +76,5 @@ fn view(app: &App, _model: &Model, frame: Frame) { draw.to_frame(app, &frame).unwrap(); - record(app, &frame); + utils::record::record(app, &frame); } diff --git a/crates/utils/src/lib.rs b/crates/utils/src/lib.rs index 9376efc..5abbf1f 100644 --- a/crates/utils/src/lib.rs +++ b/crates/utils/src/lib.rs @@ -1,2 +1,18 @@ pub mod color; pub mod record; + +use nannou::prelude::*; + +/// Maps the sine of v to (out_min, out_max) +pub fn map_sin(v: f32, out_min: f32, out_max: f32) -> f32 { + map_range(v.sin(), -1.0, 1.0, out_min, out_max) +} + +pub trait Vec2Extension { + fn atan2(self) -> f32; +} +impl Vec2Extension for Vec2 { + fn atan2(self) -> f32 { + self.x.atan2(self.y) + } +}