From d2c5e120b4c32203b6fd8f6a93614a8b02cdc4aa Mon Sep 17 00:00:00 2001 From: fabolous005 Date: Sun, 26 Nov 2023 16:41:11 +0100 Subject: [PATCH] further improvements on drawing basic function --- grid_image.png | Bin 829990 -> 731147 bytes src/main.rs | 18 ++++++++---------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/grid_image.png b/grid_image.png index 4da4dfce2af148800c2a4a88bb5499dbb870a717..1fb4db4b069e3efacb89a84ed6419b94ed6a6f54 100644 GIT binary patch literal 731147 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%0DblR5rT*5xm!s`=9#GYIH0?KC> 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

~M82Zbm5#G6P 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 literal 829990 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 E0TrpzJOBUy diff --git a/src/main.rs b/src/main.rs index 4346cdc..fdf4bbd 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,5 @@ +#![allow(dead_code)] + use rand::Rng; use image::Rgb; use image::RgbImage; @@ -5,12 +7,8 @@ use image::ImageBuffer; fn main() { - // let mut args = vec![]; - // for arg in env::args() { - // args.push(arg); - // } - let width = 7000; - let height = 7000; + let width = 6500; + let height = 6500; let mut img = get_image(width, height); // let mut colors= vec![]; @@ -18,8 +16,8 @@ fn main() { let mut points = vec![]; for i in 0..=1000 { points.push(i as f64 / 1000.0); + points.push(-(i as f64 / 1000.0)); } - // println!("{points:?}"); // funktion = f(x) = 3x^2 // ableitungsquotient = 6a @@ -31,7 +29,7 @@ fn main() { // img.put_pixel((point * 1000.0_f64).round() as u32, (get_point(point as i32) * 1000.0).round() as u32, Rgb(color)); img.put_pixel( (point * 1000.0_f64).round() as u32 + (width / 2), - (get_point(point as i32) * 1000.0).round() as u32 + (height / 2), + (get_point(point) * 1000.0).round() as u32 + (height / 2), Rgb([255,255,255]) ); } @@ -45,8 +43,8 @@ fn get_pitch_quotient() -> u32 { 6 } -fn get_point(x: i32) -> f64 { - (3 * x.pow(2)) as f64 +fn get_point(x: f64) -> f64 { + 3.0 * x.powf(2.0) }