Julia set: Difference between revisions

Content added Content deleted
m (→‎{{header|Julia}}: code simplifications)
(Added rust example)
Line 1,269:
#
</pre>
 
=={{header|Rust}}==
<lang rust>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");
 
}</lang>
 
=={{header|Sidef}}==