Code Monkey home page Code Monkey logo

mandelbrot-set-mvc's Introduction

About

Java multithreaded application, using MVC design pattern, which allows users to generate beautiful fractals. It lets users to conveniently zoom in/out and move center by mouse or keyboard, generate images and videos of mandelbrot set. Download

Theory

Mandelbrot set is a set of points in the complex plane for which the orbit of zn doesn't tend to infinity. The iteration formula used in the Mandelbrot set is:

Z0 = 0
Zn+1 = Zn2 + C
Where C determines the location of the iteration series in the complex plane.

Calculating the Mandelbrot Set

  • If the magnitude of Z ever becomes larger than declared threshold value, we will assume that it will diverge into infinity.
  • If the number of iterations exceeds declared maximum iterations value, we will assume that Z doesn't tend to infinity.
  • We will speed up calculations by using Divide and Conquer approach, calculating each part of set in different thread (Can be easily implemented with Fork/Join in java)

Coloring the plot

In order to colorize the plot we take number of iterations performed and map that against a color spectrum.
Color smoothing equation can be found here: http://linas.org/art-gallery/escape/smooth.html

Zooming

Zooming is achieved by decreasing/increasing mandelbrot set range

Examples

Watch the video image of video settings image example01.png example03.png example05.png
Click here for more examples

mandelbrot-set-mvc's People

Contributors

mateusz00 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.