GithubHelp home page GithubHelp logo

mandelbrot-set's People

Contributors

c-glick avatar

Watchers

 avatar

mandelbrot-set's Issues

Add image importing

Allow the user to specify a previously exported image, then use the metadata attached to that image (#14) to set the graph parameters to recreate that exported image.

add export image confirmation

add some sort of confirmation after the export image button has been pressed, small dialog box or system notification.

Add different reset methods

put a drop-down next to reset button to change the reset method. reset only scale, limit, position, or all

output does not look right

the output from the program appears to be a square with some funny edges, this could be for many different reasons. it could be that my equation for determining # of iterations is wrong or it could be the way that I am saving or reading those numbers into the array. or it could be the way that I am drawing to the screen. I will have to look into this.

image

Add loading wheel

Add a loading wheel while calculating and drawing to the screen. Shows the user that the program is still working.

Add it to the toolbar where the current settings are displayed.

Add time estimate value

Add estimated time to complete the current graph near the progress bar. Will be useful in the future when single frames take much longer to calculate.

Display current settings in the window

Display the current settings in the window so the user can see the numbers. Put it in a toolbar or something to that effect rather than drawing text to the canvas.

Resize window through UI

Resize the graph settings when the window size is changed by dragging the corner of the window. Add set resolutions to the view menu.

Draw to screen faster

Is there a faster way to draw pixels to screen than drawing thousands of 1x1 squares. should also transition to used buffered images to make exporting images easier.

Graph rotation control

Be able to rotate the graph, this is intended more for output videos rather than live viewing. Rotate the graph a certain amount for each frame.

Increase precision

After zooming in past 1 * 10^13 the graph becomes pixelated. Increasing the limit does not help. I believe this is due to the limitation of the double variable. As the graph zooms in more and more, the complex numbers created require more and more decimal points to represent.

Working on creating a high precision mode that uses complex numbers and computations using Java's "BigDecimal" class. Note that BigDecimal objects are immutable after the object is created, its value cannot be changed.
screenshot

Fix resolution stretching

When the canvas is not a square the image is stretched rather than adjusted to fit the window. Will probably need to change how the topLeft and bottomRight complex numbers are generated.

export buffered images

add a button to export the current frame to a specified folder.

File outputfile = new File("/home/colton-glick/Desktop/image.png"); try { ImageIO.write(Launcher.buffImag, "png", outputfile); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }

Add different coloring mode

Add another mode of coloring. Instead of assigning the color based on the percent of iterations to the limit, (EX: if a point takes 10 iterations, and the limit is 100, the color value would be 10/100 = 0.1 if the limit increases, the iterations taken does not, so the color changes 10/500 = 0.02)

assign colors based solely on the number of iterations. (for example, divide the number of iterations by 100 to get the color value, so 20 iterations would be 20/100 = 0.2) that way as the limit increases the colors remain the same. Will need to keep the color values below 1 somehow.

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.