Logo by Maya - 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. March 28, 2024, 06:43:56 PM


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] 2 3   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: Mandelbulber v2 - 2.03  (Read 7648 times)
0 Members and 1 Guest are viewing this topic.
Buddhi
Fractal Iambus
***
Posts: 895



WWW
« on: February 09, 2015, 06:35:46 PM »

Mandelbulber v2 2.03

Free download (executables for win32 and win64 and multiplatform source): http://sourceforge.net/projects/mandelbulber/
Website:       http://www.mandelbulber.com/

With big help from Sebastian Jennen I have finished new release of Mandelbulber.
This time there was focus on implementation of flight animation engine.  Now it's much more feature rich than in Mandelbulber 1.21. You will see table with animation, where you can add and animate any parameter.
Adding of parameters can be done by right click on chosen parameter edit field.
There is possible to edit animation frames in table and to do basic interpolation of values between frames. For every frame can be displayed preview, which helps to find desired frame.
If built-in table is not enough for you, then try to edit parameter file directly in external editor. Animation frames are stored in CSV format.


What is new?
- Added recording and rendering of flight animation. All frames are displayed in the table with previews.
  There is possible to edit values in the table and interpolate them in selected range of frames
  All frames can be edited in any spreadsheet editor. CSV format is used in settings file to store animation frames
  There is possible to add any parameter to animation (context menu for every parameter)
  Added keyboard shortcuts for recording (pause, strafe, roll)
  Added player for animation (plays directly from sequence of jpg files)
- added win64 version
- added user defined toolbar. To add new preset it's enough to save settings to $HOME/.mandelbulber/toolbar folder
- added quit confirmation dialog
- added multiple language support (EN, PL, DE)
- reduced all margins and spacings in UI
- added automatic tabify of docks when application is started first time
- in file selection dialog the preview is rendered much faster
- added missing mandelbulber.png icon
- more detailed recording of errors in .mandelbulber_log.txt
- corrected tab order in UI
- fixed bug: in install script
- fixed bug: there was double slash in paths for files
- fixed bug: after application quit rendering was not terminated

What will be in mandelbulber 2.04?
- keyframe editor to do interpolated animations
- and many other improvements...

As always every feedback is appreciated!

SVN repository: http://mandelbulber2.googlecode.com/svn/trunk/
This repository is available from Google Code: http://code.google.com/p/mandelbulber2/

Logged

quaz0r
Fractal Molossus
**
Posts: 652



« Reply #1 on: February 10, 2015, 09:13:38 AM »

 cheesy
Logged
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #2 on: February 10, 2015, 12:00:32 PM »

Super nice i hope to find some time importing some formulas to it
Logged

---

divide and conquer - iterate and rule - chaos is No random!
youhn
Fractal Molossus
**
Posts: 696


Shapes only exists in our heads.


« Reply #3 on: February 10, 2015, 02:43:05 PM »

I've already added some to my local copy of v2.02 ;

Code:
void IdesIteration(CVector3 &z)
{
    double x2 = z.x * z.x;
    double y2 = z.y * z.y;
    double z2 = z.z * z.z;
    double newx = x2 - 0.5 * (y2 + z2) + z.x;
    double newy = 2.0 * z.x * z.y * z.z + z.y;
    double newz = z2 - 0.5 * (x2 + y2) + z.z;
    z.x = newx;
    z.y = newy;
    z.z = newz;
}

void Ides2Iteration(CVector3 &z, CVector3 &c)
{
    double x2 = z.x * z.x;
    double y2 = z.y * z.y;
    double z2 = z.z * z.z;
    double newx = x2 - 0.5 * (y2 + z2) + c.x;
    double newy = 2.0 * z.x * z.y * z.z + c.y;
    double newz = z2 - 0.5 * (x2 + y2) + c.z;
    z.x = newx;
    z.y = newy;
    z.z = newz;
}

void BuffaloIteration(CVector3 &z)
{
     double x2 = z.x * z.x;
     double y2 = z.y * z.y;
     double z2 = z.z * z.z;
     double temp = 1.0 - z2 / (x2 + y2);
     double newx = (x2 - y2) * temp;
     double newy = 2.0 * z.x * z.y * temp;
     double newz = -2.0 * z.z * sqrt(x2 + y2);
     z.x = fabs(newx);
     z.y = newy;
     z.z = fabs(newz);
}

void Buffalo2Iteration(CVector3 &z, CVector3 &c)
{
     double x2 = z.x * z.x;
     double y2 = z.y * z.y;
     double z2 = z.z * z.z;
     double temp = 1.0 - z2 / (x2 + y2);
     double newx = (x2 - y2) * temp;
     double newy = 2.0 * z.x * z.y * temp;
     double newz = -2.0 * z.z * sqrt(x2 + y2);
     z.x = fabs(newx + c.x);
     z.y = newy + c.y;
     z.z = fabs(newz + c.z);
}

/* http://www.fractalforums.com/3d-fractal-generation/another-shot-at-the-holy-grail/ */
void QuickDudleyIteration(CVector3 &z)
{
    double x2 = z.x * z.x;
    double y2 = z.y * z.y;
    double z2 = z.z * z.z;
    double newx = x2 - 2 * z.y * z.z;
    double newy = z2 + 2 * z.x * z.y;
    double newz = y2 + 2 * z.x * z.z;
    z.x = newx;
    z.y = newy;
    z.z = newz;
}

/* http://www.fractalforums.com/3d-fractal-generation/another-shot-at-the-holy-grail/ */
void LkmitchIteration(CVector3 &z)
{
    double x2 = z.x * z.x;
    double y2 = z.y * z.y;
    double z2 = z.z * z.z;
    double newx = x2 - 2 * z.y * z.z;
    double newy = z2 + 2 * z.x * z.y;
    double newz = y2 - 2 * z.x * z.z;
    z.x = newx;
    z.y = newy;
    z.z = newz;
}

/* Makin3D-2 found through the another shot at the holy grail topic at ff */
void Makin3D2Iteration(CVector3 &z)
{
    double x2 = z.x * z.x;
    double y2 = z.y * z.y;
    double z2 = z.z * z.z;
    double newx =  x2 + 2 * z.y * z.z;
    double newy = -y2 - 2 * z.x * z.z;
    double newz = -z2 + 2 * z.x * z.y;
    z.x = newx;
    z.y = newy;
    z.z = newz;
}

I know what to edit in allmost all other files to make this work. The only errors I get is on missing UI files. As a workaround I copy them manually to /usr/share/mandelbulber2/qt_data with the file fractal_benesi.ui as template.

Now I notice one of the Buffalo fractal is not in there   shocked

This one should also be included (with absolute operation on all x,y,z variables) :

Code:
void BuffaloIteration3(CVector3 &z)
{
     double x2 = z.x * z.x;
     double y2 = z.y * z.y;
     double z2 = z.z * z.z;
     double temp = 1.0 - z2 / (x2 + y2);
     double newx = (x2 - y2) * temp;
     double newy = 2.0 * z.x * z.y * temp;
     double newz = -2.0 * z.z * sqrt(x2 + y2);
     z.x = fabs(newx);
     z.y = fabs(newy);
     z.z = fabs(newz);
}

Hm, perhaps this subforum is not the most correct location for this post ...  suspious
Logged
lukesleftleg
Navigator
*****
Posts: 63


« Reply #4 on: February 10, 2015, 04:45:26 PM »

Very, very nice.
Thank you Buddhi.  grin

Hmm, I think I can feel another animation coming on again soon.
Logged
Snicker02
Alien
***
Posts: 38


« Reply #5 on: February 10, 2015, 05:31:24 PM »

<a href="http://www.youtube.com/v/1qn36EOihtQ&rel=1&fs=1&hd=1" target="_blank">http://www.youtube.com/v/1qn36EOihtQ&rel=1&fs=1&hd=1</a>    afro
Logged
Buddhi
Fractal Iambus
***
Posts: 895



WWW
« Reply #6 on: February 10, 2015, 06:05:04 PM »

Super nice i hope to find some time importing some formulas to it

I've already added some to my local copy of v2.02 ;

If you have some nice formulas to implement please contact with me or youhn. I will work with youhn to code it into Mandelbulber.
Logged

mclarekin
Fractal Senior
******
Posts: 1739



« Reply #7 on: February 11, 2015, 12:25:54 AM »

Thank you guys for the latest version

I often use manipulations of existing formulas, if at any time you find one interesting I can supply the code smiley
Logged
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #8 on: February 13, 2015, 06:48:54 PM »

If you have some nice formulas to implement please contact with me or youhn. I will work with youhn to code it into Mandelbulber.

Don't remember if I asked it already embarrass

Code:
Menger4IFS(x,y,z,w){
   r=x*x+y*y+z*z;
   for(i=0;i<MI && r<bailout;i++){

      x=abs(x);y=abs(y);z=abs(z);w=abs(w);
      if(x-y<0){x1=y;y=x;x=x1;}
      if(x-z<0){x1=z;z=x;x=x1;}
      if(y-z<0){y1=z;z=y;y=y1;}
      if(x-w<0){x1=w;w=x;x=x1;}
      if(y-w<0){x1=w;w=y;y=x1;}
      if(z-w<0){y1=w;w=z;z=y1;}

      rotate4D(x,y,z,w);

      x=scale*x-CX*(scale-1);
      y=scale*y-CY*(scale-1);
      w=scale*w-CW*(scale-1);
      z-=0.5*CZ*(scale-1)/scale;
      z=-abs(-z);
      z+=0.5*CZ*(scale-1)/scale;
      z=scale*z;
     
      r=x*x+y*y+z*z;
   }
   return sqrt(x*x+y*y+z*z)*scale^(-i);
}

float Sierpinski4(vec4 z)
{
float r;

int n = 0;
while (n < Iterations) {

// This is the hyper-tetraedral folding
if(z.x+z.y<0.0) z.xy = -z.yx;
if(z.x+z.z<0.0) z.xz = -z.zx;
if(z.y+z.z<0.0) z.zy = -z.yz;
if(z.x+z.w<0.0) z.xw = -z.wx;
if(z.y+z.w<0.0) z.yw = -z.wy;
if(z.z+z.w<0.0) z.zw = -z.wz;
Rotate4D (z,Angles4D); // <- placed by me to make it a "true" KIFS

z = z*Scale - Offset4*(Scale-1.0);
n++;
}

return sqrt(x*x+y*y+z*z)*scale^(-i);
}

MixPinski4(x,y,z,w){
   r=x*x+y*y+z*z;
   for(i=0;i<MI && r<bailout;i++){

      if(z.x+z.y<0.0) z.xy = -z.yx;
      if(z.x+z.z<0.0) z.xz = -z.zx;
      if(z.y+z.z<0.0) z.zy = -z.yz;
      if(z.x+z.w<0.0) z.xw = -z.wx;
      if(z.y+z.w<0.0) z.yw = -z.wy;
      if(z.z+z.w<0.0) z.zw = -z.wz;

      rotate4D(x,y,z,w);

      x=scale*x-CX*(scale-1);
      y=scale*y-CY*(scale-1);
      w=scale*w-CW*(scale-1);
      z-=0.5*CZ*(scale-1)/scale;
      z=-abs(-z);
      z+=0.5*CZ*(scale-1)/scale;
      z=scale*z;
     
      r=x*x+y*y+z*z;
   }
   return sqrt(x*x+y*y+z*z)*scale^(-i);
}

float Octahedron4(vec4 z)
{
// ... See Sierpinski4 until folding then

// This is the hyper-octaedral folding
      x=abs(x);y=abs(y);z=abs(z);w=abs(w);
      if(x-y<0){x1=y;y=x;x=x1;}
      if(x-z<0){x1=z;z=x;x=x1;}
      if(y-z<0){y1=z;z=y;y=y1;}
        // ... fold w like in Menger4 ... and finally
// ... See Sierpinski4
}
Logged

No sweat, guardian of wisdom!
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #9 on: February 13, 2015, 06:52:44 PM »

ABoxModKali (dunno if it's in already)

Code:
x = X_add - abs(x)
y = Y_add - abs(y)
z = Z_add - abs(z)
rr = x*x + y*y + z*z
if rr < sqr(Min_R) then m = Scale/sqr(Min_R) else
if rr < 1 then m = Scale/rr else m = Scale
x = x * m + Cx
y = y * m + Cy
z = z * m + Cz

My worldwide famous AboxMod1 wink
Inspired from a 2D formula proposed by Kali at the forums here;

http://www.fractalforums.com/new-theories-and-research/kaliset-plus-boxfold-nice-new-2d-fractal/msg33670/#new

Code:
Scale = Scale + Scale_vary*(abs(Scale)-1)
x = Fold-abs(abs(x+FoldXM)-Fold)-abs(FoldXM)
y = Fold-abs(abs(y+FoldYM)-Fold)-abs(FoldYM)
z = Fold-abs(abs(z+FoldZM)-Fold)-abs(FoldZM)
// rr = pow(x*x + y*y + z*z + w*w, R_power) <- removed to speedup
if rr < sqr(Min_R) then m = Scale/sqr(Min_R) else
if rr < 1 then m = Scale/rr else m = Scale
x = x * m + Cy
y = y * m + Cx
z = z * m + Cz
Logged

No sweat, guardian of wisdom!
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #10 on: February 13, 2015, 07:05:39 PM »

Riemann fractal 1 (old wink )

http://www.fractalforums.com/theory/alternate-co-ordinate-systems/msg11688/#msg11688

One of the many Benesi burning ships:

http://www.fractalforums.com/the-3d-mandelbulb/here-are-the-first-true-3d-mandelbrot-images/

smiley
Logged

No sweat, guardian of wisdom!
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #11 on: February 13, 2015, 08:29:48 PM »

As primitive shapes are implemented...
Those friends maybe added
http://www.fractalforums.com/new-theories-and-research/not-fractal-but-funny-trefoil-knot-routine/
Logged

No sweat, guardian of wisdom!
youhn
Fractal Molossus
**
Posts: 696


Shapes only exists in our heads.


« Reply #12 on: February 13, 2015, 09:26:24 PM »

 cheesy

 thanks sign

I'll see what I get working in Mandelbulber.
Logged
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #13 on: February 13, 2015, 11:43:11 PM »

No problems just a tiny taste of what can be done cheesy
Logged

No sweat, guardian of wisdom!
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #14 on: March 01, 2015, 04:30:13 PM »

Here you find a nice little collection of isosurfaces
They can be fun to be used as baseshapes, if trimmed to a sphere
See the 5th document wink
http://cvit.iiit.ac.in/projects/rayTracing/

Many were implemented in mb3d using my own simplified method smiley
Logged

No sweat, guardian of wisdom!
Pages: [1] 2 3   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Mandelbulber 0.80 Mandelbulber Buddhi 5 7964 Last post June 27, 2010, 05:30:54 PM
by knighty
Mandelbulber 0.85 Mandelbulber Buddhi 6 4605 Last post July 25, 2010, 10:00:13 PM
by kram1032
Mandelbulber 0.93 Mandelbulber Buddhi 12 6080 Last post October 17, 2010, 03:19:15 PM
by Buddhi
mandelbulber Help & Support ramblerette 1 972 Last post October 18, 2010, 02:56:02 PM
by ramblerette
Mandelbulber 0.94 Mandelbulber « 1 2 » Buddhi 15 10185 Last post October 24, 2010, 09:36:01 AM
by Buddhi

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.275 seconds with 26 queries. (Pretty URLs adds 0.016s, 2q)