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: Visit the official fractalforums.com Youtube Channel
 
*
Welcome, Guest. Please login or register. October 03, 2018, 03:28:53 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 [2]   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: New to Madelbulb: Can sombody help me with a formula?  (Read 1473 times)
0 Members and 1 Guest are viewing this topic.
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #15 on: April 15, 2011, 10:42:56 AM »

Images at first tongue stuck out Azn


* djd.jpg (167.1 KB, 1395x618 - viewed 113 times.)
Logged

No sweat, guardian of wisdom!
DomJustDom
Forums Newbie
*
Posts: 9


« Reply #16 on: April 15, 2011, 01:04:05 PM »

First of all thanks for all your support.
I'm really glad that you all took your time and effort to help me with this.
But I'm sorry to say that I made some mistakes with the formulas.
I hope this is not to problematic for you.
So here the first mistake: The formula table is meant as Zn+1=Zn2+C
The square was missing and 2cd is not 2cd, is what I just discovered but -2cdi.
I had there a mistake in my own formula table as well.

a=a2 - b2 + aC
bi=2ab i - c2 i + d2- 2cd i + biC
cj=2ac j - 2bd j +bjC
dk=2ad k + 2bc k+ckC
Zn+1=Zn2+C



The idea behind it is still:
i*i=-1
j*j=-i
j*i=k

So to correct the table i wrote in "Meet+Greet" would look like this:

*+1ijk
+1+1ijk
ii-1k-j
jjk-i-i
kk-j-i+i

I hope this is now finally correct. But if you still find a mistake, feel free to post.
Logged
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #17 on: April 15, 2011, 04:32:43 PM »

First of all thanks for all your support.
I'm really glad that you all took your time and effort to help me with this.
But I'm sorry to say that I made some mistakes with the formulas.
I hope this is not to problematic for you.
So here the first mistake: The formula table is meant as Zn+1=Zn2+C
The square was missing and 2cd is not 2cd, is what I just discovered but -2cdi.
I had there a mistake in my own formula table as well.

a=a2 - b2 + aC
bi=2ab i - c2 i + d2- 2cd i + biC
cj=2ac j - 2bd j +bjC
dk=2ad k + 2bc k+ckC
Zn+1=Zn2+C



The idea behind it is still:
i*i=-1
j*j=-i
j*i=k

So to correct the table i wrote in "Meet+Greet" would look like this:

*+1ijk
+1+1ijk
ii-1k-j
jjk-i-i
kk-j-i+i

I hope this is now finally correct. But if you still find a mistake, feel free to post.


But the formula is very pretty as is, why you wanna mutate? grin
Logged

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


Fragments of the fractal -like the tip of it


« Reply #18 on: April 15, 2011, 04:59:20 PM »

Okay. I tried your "correction" but it pretty much ruins all the effect, producing an awful spiky aspect

Attached image. The correction will be an option wink

Ah... I can't write the formula for yourself so decide by yourself police


* yuop.jpg (84.27 KB, 724x723 - viewed 46 times.)
Logged

No sweat, guardian of wisdom!
Jesse
Download Section
Fractal Schemer
*
Posts: 1013


« Reply #19 on: April 15, 2011, 10:21:11 PM »

a=a2 - b2 + aC
bi=2ab i - c2 i + d2- 2cd i + biC
cj=2ac j - 2bd j +bjC
dk=2ad k + 2bc k+ckC
Zn+1=Zn2+C



The idea behind it is still:
i*i=-1
j*j=-i
j*i=k

So to correct the table i wrote in "Meet+Greet" would look like this:

*+1ijk
+1+1ijk
ii-1k-j
jjk-i-i
kk-j-i+i

I hope this is now finally correct. But if you still find a mistake, feel free to post.


Hi, thanks for the correction, still two questions:  smiley

The added C component should be ac, bic, cjc and dkc, i guess.

But what i really want to know because i am no mathematician:
I understand the basic idea, but how do you get the values for the combinations below, does them follow some rules?:
i*k=-j
j*k=-i
k*k=i

This question arose when i asked myself how to implement i*j in 3d, if no k is available.
So, if there is no strict rule, maybe we need for every new combination another dimension, until such terms becomes nil and can be neglected...
Maybe a stupid question, but my basic interest ist also to get something like the holy grail  wink
 A Beer Cup
Logged
Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« Reply #20 on: April 15, 2011, 11:20:09 PM »

i*i=-1
j*j=-i
j*i=k

I understand the basic idea, but how do you get the values for the combinations below, does them follow some rules?:
i*k=-j
j*k=-i
k*k=i

This question arose when i asked myself how to implement i*j in 3d, if no k is available.
So, if there is no strict rule, maybe we need for every new combination another dimension, until such terms becomes nil and can be neglected...
Maybe a stupid question, but my basic interest ist also to get something like the holy grail  wink
 A Beer Cup

