Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
47
Task/Julia-set/Rust/julia-set.rust
Normal file
47
Task/Julia-set/Rust/julia-set.rust
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
extern crate image;
|
||||
|
||||
use image::{ImageBuffer, Pixel, Rgb};
|
||||
|
||||
fn main() {
|
||||
// 4 : 3 ratio is nice
|
||||
let width = 8000;
|
||||
let height = 6000;
|
||||
|
||||
let mut img = ImageBuffer::new(width as u32, height as u32);
|
||||
|
||||
// constants to tweak for appearance
|
||||
let cx = -0.9;
|
||||
let cy = 0.27015;
|
||||
let iterations = 110;
|
||||
|
||||
for x in 0..width {
|
||||
for y in 0..height {
|
||||
let inner_height = height as f32;
|
||||
let inner_width = width as f32;
|
||||
let inner_y = y as f32;
|
||||
let inner_x = x as f32;
|
||||
|
||||
let mut zx = 3.0 * (inner_x - 0.5 * inner_width) / (inner_width);
|
||||
let mut zy = 2.0 * (inner_y - 0.5 * inner_height) / (inner_height);
|
||||
|
||||
let mut i = iterations;
|
||||
|
||||
while zx * zx + zy * zy < 4.0 && i > 1 {
|
||||
let tmp = zx * zx - zy * zy + cx;
|
||||
zy = 2.0 * zx * zy + cy;
|
||||
zx = tmp;
|
||||
i -= 1;
|
||||
}
|
||||
|
||||
// guesswork to make the rgb color values look okay
|
||||
let r = (i << 3) as u8;
|
||||
let g = (i << 5) as u8;
|
||||
let b = (i << 4) as u8;
|
||||
let pixel = Rgb::from_channels(r, g, b, 0);
|
||||
img.put_pixel(x as u32, y as u32, pixel);
|
||||
}
|
||||
}
|
||||
|
||||
let _ = img.save("output.png");
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue