From 5f14559fedd57b4cc8463ad468e5895c82cc6964 Mon Sep 17 00:00:00 2001 From: logaritmisk Date: Wed, 31 Aug 2016 16:38:17 +0200 Subject: [PATCH] Initial commit. --- .gitignore | 1 + Cargo.lock | 12 ++++++++++++ Cargo.toml | 7 +++++++ src/main.rs | 18 ++++++++++++++++++ 4 files changed, 38 insertions(+) create mode 100644 .gitignore create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 src/main.rs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..72a6025 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,12 @@ +[root] +name = "loldog" +version = "0.1.0" +dependencies = [ + "ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "ansi_term" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..c3eed22 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "loldog" +version = "0.1.0" +authors = ["logaritmisk "] + +[dependencies] +ansi_term = "0.9" diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..ddbec88 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,18 @@ +extern crate ansi_term; + +use std::f32::consts::PI; +use ansi_term::Colour::RGB; + +fn main() { + let (red, green, blue) = rainbow(0.1, 0); + + println!("{}", RGB(red, green, blue).paint("Steel blue")); +} + +fn rainbow(frec: f32, i: usize) -> (u8, u8, u8) { + let red = (f32::sin(frec * i as f32) * 127.0 + 128.0) as u8; + let green = (f32::sin(frec * i as f32 + 2.0 * PI / 3.0) * 127.0 + 128.0) as u8; + let blue = (f32::sin(frec * i as f32 + 4.0 * PI / 3.0) * 127.0 + 128.0) as u8; + + (red, green, blue) +}