You would probably have to make some assumptions to arive at that multiplication matrix. One assumption could be that multiplication was commutative (A*B=B*A). This would imply the multiplication matrix was symmetric (Notice Quaternion multiplication is not commutative). Another assumption could be that multiplication is asociative: A*(B*C)=(A*B)*C

Based on these assumptions you get:
Code:
i*i=-1
(i*i)*j=-j   // multiply by j on the right
i*(i*j)=-j   // multiplication is associative
i*k=-j       // use the fact that j*i = i*j = k (commutativity)

Code:
j*i=k
j*j*i=j*k    // multiply by j on the left
-i*i=j*k     // use j*j = -i
j*k=1        // use i*i = -1

Code:
j*i=k
j*i*j*i = k*k  // multiply by j*i on left side, k on right side
j*k*i = k*k    // i*j = k
-i*i = k*k     
k*k = 1

Notice, that I get j*k=1 instead of -1. (So DomJustDom's system is not associative)

You could also impose more constraints on the multiplication operator: for instance, you could require that for every number X, there exists an inverse element Y, such that X*Y=1. This would make it possible to define division. The only four component system satisfying this property, is the Quaternions. And no such system exists for three components.

Of course, you do not need division (or associativity, or commutativity) to implement a Mandelbrot-like formula. You could just make up a multiplication table and explore the possibilities.
Logged
DomJustDom
Forums Newbie
*
Posts: 9


« Reply #21 on: April 16, 2011, 12:56:33 AM »

OK, back again.
Hey, I really can say this is a way cool Forum, because everybody here is quite helpful and polite.
So thanks again.

I had a lot to do today, but I'm back.

So, I'm not a mathematician and the idea is quite simple.
But if someone please would check this table.

I worked it out in c++. (Qt to be exact)

Since it was almost no effort i coloured the table a little.

Hoping the program doesn't make the same mistakes, as the programmer did... grin

So the final (first) table should look like this:

(There is no secret behind it. It's just the idea of inventing a number j that j*j is -i.)
*1ijk
1+1+i+j+k
i+i-1+k-j
j+j+k-i+1
k+k-j+1+i

There are two more tables I want to post. And just to say this, you are all welcome to check it for mistakes.
« Last Edit: April 16, 2011, 12:58:51 AM by DomJustDom » Logged
Jesse
Download Section
Fractal Schemer
*
Posts: 1013


« Reply #22 on: April 16, 2011, 01:04:45 AM »

You would probably have to make some assumptions to arive at that multiplication matrix. One assumption could be that multiplication was commutative (A*B=B*A). This would imply the multiplication matrix was symmetric (Notice Quaternion multiplication is not commutative). Another assumption could be that multiplication is asociative: A*(B*C)=(A*B)*C

Based on these assumptions you get:
Code:
i*i=-1
(i*i)*j=-j   // multiply by j on the right
i*(i*j)=-j   // multiplication is associative
i*k=-j       // use the fact that j*i = i*j = k (commutativity)

Code:
j*i=k
j*j*i=j*k    // multiply by j on the left
-i*i=j*k     // use j*j = -i
j*k=1        // use i*i = -1

Code:
j*i=k
j*i*j*i = k*k  // multiply by j*i on left side, k on right side
j*k*i = k*k    // i*j = k
-i*i = k*k     
k*k = 1

Great Syntopia, thank you very much!

So this is straight forward, just non commutativity and/or assoviativity leads to more variations, but i guess a fourth dimension is recommended anyways...
Logged
DomJustDom
Forums Newbie
*
Posts: 9


« Reply #23 on: April 16, 2011, 01:39:05 AM »

Whoof...Okay.

It's difficult for me to get all this. To be honest my english is a little weak, and all I did was mathematics at the high school / college.

So I have a question depending to this. Did anybody ever hear about such a system?
I guess this all would be easier in case somebody just posts a wikipedia-link.
Or should I ask / post this somewhere else?

By the way, here the next two Tables:

*a1bicjdk
a1+ a2 1+ ab i+ ac j+ ad k
bi+ ba i- b2 1+ bc k- bd j
cj+ ca j+ cb k- c2 i+ cd 1
dk+ da k- db j+ dc 1+ d2 i

an+1    =  + an2   - bn2   + 2cndn         + aC
bn+1 i  =  + 2anbn i - cn2 i + dn2 i       + bC
cn+1 j  =  + 2ancn j - 2bndn j       + cC
dn+1 k  =  + 2andn k + 2bncn k       + dC

In the end this seems to be the right formula.
So please let me know, weather you can hack this into any fractal program. I really would like to see the result!
Thanks a lot,
   Dom
« Last Edit: April 16, 2011, 03:25:09 AM by DomJustDom » Logged
M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« Reply #24 on: April 16, 2011, 06:55:03 AM »

   Very squary....

Code:
nx=sqr(sx)-sqr(sy)+2*sz*sk;
ny=2*sx*sy-sqr(sz)+sqr(sk);
nz=2*sx*sz-2*sy*sk;
nk=2*sx*sk+2*sy*sz;

if (juliaMode) {
sx=nx+cr;
sy=ny+ci;
sz=nz+cj;
sk=nk+ck;
} else {
sx=nx+(pixelr);
sy=ny+(pixeli);
sz=nz+(pixelj);
sk=nk+(pixelk);
}
Logged

Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« Reply #25 on: April 16, 2011, 08:30:44 AM »

DomJustDom, if you want to try out different schemes you could use Fragmentarium: http://syntopia.github.com/Fragmentarium/

Use the following code, and modify the 'mul' function according to how the two numbers multiply:

Code:
#include "DE-Raytracer.frag"
#group Hypercomplex Thing

// Number of fractal iterations.
uniform int Iterations;  slider[0,16,100]
// Breakout distance
uniform float Threshold; slider[0,10,100]
// Mandel or Julia
uniform bool JuliaMode; checkbox[false]

// Quaterion Constant (first three components - only used for Julia)
uniform vec3 C123; slider[(-1,-1,-1),(0.18,0.88,0.24),(1,1,1)]
// Quaterion Constant (last component)
uniform float C4; slider[-1,0.16,1]

vec4 c = vec4(C123,C4); // We don't support 4-component sliders yet...

void init() {}

vec4 mul(vec4 a, vec4 b) {
return vec4(
a.x*b.x - a.y*b.y - a.z*b.z + a.w*b.w,
  a.x*b.y + a.y *b.x - a.z*b.w - a.w * b.z,
a.x * b.z + a.z*b.x - a.w*b.y -a.y* b.w,
a.x*b.w + a.w*b.x + a.y*b.z + a.z*b.y);
}

float DE(vec3 pos) {
vec4 p = vec4(pos, 0.0);
vec4 dp = vec4(1.0, 0.0,0.0,0.0);
for (int i = 0; i < Iterations; i++) {
dp = 2.0* mul(p,dp);
p = mul(p,p) + (JuliaMode ? c : vec4(pos,C4));
float p2 = dot(p,p);
orbitTrap = min(orbitTrap, abs(vec4(p.xyz,p2)));
if (p2 > Threshold) break;
}
float r = length(p);
return  0.5 * r * log(r) / length(dp);
}



Fragmentarium requires a decent GPU (e.g. not an integrated GPU), capable of running GLSL. But you can explore in real-time :-)

Btw, the only 4-component systems I know are:
http://en.wikipedia.org/wiki/Quaternion
http://en.wikipedia.org/wiki/Tessarine
http://en.wikipedia.org/wiki/Coquaternion

Logged
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #26 on: April 16, 2011, 10:06:43 AM »

In the end this seems to be the right formula.
So please let me know, weather you can hack this into any fractal program. I really would like to see the result!
Thanks a lot,
   Dom

No need to hack, because your formula is already in my database, don't you have installed it yet? What you are waiting for? evil grin
Logged

No sweat, guardian of wisdom!
Jesse
Download Section
Fractal Schemer
*
Posts: 1013


« Reply #27 on: April 16, 2011, 01:47:32 PM »

I made general formula where the user can specify the combinations of i,j and k.
I think many combinations makes no real sense, but still a lot of combinations possible, plus the 4d rotations... 8^8 * 4d rotate - good luck  cheesy
formula download:
http://www.fractalforums.com/index.php?topic=6061.msg28944#msg28944
Logged
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #28 on: April 16, 2011, 04:32:33 PM »

I made general formula where the user can specify the combinations of i,j and k.
I think many combinations makes no real sense, but still a lot of combinations possible, plus the 4d rotations... 8^8 * 4d rotate - good luck  cheesy
formula download:
http://www.fractalforums.com/index.php?topic=6061.msg28944#msg28944

Oh no! This is striking Jessie champagne toast
Logged

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

Related Topics
Subject Started by Replies Views Last post
Where does THE formula come from ? Mandelbrot & Julia Set bib 5 2786 Last post January 26, 2009, 07:12:10 PM
by cKleinhuis
Formula? Theory « 1 2 » lkmitch 20 4877 Last post March 23, 2010, 06:01:56 AM
by jehovajah
Has anyone tried this formula? Theory « 1 2 3 » TedWalther 32 8408 Last post December 06, 2009, 02:58:08 PM
by jehovajah
New 3D IFS formula for UF5 IFS - Iterated Function Systems « 1 2 » fractalrebel 18 15510 Last post November 13, 2011, 01:39:30 AM
by xenodreambuie
Madelbulb surface Movies Showcase (Rate My Movie) bosottip 0 211 Last post May 31, 2016, 12:43:41 AM
by bosottip

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