Still thinking about colours and Ultra Fractal pulp gradients... Looking at images more closely I think it deppends on colour curves. Standart smooth itearation mandelbrot with the worst combination:
UF have 2 interpolation methods linear and smooth (spline) RGB curves. If colours have very different hues between the colours there are desaturated region. On opposite natural objects like apples don't have desaturation between green and purple parts. Probably that's the reason why good palletes alternates chromatic colours with black or white. Alsou shape of the UF spline curves are influenced by neighbouring colours, a mathematical artefact. Visually difference between linear and smooth UF gradients is that the linear creates more noticable "electrical" tops and larger middles.
I have no idea how Ultra Fractal works. However some colour formulas generates colours themselves like kcc3 Carlson orbit traps. This one mixes colours using alpha channel. Mathematically it's a weighted arithmetical mean, kind of colour = (1-alpha)*colour1 + (aplha)* colour2 Alsou there are some nice shining pwc-convert.upr fractals with the same looks but using UF gradients (with a linear interpolation) instead. So linear equals with weighted arithmetical mean. On switching to default spline (smooth) curves all the shine is lost. Alsou spline curve goes in opposite direction from the next or previous point so that the cyan petals next to blue are turned green and the magenda next to red are goes blue.
I kind of like the plasma shine a direct exponent smoothing creates. sumR= @baseR^(-|z|) + sumR, sumG= @baseG^(-|z|) + sumG, sumB= @baseB^(-|z|) + sumB (and the complex exponent are sine) iterate. But that's slow and non controlable. Then there is no grey middles and the colours are like slowly changing colour, slowly changing colour, then fast change to different colour, then again slowly changing colour.
All of this suggest interpolation between the colours using (weighted) means with more power. Quadratic mean, harmonic mean, geometric mean. So I slightly changed Carlson Orbit Traps to test these methods other than UF standart.
color func testblend (color col1, color col2, float alpha )
;blends colours in non linear way
float col1R =red (col2 )
float col1G =green (col2 )
float col1B =blue (col2)
float col2R =red (col1 )
float col2G =green (col1 )
float col2B =blue (col1 )
float col3R=0
float col3G=0
float col3B=0
IF (@mean == "Arithmetic")
;linear / arithmetic mean
col3R = ( alpha*(col1R) + (1-alpha)* (col2R) )
col3G = ( alpha*(col1G) + (1-alpha)* (col2G) )
col3B = ( alpha*(col1B) + (1-alpha)* (col2B) )
ELSEIF (@mean == "Harmonic")
;harmonic mean
col3R = 1*recip( (alpha) *recip(col1R)+ (1-alpha)*recip(col2R))
col3G = 1*recip( (alpha) *recip(col1G)+ (1-alpha)*recip(col2G))
col3B = 1*recip( (alpha) *recip(col1B)+ (1-alpha)*recip(col2B))
ELSEIF (@mean == "Quadratic")
;quadratic mean
col3R = sqrt ( alpha*col1R^2 + (1-alpha)* col2R^2 )
col3G = sqrt ( alpha*col1G^2 + (1-alpha)* col2G^2 )
col3B = sqrt ( alpha*col1B^2 + (1-alpha)* col2B^2 )
ELSEIF (@mean == "Cubic")
;cubic mean
col3R = ( alpha*col1R^3 + (1-alpha)* col2R^3 )^(1/3)
col3G = ( alpha*col1G^3 + (1-alpha)* col2G^3 )^(1/3)
col3B = ( alpha*col1B^3 + (1-alpha)* col2B^3 )^(1/3)
ELSEIF (@mean == "SQRT")
;square root mean
col3R = ( alpha*col1R^0.5 + (1-alpha)* col2R^0.5 )^(2)
col3G = ( alpha*col1G^0.5 + (1-alpha)* col2G^0.5 )^(2)
col3B = ( alpha*col1B^0.5 + (1-alpha)* col2B^0.5 )^(2)
ELSEIF (@mean == "PowGeneral")
;power mean generalised
col3R = ( alpha*col1R^@mpower + (1-alpha)* col2R^@mpower )^recip(@mpower)
col3G = ( alpha*col1G^@mpower + (1-alpha)* col2G^@mpower )^recip(@mpower)
col3B = ( alpha*col1B^@mpower + (1-alpha)* col2B^@mpower )^recip(@mpower)
ELSEIF (@mean == "Geometric")
;geometric mean
col3R = sqrt( col1R^alpha * col2R^(1-alpha) )
col3G = sqrt( col1G^alpha * col2G^(1-alpha) )
col3B = sqrt( col1B^alpha * col2B^(1-alpha) )
ENDIF
return rgb (col3R,col3G,col3B)
endfunc
Anyway "PowGeneral" can recreate all other means exept geometrical. When the power is 1 it's (linear) arithmetic mean and when the power is -1 it is a harmonic mean. In another words, this gives control over how colours are interpolated.
Here is my colour test dummy with lots of different colours to interpolate. Author had picked especialy nice shining colour palletes with same hues so I tried to mess them up. Linear/ arithmetic mean:
Harmonic mean. With this mean low numeric values gains more weight and curves no more is simmetric:
More artistic:
Square power mean, lighter colours (larger values) are accented. Power 3 is even brighter:
Mean by square root. Darker colours again takes upper hand:
Geometric mean: