Title: Polynomial Menger Sponge Post by: mclarekin on May 11, 2016, 01:52:13 AM Polynomial Menger Sponge
(http://nocache-nocookies.digitalgott.com/gallery/19/8347_11_05_16_1_52_13.jpeg) http://www.fractalforums.com/index.php?action=gallery;sa=view;id=19047 Polynomial Menger Sponge Title: Re: Polynomial Menger Sponge Post by: mclarekin on May 11, 2016, 07:16:14 AM Lately for Mandelbulber dev V2.08 we have been exploring Polynomials z^2 + z + c; or written with some variable parameters added newZ = A * z^2 + B * z + C; The case, when A = 1 and B = 0, we get z = z^2 + C , mandelbrot julia; Collatz fractal is also a polynomial, refer: Wiki/Claude/Zebastian https://en.wikipedia.org/wiki/Collatz_conjecture#Iterating_on_real_or_complex_numbers http://www.fractalforums.com/fragmentarium/collatz-fractal/ Each “z” can be made conditionally unique by modification, The polynomial can be re-written as: newZ = ( Za * Zb) + Zc + C; examples of unique "z" conditions: Za = (VectA + ScaleA * z ) Zb = cos( pi * ScaleB * z) Zc = fabs(z) Zd = Box Offset or infinitely more complicated, Ze = ( Za + Zg + Zp ……) however, the more complicated functions, require longer render times and can make distance estimation difficult. In Mandelbulber dev V2.08 we currently have a transform, Transf_Pwr2_Polynomial, which is coded as newZ = - (partA * fn(z)) + part B, where partA = Za = (VectA + ScaleA * z ) fn(z) is various z_function options e.g Zb = cos( pi * ScaleB * z) (default = Collatz) partB = Zc + C = ScaleC * z + VectC. Exploration to date, finds the easiest usage is as a single iteration pre-transform, and works very well with IFS especially Menger_Sponge, using analytic linear DE. |