Skip to content

Repository files navigation

Mandelbrot and Julia Set Generator

This is a mandelbrot visualizer using Java

javac JuliaSetGenerator.java will compile all the necessary code

Command line arguments: x [int] y [int] x = amount of pixels for the entire window, recommend it being a multiple of 800 y = amount of pixels for the entire window, recomment it being a multiple of 350

Controls

[i] - will zoom in on the Mandelbrot side focusing on the center of the window (left)
[o] - will zoom out on the Mandelbrot side focusing on the center of the window (left)
[left arrow] - shift to the left on the Mandelbrot side (left)
[right arrow] - shift to the right on the Mandelbrot side (left)
[up arrow] - shift upwards on the Mandelbrot side (left)
[down arrow] - shift downwards on the Mandelbrot side (left)
Adding [shift] to any of these commands ^^^ will apply them to the Julia side (right)

[left-click] (On the Mandelbrot window) creates Julia set using the imaginary number clicked on (shown on the bottom)

Rust rewrite

  • Wanted to learn some rust
  • Same keybinds but for now only shows mandelbrot, might make the julia set side-by-side view.
  • Parallelized, pretty damn cool I barely had to do anything
    • [p] toggle parallelize rendering
    • [s] toggle sequential rendering
    • Sequential is default, won't render anything if you have both toggled off
  • As we get higher zoom we get to over a second for sequential rendering
    • still ends up being less than 150 ms about 125-126ms
    • about 1/10th of the time towards the higher end

Dependencies:

  • color: 0.3.3
  • minifb: 0.28.3
  • rayon: 1.12.9

AI usage: I was asking it questions about how rust works, things like what the hell traits are. it initialized complex.rs and main.rs, this is why theres a bunch of huge comments at the top of the files.

About

This is a mandelbrot visualizer using Java

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages