Sketch: Spinny :D

This commit is contained in:
Charlotte Som 2022-01-03 21:36:44 +00:00
parent 587b8a2671
commit 06644217dd
4 changed files with 2944 additions and 0 deletions

5
03_spinny/.gitignore vendored Normal file
View file

@ -0,0 +1,5 @@
/target
# ffmpeg -framerate 60 -i recordings/%05d.png -pix_fmt yuv420p recording.mp4
/recordings
/recording.mp4

2881
03_spinny/Cargo.lock generated Normal file

File diff suppressed because it is too large Load diff

7
03_spinny/Cargo.toml Normal file
View file

@ -0,0 +1,7 @@
[package]
name = "sketch_spinny"
version = "0.1.0"
edition = "2018"
[dependencies]
sketchlib = { path = "../sketchlib" }

51
03_spinny/src/main.rs Normal file
View file

@ -0,0 +1,51 @@
use sketchlib::nannou;
use sketchlib::palettes::TRANS_FLAG;
use sketchlib::prelude::*;
fn main() {
nannou::app(model)
.size(1260, 1260)
.update(update)
.simple_window(view)
.run();
}
struct Model {}
fn model(_app: &App) -> Model {
Model {}
}
fn update(app: &App, model: &mut Model, _update: Update) {
// im pickle rick
}
const TAU: f64 = 6.283185307179586;
fn view(app: &App, _model: &Model, frame: Frame) {
let window_rect = app.window_rect();
let t = app.duration.since_start.as_secs_f64();
let draw = app.draw().scale(1.0);
draw.background().color(BLACK);
let bottom = window_rect.bottom(); // 🥺
let height = window_rect.h();
for i in 0..25 {
let y = bottom / 2.0 + i as f32 * height / 50.0;
let mut rotation: f32 = (t * TAU / 2.0) as f32 * ((i + 1) as f32) / 25.0;
draw.quad()
.rotate(rotation)
.color(TRANS_FLAG[i % TRANS_FLAG.len()])
.width(height / 25.0)
.height(height / 25.0)
.x_y(0.0, y);
}
draw.to_frame(app, &frame).unwrap();
dump_frame(app, &frame).unwrap();
}