Fractal 068 A – Time
Part of OUTER SPACE series – 02 2022
blue . chaos . geometric . path . probability . random . rays . time
Fractal 068 A – zoom level 1
Fractal 068 A – zoom level 2
Data
This digital works is created exclusively from fractals, with 0% AI generated. It can therefore be converted into a set of functions and parameters that can be the basis for the training of an AI.
The mathematical formulas and parameter combinations corresponding to each fractal are presented below. In each case, the numerical characters have been replaced by â– to prevent unauthorized reproduction. If you are interested in using the full data set to train an AI, please contact Philippe.
Fractal 068 A - Time - Part of OUTER SPACE series - 02.2022
Fractal_â– â– â– _A { fractal: title="Fractal_â– â– â– _A" width=â– â– â– â– height=â– â– â– â– layers=â– credits="Philoxerax;â– /â– â– /â– â– â– â– " layer: caption="Background" opacity=â– â– mergemode=screen precision=â– mapping: center=-â– â– .â– â– â– â– â– â– â– â– â– â– /-â– .â– â– â– â– â– â– â– â– â– â– magn=â– .â– â– â– â– â– â– â– â– angle=â– â– â– .â– â– â– â– formula: maxiter=â– â– â– percheck=off filename="asz.ufm" entry="andrextrandom-â– " p_base=-â– .â– â– /-â– .â– p_baseâ– =â– .â– â– /â– .â– â– p_random_strength=â– .â– p_bailout=â– Eâ– p_bailout_mode="|z/c|" p_zc_mode=Multiply p_zc_absolute=no p_zc_inverse=no p_ztype=Real p_scatter=yes f_functionâ– =cos f_functionâ– =ident inside: transfer=none solid=â– â– â– â– â– â– â– â– â– â– outside: transfer=linear gradient: smooth=yes rotation=â– â– â– index=â– â– â– color=â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– opacity: smooth=no index=â– opacity=â– â– â– layer: caption="Background" opacity=â– â– â– visible=no mergemode=addition mapping: center=-â– .â– â– â– â– â– â– â– â– â– â– â– â– /-â– .â– â– â– â– â– â– â– â– â– â– â– â– â– magn=â– â– â– .â– â– â– â– â– angle=â– â– .â– â– â– â– formula: maxiter=â– â– â– percheck=off filename="lkmâ– .ufm" entry="rotated-mandelbrot" p_manparam=â– /â– p_power=â– /â– p_bailout=â– â– â– â– p_rottype="before iterating" p_rotfac=â– p_angletype=z inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=-â– â– â– index=â– color=â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=-â– â– â– color=â– â– â– opacity: smooth=no index=â– opacity=â– â– â– layer: caption="Background" opacity=â– â– â– mergemode=addition mapping: center=-â– .â– â– â– â– â– â– â– â– â– â– â– â– â– /â– .â– â– â– â– â– â– â– â– â– â– â– â– â– magn=â– â– â– â– .â– â– â– â– angle=â– â– â– .â– â– â– â– formula: maxiter=â– â– â– filename="lkmâ– .ufm" entry="mixed-up-multiplication-mandelbrot" p_power=â– p_bailout=â– â– â– â– p_shape_type=square p_qâ– _type=out p_qâ– _type=out p_qâ– _type=out p_qâ– _type=out p_freq=â– p_amp=â– .â– p_nteeth=â– p_rsmall=â– .â– p_inrad=â– .â– â– inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=-â– â– index=â– â– color=â– â– â– â– â– â– â– index=â– â– â– color=â– index=â– â– â– color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=-â– â– color=â– index=-â– color=â– â– â– â– â– â– â– â– opacity: smooth=no index=â– opacity=â– â– â– layer: caption="Layer â– " opacity=â– â– â– mapping: center=-â– .â– â– â– â– â– â– â– â– â– â– â– â– â– â– /â– .â– â– â– â– â– â– â– â– â– â– â– â– â– magn=â– â– â– â– .â– â– â– angle=â– â– â– .â– â– â– â– formula: maxiter=â– â– â– filename="lkmâ– .ufm" entry="mixed-up-multiplication-mandelbrot" p_power=â– p_bailout=â– â– â– â– p_shape_type=square p_qâ– _type=out p_qâ– _type=out p_qâ– _type=out p_qâ– _type=out p_freq=â– p_amp=â– .â– p_nteeth=â– p_rsmall=â– .â– p_inrad=â– .â– â– inside: transfer=none solid=â– â– â– â– â– â– â– â– â– â– outside: transfer=linear gradient: smooth=yes rotation=-â– â– index=â– color=â– index=â– â– color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– index=-â– â– color=â– â– â– â– â– â– â– opacity: smooth=no index=â– opacity=â– â– â– } andrextrandom-â– { ;(c) by Andras Szolek ; The formula is the same as Andrextrandom-â– , only the ; defaults are the different. I made two for the easy ; switching. init: z = #pixel random = z+(#random/(â– /(@random_strength/â– â– â– ))) c = z-#pixel^â– /â– +@baseâ– @baseâ– +â– .â– â– zc = â– if @zc_mode == â– zc = zâ– c elseif @zc_mode == â– zc = z/c elseif @zc_mode == â– zc = z+c elseif @zc_mode == â– zc = z-c elseif @zc_mode == â– zc = z^c endif if @zc_mode == â– && @zc_inverse == true zc = c/z elseif @zc_mode == â– && @zc_inverse == true zc = c-z elseif @zc_mode == â– && @zc_inverse == true zc = c^z endif if @zc_absolute == true zc = |zc| endif b = â– loop: z = z/(@functionâ– (random))/(zc)+@base z = zâ– (zc)+random c = (z+c)â– â– +@base z = @functionâ– (zâ– (sqrt(câ– @baseâ– )/@bailout)+zc) if @scatter == true z = z+((@baseâ– -@base)/â– â– â– )+zc c = c-((c/flip(c))/(câ– real(c)))-zc endif if imag(z)>â– z = real(z+@base) elseif imag(z)>â– z = flip(z+@base) elseif imag(z)<â– z = imag(z+@base) elseif real(z)>â– z = flip(z+@base) elseif real(z)>â– z = real(z+@base) endif if @scatter == true if real(z)â– imag(z) < flip(z) z = real(z)/imag(z) endif endif if @ztype == â– z = real(z) elseif @ztype == â– z = imag(z) endif if @bailout_mode == â– b = zâ– c elseif @bailout_mode == â– b = |zâ– c| elseif @bailout_mode == â– b = z/c elseif @bailout_mode == â– b = |z/c| elseif @bailout_mode == â– b = z+c elseif @bailout_mode == â– b = |zâ– c| elseif @bailout_mode == â– b = z-c elseif @bailout_mode == â– b = |z-c| elseif @bailout_mode == â– b = z elseif @bailout_mode == â– b = |z| elseif @bailout_mode == â– â– b = c elseif @bailout_mode == â– â– b = |c| else b = zâ– c endif bailout: b <= @bailout/â– â– default: title = "Andrextrandom - Switch #â– " param base caption = "Base, ''Seed'' #â– " default = (-â– .â– â– ,-â– .â– ) endparam param baseâ– caption = "Base, ''Seed'' #â– " default = (â– .â– â– ,â– .â– â– ) endparam param random_strength caption = "Random-intensity" default = â– .â– min = â– .â– endparam param bailout caption = "Bailout" default = â– Eâ– endparam param bailout_mode caption = "Bailout Mode" hint = "The bailout-process : ''this value'' < \ ''bailout parameter /variant/''" enum = "zâ– c" "|zâ– c|" "z/c" "|z/c|" "z+c" "|z+c|"\ "z-c" "|z-c|" "z" "|z|" "c" "|c|" default = â– endparam param zc_mode caption = "ZC - Mode" enum = "Multiply" "Division" "Add" "Subtract"\ "Product" endparam param zc_absolute caption = "ZC - Absolute" hint = "It gives an absolute-result to the z ? c" default = false endparam param zc_inverse caption = "ZC - Inverse" hint = "This function is working in ''Division'', \ ''Subtract'' and ''Product'' ZC-Modes. How does \ it works? z/c -> c/z, z-c -> c-z and z^c -> c^z" default = false endparam param ztype caption = "Z Type" enum = "Real" "Imag" endparam param scatter caption = "Scatter" default = true endparam func functionâ– caption = "Function #â– " default = cos() endfunc func functionâ– caption = "Function #â– " default = ident() endfunc periodicity = â– switch: type = "andrextrandom-â– " base = #pixel random_strength = random_strength bailout = bailout bailout_mode = bailout_mode zc_mode = zc_mode zc_absolute = zc_absolute zc_inverse = zc_inverse ztype = ztype scatter = scatter functionâ– = functionâ– functionâ– = functionâ– } rotated-mandelbrot { ; Kerry Mitchell â– â– octâ– â– â– â– ; ; Rotates the z variable in the standard Mandelbrot ; calculation each iteration. ; ; Use the 'rotation type' parameter to rotate before or ; after raising z to the desired power, or both before and ; after. The '+before, -after' setting rotates the opposite ; way after raising z to the power. ; ; The rotation angle is the 'rotation factor' times the angle ; of the pixel or z. The 'constant' setting in 'rotation type' ; makes the rotational angle a constant 'rotation factor' ; degrees. ; init: c=#pixel z=c+@manparam float t=â– .â– float trad=@rotfacâ– #pi/â– â– â– rot=(â– ,â– ) loop: ; ; set up the rotation angle ; if(@angletype==â– ) ; pixel t=@rotfacâ– atanâ– (#pixel) elseif(@angletype==â– ) ; z t=@rotfacâ– atanâ– (z) else ; constant t=trad endif rot=cos(t)+flip(sin(t)) ; ; iterate z, taking into account the rotation type ; if(@rottype==â– ) ; before z=zâ– rot z=z^@power+c elseif(@rottype==â– ) ; after z=z^@power+c if(@angletype==â– ) t=@rotfacâ– atanâ– (z) rot=cos(t)+flip(sin(t)) endif z=zâ– rot elseif(@rottype==â– ) ; before & after z=zâ– rot z=z^@power+c if(@angletype==â– ) t=@rotfacâ– atanâ– (z) rot=cos(t)+flip(sin(t)) endif z=zâ– rot elseif(@rottype==â– ) ; +before, -after z=zâ– rot z=z^@power+c if(@angletype==â– ) t=@rotfacâ– atanâ– (z) rot=cos(t)+flip(sin(t)) endif z=z/rot else ; none z=z^@power+c endif bailout: |z|<@bailout default: title="Rotated Mandelbrot" periodicity=â– param manparam caption="perturbation" default=(â– ,â– ) endparam param power caption="power" default=(â– ,â– ) endparam float param bailout caption="bailout" default=â– â– â– â– .â– endparam param rottype caption="rotation type" default=â– enum="none" "before iterating" "after iterating" \ "before & after" "+before, -after" hint="How z is rotated each iteration." endparam float param rotfac caption="rotation factor" default=â– .â– enabled=@rottype!="none" hint="If 'angle type' is 'constant', then this is the \ rotation angle in degrees. Otherwise, it is the factor \ that multiples the pixel or z angle to make the rotation \ angle." endparam param angletype caption="angle type" default=â– enum="constant" "pixel" "z" enabled=@rottype!="none" hint="Use 'constant' to specify a constant angle in degrees. \ Otherwise, the rotation is based on the angle of the pixel \ or the angle of z." endparam switch: type="rotated-julia" julparam=#pixel bailout=bailout power=power rottype=rottype rotfac=rotfac angletype=angletype } mixed-up-multiplication-mandelbrot { ; Kerry Mitchell â– â– Novâ– â– â– â– ; ; Instead of using regular complex multiplication, this method uses a base ; shape (= unit circle normally). Use the polar angle of z to reach back ; to the base shape and find its coordinates. Then, use the actual and base ; magnitudes to determine a scale factor, and the arc length to determine ; the angle (angle = arc length / base magnitude). From there, the magnitude ; of z^power = scale factor ^ power, and angle of z^power = power â– angle. ; $define debug global: complex corner[â– â– ] float pitch_s=â– float pitch_trad=â– float smax=â– float tdegmax[â– â– ] float twopi=â– â– #pi int gi=â– ; ; cruciform settings: central square side & four other squares, one ; on each side of central square ; if(@shape_type=="cruciform") corner[â– ]=(â– ,â– ) corner[â– ]=(â– ,â– ) corner[â– ]=(â– ,â– ) corner[â– ]=(â– ,â– ) corner[â– ]=(-â– ,â– ) corner[â– ]=(-â– ,â– ) corner[â– ]=(-â– ,â– ) corner[â– ]=(-â– ,-â– ) corner[â– ]=(-â– ,-â– ) corner[â– ]=(-â– ,-â– ) corner[â– â– ]=(â– ,-â– ) corner[â– â– ]=(â– ,-â– ) corner[â– â– ]=(â– ,-â– ) corner[â– â– ]=(â– ,â– ) ; ; rescale so that corner[â– ] = (â– ,â– ) ; find degree measures of corners ; gi=-â– while(gi<â– â– ) gi=gi+â– corner[gi]=corner[gi]/â– tdegmax[gi]=(atanâ– (corner[gi])/#piâ– â– â– â– +â– â– â– )%â– â– â– endwhile elseif(@shape_type=="triangle") corner[â– ]=(â– ,â– ) corner[â– ]=(-â– +flip(sqrt(â– )))/â– corner[â– ]=(-â– -flip(sqrt(â– )))/â– tdegmax[â– ]=â– tdegmax[â– ]=â– â– â– tdegmax[â– ]=â– â– â– tdegmax[â– ]=â– â– â– elseif(@shape_type=="star") corner[â– ]=(â– ,â– ) corner[â– ]=@inradâ– (â– ,â– )/sqrt(â– ) corner[â– ]=(â– ,â– ) corner[â– ]=@inradâ– (-â– ,â– )/sqrt(â– ) corner[â– ]=(-â– ,â– ) corner[â– ]=@inradâ– (-â– ,-â– )/sqrt(â– ) corner[â– ]=(â– ,-â– ) corner[â– ]=@inradâ– (â– ,-â– )/sqrt(â– ) corner[â– ]=(â– ,â– ) tdegmax[â– ]=â– tdegmax[â– ]=â– â– tdegmax[â– ]=â– â– tdegmax[â– ]=â– â– â– tdegmax[â– ]=â– â– â– tdegmax[â– ]=â– â– â– tdegmax[â– ]=â– â– â– tdegmax[â– ]=â– â– â– tdegmax[â– ]=â– â– â– endif ; ; gear settings ; if(@shape_type=="gear") pitch_trad=twopi/@nteeth smax=#piâ– (â– +@rsmall) pitch_s=smax/@nteeth endif init: complex arccenter=(â– ,â– ) complex c=#pixel complex compk=(â– ,â– ) complex w=(â– ,â– ) complex z=#pixel float afac=â– float bfac=â– float cfac=â– float dcrit=â– /(â– +@rsmall) float dtooth=â– float hâ– =â– float kâ– =â– float k=â– float phi=â– float phimax=â– float r=â– float s=â– float slope=â– float tdeg=â– float third=â– /â– float trad=â– float x=â– float xb=â– float xâ– =â– float y=â– float yb=â– float yâ– =â– int itooth=â– loop: ; ; decompose z ; x=real(z), y=imag(z) ; ; square ; if(@shape_type=="square") ; ; determine arc length from basis shape ; phimax=â– ; ; find scale factor k ; k=abs(x) if(abs(y)>k) k=abs(y) endif ; ; find standard polar angle ; trad=atanâ– (z) if(trad<â– ) trad=trad+â– â– #pi endif tdeg=trad/#piâ– â– â– â– ; ; use polar angle to find coordinates of point on base shape ; and base shape arc length ; if(tdeg<â– â– ) ; upper right side xb=â– , yb=y/k, s=yb elseif(tdeg<â– â– â– ) ; top xb=x/k, yb=â– , s=â– -xb elseif(tdeg<â– â– â– ) ; left side xb=-â– , yb=y/k, s=â– -yb elseif(tdeg<â– â– â– ) ; bottom xb=x/k, yb=-â– , s=â– +xb else ; lower right side xb=â– , yb=y/k, s=â– +yb endif phi=s ; ; raise z to power ; k=k^@power, phi=(@powerâ– phi)%phimax ; ; use phi and k to return new x & y and add c ; if(phi<â– ) ; upper right side xb=â– , yb=phi elseif(phi<â– ) ; top xb=â– -phi, yb=â– elseif(phi<â– ) ; left side xb=-â– , yb=â– -phi elseif(phi<â– ) ; bottom xb=phi-â– , yb=-â– else ; lower right side xb=â– , yb=phi-â– endif x=xbâ– k, y=ybâ– k z=x+flip(y)+c ; ; triangle ; elseif(@shape_type=="triangle") ; ; determine arc length from basis shape ; third=sqrt(â– ) phimax=â– â– third ; ; find standard magnitude and polar angle ; r=cabs(z) trad=atanâ– (z) tdeg=(trad/#piâ– â– â– â– +â– â– â– )%â– â– â– trad=tdeg/â– â– â– â– #pi ; ; use polar angle to find coordinates of point on base shape ; and base shape arc length ; if(tdeg