Title: Priorities list for develop mandelbrot software. Post by: Tux89 on May 26, 2011, 12:09:24 PM Actually I've made a simple software in C# that render basic Mandelbrot set. It's very fast but also limited.
The software done all computation in ram and use double precision (64bit). It's optimized for Netbook and other low-end computers and can make advantage of Multithreading and OpenCL. I want to start a new project and make a back-end that contains renders and a front-end that let the user explore the set detached from the render chosen. So the front-end is just one, and I only have to create a render like a blackbox and add to the project. When the program is running the user can choose one of the renders. What are my priorities in developing renders? Fast or Precise render? Work on Disk or work on Ram? and what others that I even don't know? Apologies for my poor English and thank for the support! Title: Re: Priorities list for develop mandelbrot software. Post by: Cyclops on May 26, 2011, 01:17:34 PM For smartphones?
Title: Re: Priorities list for develop mandelbrot software. Post by: Tux89 on May 26, 2011, 01:46:45 PM not so low-end :D
Or you mean something else? Title: Re: Priorities list for develop mandelbrot software. Post by: Tux89 on May 30, 2011, 06:31:35 PM Another question... I use CenterX, CenterY, Width and Height to move over Mandelbrot set... Can I use that coordinates either with Buddabrot or Julia set?
I have realized a plugin system for my software and I want to use that to make one GUI and a lot of plugin with Mandelbrot set, OCL Mandelbrot set, Buddabrot etc etc... Title: Re: Priorities list for develop mandelbrot software. Post by: zenzero-2001 on June 02, 2011, 01:19:08 AM Hi Tux89,
Yes you can use the center coodinates, width and height to explore any 2D fractal like the Mandelbrot set. You are actually exploring the x, y (real, imaginary) coordinate plane so it doesn't matter what the formula is. You may also wish to use a magnification parameter then you can scale and translate the coordinate plane. Here is some code for zooming to a point (x, y) - notice, that the magnification is not affected by the width, only the height and the zoom factor: Code: double xDistance = x - width / 2.0; My program can render different fractals using the same GUI code (it is also an MDI program). I achieved this my using polymorphism - an abstract "Fractal" base class that the other fractal implementations inherit from. I am not familiar with implementing a plugin architecture. As you know, calculating fractals is very processor intensive, the priorities depend on what you are trying to achieve :) I think it is best to have a balance between precision and speed. My program uses solid guessing (which can be disabled for accuracy), this is most useful for speeding up inside the set at high iterations. My program also uses orbit detection (periodicity checking) to greatly speed up calculations inside the set at high iterations. I recommend taking a look at M-Rob's page at http://mrob.com/pub/muency.html (http://mrob.com/pub/muency.html) for ideas and algorithms, particularly for adjacency optimisation like solid guessing. I am hoping to use OpenCL in a future version of my program (maybe next year sometime) so I may need to pick your brains! :) Title: Re: Priorities list for develop mandelbrot software. Post by: ker2x on June 27, 2011, 08:30:55 PM What are my priorities in developing renders? Fast or Precise render? Work on Disk or work on Ram? and what others that I even don't know? you're asking us what is your priority ? Ermmm .... i don't know ? ::) My priority is to have fun with code. So my only suggestion is to have the same priority ;D |