simon.snake
Fractal Bachius

Posts: 640
Experienced Fractal eXtreme plugin crasher!
|
 |
« on: April 24, 2016, 09:37:47 PM » |
|
Right, new thread.
I'll include as a .frm file, but also copy-paste here for your perusal (cannot as it's too big). This is in FractInt formula format, which is easy enough to learn if you're a newbie, but doesn't separate out the real/imaginary parts of a formula unless you specifically ask it to. Therefore, all variables are complex numbers.
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.
|