Title: FractInt formula file (hopefully with additional formulae for Kalles Fraktaler) Post by: simon.snake on April 24, 2016, 09:37:47 PM Right, new thread.
I'll include as a .frm file, There is also a very handy reference to determine what functions are used internally which I am going to copy/paste here: TRIG IDENTITIES The following trig identities are invaluable for coding fractals that use complex-valued transcendental functions of a complex variable in terms of real-valued functions of a real variable, which are usually found in compiler math libraries. In what follows, we sometimes use "*" for multiplication, but leave it out when clarity is not lost. We use "^" for exponentiation; x^y is x to the y power. (u+iv) + (x+iy) = (u+x) + i(v+y) (u+iv) - (x+iy) = (u-x) + i(v-y) (u+iv) * (x+iy) = (ux - vy) + i(vx + uy) (u+iv) / (x+iy) = ((ux + vy) + i(vx - uy)) / (x^2 + y^2) e^(x+iy) = (e^x) (cos(y) + i sin(y)) log(x+iy) = (1/2)log(x^2 + y^2) + i(atan(y/x) + 2kPi) for k = 0, -1, 1, -2, 2, ... (The log function refers to log base e, or ln. The expression atan(y/x) is an angle between -pi and pi in the quadrant containing (x,y) implemented in C as the atan2() function.) z^w = e^(w*log(z)) sin(x+iy) = sin(x)cosh(y) + i cos(x)sinh(y) cos(x+iy) = cos(x)cosh(y) - i sin(x)sinh(y) tan(x+iy) = sin(x+iy) / cos(x+iy) sinh(x+iy) = sinh(x)cos(y) + i cosh(x)sin(y) cosh(x+iy) = cosh(x)cos(y) + i sinh(x)sin(y) tanh(x+iy) = sinh(x+iy) / cosh(x+iy) cosxx(x+iy) = cos(x)cosh(y) + i sin(x)sinh(y) (cosxx is present in Fractint to provide compatibility with a bug which was in its cos calculation before version 16) sin(2x) sinh(2y) tan(x+iy) = ------------------ + i------------------ cos(2x) + cosh(2y) cos(2x) + cosh(2y) sin(2x) - i*sinh(2y) cotan(x+iy) = -------------------- cosh(2y) - cos(2x) sinh(2x) sin(2y) tanh(x+iy) = ------------------ + i------------------ cosh(2x) + cos(2y) cosh(2x) + cos(2y) sinh(2x) - i*sin(2y) cotanh(x+iy) = -------------------- cosh(2x) - cos(2y) asin(z) = -i * log(i*z+sqrt(1-z*z)) acos(z) = -i * log(z+sqrt(z*z-1)) atan(z) = i/2* log((1-i*z)/(1+i*z)) asinh(z) = log(z+sqrt(z*z+1)) acosh(z) = log(z+sqrt(z*z-1)) atanh(z) = 1/2 * log((1+z)/(1-z)) sqr(x+iy) = (x^2-y^2) + i*2xy sqrt(x+iy) = sqrt(sqrt(x^2+y^2)) * (cos(atan(y/x)/2) + i sin(atan(y/x)/2)) ident(x+iy) = x + iy conj(x+iy) = x - iy recip(x+iy) = (x-iy) / (x^2+y^2) flip(x+iy) = y + ix zero(x+iy) = 0 one(x+iy) = 1 cabs(x+iy) = sqrt(x^2 + y^2) floor(x+iy) = floor(x) + i*floor(y) ceil(x+iy) = ceil(x) + i*ceil(y) trunc(x+iy) = trunc(x) + i*trunc(y) round(x+iy) = round(x) + i*round(y) Fractint's definitions of abs(x+iy) and |x+iy| below are non-standard. Math texts define both absolute value and modulus of a complex number to be the same thing. They are both equal to cabs(x+iy) as defined above. |x+iy| = x^2 + y^2 abs(x+iy) = sqrt(x^2) + i sqrt(y^2) The formula file is attached. If you need me to explain anything, just ask here. I will attempt to produce some images of those that I feel may work well. Title: Re: FractInt formula file (hopefully with additional formulae for Kalles Fraktaler) Post by: Kalles Fraktaler on April 25, 2016, 10:53:01 AM Thanks a lot :)
However I need help converting the complex functions into zr/zi formulas... Which you would do if you would make an FX plugin? Title: Re: FractInt formula file (hopefully with additional formulae for Kalles Fraktaler) Post by: simon.snake on June 28, 2016, 11:54:27 PM I can go through the file of entries to determine which ones would make great fractals for your program, then give you the code as it would be in Fractal eXtreme, but it will take me a while to go through the file. I've also started thinning out my old fractals from the list that are: a) rubbish b) unsuitable due to using division and trig functions c) using non escape time colouring If there's anything you can/cannot code for it would be helpful to know so I can weed out anything else that won't work (it'll make the file much smaller) |