Logo by DarkBeam - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Support us via Flattr FLATTR Link
 
*
Welcome, Guest. Please login or register. October 20, 2019, 03:55:58 AM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1]   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: Priorities list for develop mandelbrot software.  (Read 1760 times)
Description: What is the most important things to do?
0 Members and 1 Guest are viewing this topic.
Tux89
Guest
« 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!
Logged
Cyclops
Conqueror
*******
Posts: 135



WWW
« Reply #1 on: May 26, 2011, 01:17:34 PM »

For smartphones?
Logged

Sensitively dependant on initial conditions
Tux89
Guest
« Reply #2 on: May 26, 2011, 01:46:45 PM »

not so low-end cheesy

Or you mean something else?
Logged
Tux89
Guest
« Reply #3 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...
Logged
zenzero-2001
Explorer
****
Posts: 42


« Reply #4 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;
       double yDistance = y - height / 2.0;

        // Translate arbitrary point to the origin
        center.real() += xDistance / (magnification * height);
        center.imag() -= yDistance / (magnification * height);

        // Scale relative to the arbitrary point
        magnification *= zoomFactor;

        // Translate the arbitrary point back to its original location
        center.real() -= xDistance / (magnification * height);
        center.imag() += yDistance / (magnification * height);

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 smiley 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 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! smiley
Logged
ker2x
Fractal Molossus
**
Posts: 795


WWW
« Reply #5 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 ?  :smiley

My priority is to have fun with code. So my only suggestion is to have the same priority  grin
Logged

often times... there are other approaches which are kinda crappy until you put them in the context of parallel machines
(en) http://www.blog-gpgpu.com/ , (fr) http://www.keru.org/ ,
Sysadmin & DBA @ http://www.over-blog.com/
Pages: [1]   Go Down
  Print  
 
Jump to:  


Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.146 seconds with 27 queries. (Pretty URLs adds 0.01s, 2q)