Fractal 156 C – Black Hole

Part of OUTER SPACE series – 01.2026

blackhole . cosmos . gravity . light . nova . particles . rainbow . ray . spectrum . star . sun
Fractal 156 C - Black Hole
Fractal_156_C_zoom1

Fractal 156 C – zoom level 1

Fractal_156_C_zoom2

Fractal 156 C – 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 156 C - Black Hole - Part of OUTER SPACE series - 01.2026

Fractal 156 C - Black HoleFractal_β– β– β– _C {β– β– β– [β– -β– ]
fractal:
title="Fractal_β– β– β– _C" width=β– β– β– β–  height=β– β– β– β–  layers=β– 
credits="Philoxerax;β– /β– β– /β– β– β– β– "
layer:
caption="Background" opacity=β– β–  mergemode=overlay
mapping:
center=β– /β–  magn=β– 
formula:
maxiter=β– β– β–  filename="ahm.ufm" entry="IndependentPower"
p_AbsPower=β– .β– β– β– β– β– /β– .β– β– β– β– β–  p_Bailout=β–  p_Perturbation=β– /β– 
p_SignPower=-β– .β– β– β– β– β– /β– 
inside:
transfer=none solid=β– β– β– β– β– β– β– β– β– β– 
outside:
transfer=linear
gradient:
smooth=yes rotation=-β– β–  index=β– β–  color=β– β– β– β– β– β– β– β–  index=β– β– β– 
color=β– β– β– β– β–  index=β– β– β–  color=β– β– β–  index=-β– β–  color=β– β– β– β– β– β– β– 
opacity:
smooth=no index=β–  opacity=β– β– β– 
layer:
caption="Layer β– " opacity=β– β– β–  mergemode=overlay
mapping:
center=β– .β– β– β– β– β– β– β– β– β– /-β– .β– β– β– β– β– β– β– β– β– β–  magn=β– .β– β– β– β– β– β– 
formula:
maxiter=β– β– β–  filename="ahm.ufm" entry="PolarAddition" p_Bailout=β– 
p_Perturbation=β– .β– /β– .β– β– 
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="Layer β– " opacity=β– β– β–  mergemode=difference
mapping:
center=β– /β–  magn=β– .β– β– β– β– β– β– β–  angle=β– β– .β– β– β– β– 
formula:
maxiter=β– β– β–  filename="ahm.ufm" entry="PolarAddition" p_Bailout=β– β– 
p_Perturbation=β– .β– /β– .β– β– 
inside:
transfer=none solid=β– β– β– β– β– β– β– β– β– β– 
outside:
transfer=linear
gradient:
smooth=yes rotation=-β– β– β–  index=β– β–  color=β– β– β– β– β–  index=β– β– β–  color=β– β– β– 
index=-β– β– β–  color=β– β– β– β– β– β– β–  index=-β– β–  color=β– β– β– β– β– β– β– β– 
opacity:
smooth=no index=β–  opacity=β– β– β– 
layer:
caption="Layer β– " opacity=β– β–  mergemode=darken
mapping:
center=β– .β– β– β– β– β– β– β– β– β– β– /-β– .β– β– β– β– β– β– β– β– β– β–  magn=β– .β– β– β– β– β– β– β–  angle=β– β– 
formula:
maxiter=β– β– β–  filename="ahm.ufm" entry="MonotonicGrowthJulia"
f_fun=asin p_c=β– /β– 
inside:
transfer=none
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=β– β– β– β– β– β– β– β– 
index=β– β– β–  color=β–  index=β– β– β–  color=β– β– β– β– β– β– β– β–  index=β– β– β–  color=β– β– β– β– β– β– β– 
index=β– β– β–  color=β– β– β– β– β– β– β–  index=β– β– β–  color=β– β– β– β– β– β– β– β–  index=β– β– β– 
color=β– β– β– β– β– β– β– β–  index=β– β– β–  color=β– β– β– β– β– β– β– β–  index=β– β– β–  color=β– β– β– β– β– β– β– β– 
index=β– β– β–  color=β– β– β– β– β– β–  index=β– β– β–  color=β– β– β– β– β– β– β–  index=β– β– β– 
color=β– β– β– β– β– β– β– β–  index=β– β– β–  color=β– β– β– β– β– β– β– β–  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=β– β– β–  mergemode=difference
mapping:
center=β– /β–  magn=β– .β– β– β– β– β– β– β– 
formula:
maxiter=β– β– β–  filename="ahm.ufm" entry="PolarAddition" p_Bailout=β– 
p_Perturbation=β– .β– /β– .β– β– 
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=screen
mapping:
center=β– .β– β– β– β– β– β– β– β– β– β– /-β– .β– β– β– β– β– β– β– β– β–  magn=β– .β– β– β– β– β– β– β– β– 
formula:
maxiter=β– β– β–  filename="ahm.ufm" entry="MonotonicGrowthJulia"
f_fun=acosh p_c=-β– .β– β– β– β– /-β– β– .β– β– β– β– β– 
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes index=β–  color=β– β– β– β– β– β– β–  index=β– β–  color=β– β– β– β– β– β– β–  index=β– β– β– 
color=β– β– β– β– β– β– β– β–  index=β– β– β–  color=β– β– β– β– β– β– 
opacity:
smooth=no index=β–  opacity=β– β– β– 
layer:
caption="Background" opacity=β– β– β– 
mapping:
center=β– /β–  magn=β– 
formula:
maxiter=β– β– β–  filename="ahm.ufm" entry="MonotonicGrowthJulia"
f_fun=asin p_c=β– .β– β– /β– 
inside:
transfer=none
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=β– β– β– β– β– β– β– β– 
index=β– β– β–  color=β–  index=β– β– β–  color=β– β– β– β– β– β– β– β–  index=β– β– β–  color=β– β– β– β– β– β– β– 
index=β– β– β–  color=β– β– β– β– β– β– β–  index=β– β– β–  color=β– β– β– β– β– β– β– β–  index=-β– β– β– 
color=β– β– β– β– β– β– β– β–  index=-β– β– β–  color=β– β– β– β– β– β– β– β–  index=-β– β– β–  color=β– β– β– β– β– β– β– β– 
index=-β– β– β–  color=β– β– β– β– β– β–  index=-β– β– β–  color=β– β– β– β– β– β– β–  index=-β– β– β– 
color=β– β– β– β– β– β– β– β–  index=-β– β– β–  color=β– β– β– β– β– β– β– β–  index=-β– β– β–  color=β– β– β– β– β– β– β– β– 
index=-β– β– β–  color=β– β– β– β– β– β– β–  index=-β– β– β–  color=β– β– β– β– β– β– β–  index=-β– β– β– 
color=β– β– β– β– β– β– β– β–  index=-β– β– β–  color=β– β– β– β– β– β– β– β–  index=-β– β–  color=β– β– β– β– β– 
index=-β– β–  color=β– β– β– β– β– β– β– β–  index=-β– β–  color=β– β– β– β– β– β– β– β–  index=-β–  color=β– 
opacity:
smooth=no index=β–  opacity=β– β– β– 
}

IndependentPower {
init:
c=#pixel
z=@Perturbation
loop:
z=(cabs(z)^@AbsPower)*exp((β– ,β– )*@SignPower*atanβ– (z)) + c
bailout:
|z| <= @Bailout
default:
title="Independent Powers"
float param Bailout
default=β– 
endparam
complex param AbsPower
default=β– .β– 
caption="Absolute Value Pwr"
endparam
complex param SignPower
default=-β– .β– 
caption="Sign Power"
endparam
}

PolarAddition {
;This functions by the regular squaring/addition formula of the M-Set,
;but stores the C value as a polar vector. This invariably produces circles
;and lines as the set, but with good coloring it can produce nice "sunny"
;images.
;
;Note: In order to produce more interesting results, this uses Real(z)
;for the bailout test. The test |z| doesn't look as nice.
init:
ThetaC=atanβ– (#pixel)
RadiusC=cabs(#pixel)
z=@Perturbation
loop:
z=z^β– 
Theta=atanβ– (z)
Radius=cabs(z)
Radius=Radius+RadiusC
Theta=Theta+ThetaC
z=Radius*exp(Theta*β– i)
bailout:
Real(z)<=@Bailout
default:
title="Polar Addition"
float param Bailout
default=β– 
endparam
complex param Perturbation
default=(β– .β– ,β– .β– β– )
endparam
}

MonotonicGrowthJulia {
;Displays the locus of points that *monotonically increase* under the iteration of
;z*func(z)+c
init:
c=@c
z=#pixel
loop:
zOld=z
z=z*@fun(z) + c
bailout:
|z| >= |zOld|
default:
title="Monotonic Growth (Julia)"
func fun
caption="Function"
endfunc
complex param c
caption="C"
endparam
switch:
type="MonontonicGrowthMandel"
}

not generated by AI logo