Fractal Software > Programming

index Colour generation for fractals

(1/2) > >>

Alef:
(I will try to epxlain what I meant.)

2D fractals images relies in it's scenery on colours. So the only way to improve output could be better colour output.

Fractal colour algorith generates number = index. Then software calculates the colour of an index.

Large part of fractal software index colours are generated by means of interpolation between few picked colours. I think some of those images say of Ultra Fractal without some layering still look kind of plain, mostly becouse of limited amount of colours generated this way. (There is a gradient, but it have limited number of colours). With layering numbers of aviable colours are multiplied.
Of corse mathematicaly generated colours would be infinite in numbers. Sutch as was done in Fractal Explorer (no longer aviable) with sine function generated waves.

However there are different ways to interpolate between colours. If you pick a white and a red there are lots of shades of pinks between. Different means of interpolation between these colours generate different result. There are arithmetic means, geometric mean, harmonic mean. But generalised formula for that could be made.

Interpolation between two colours of "col1" and "col2" at the index of "alpha" (between 1 and 0, at alpha =1 it is col1)

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)

colour  = (   index*colour1power + (1-index)* colour2power )(1/power)

Harmonic mean; mpower=-1  (Notice metallic shine, sharp decreese in light, small values dominate)

Arithmetic, linear interpolation; mpower=1

Cubic mean; power =3 (light - large values dominate)

mpower = -0.5 or -2 will generate some colour distortion with bright green petals. But maybe that too could be used for neon like effect or something.

Maybe this could be put in fractal software.
Ultra Fractal have 2 ways for interpolation of gradient - "smooth curves" on and off.

Rendered that in Ultra Fractal, parameter:

--- Code: ---testcolour_8_petals2 {
; Paul Carlson
::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
3fN=
}

Fractint.ufm:barnsleyj1 {
::cZetggn2tOZUPNIMQc83JhvDX4hFwpLDduENiZZxtkZMGT0H9lutqrJtACFdjwHe7RLjA4Mu
E5BK07P/u7+3DWITettFA5QAEz2S52W8oo4y9WMHSoEubuHcbAME3SL0NHOD89gTgJpSSiEj
M7hnn1QR/OKe8uFzttWSY8oMdWdnIppSIQRH61DKyLgbCgJGJeQRB8XvetJPfkX6HJumOw7Y
B3i35V8YCy7/D8uA55eoCsbyqzlJZt4N635p+kjj3l75RWmWzsPgvWhppJ00Faxbc76Th6Ht
SPbr103IZc9EikJ5U1AlzUSSYKnuTdy6efGnR8cw4CyWmkmoU4P6KcjYSCRA7H6AYFJWyiCR
GPhxoK5O6QmEhzrDHM+UwfgvHGhGuuETNPsN6gbqxcfRFsDRzvL0wMBqVEt2BcweXtgNuaJK
RdjEiBEkwN6Fdt1tCqOJPYV8JhnR7UGjGYKEBDV7rftGf6XM5qNareXcpTv040C/SaVJOo6p
StlHrGb5bAwPdkA=
}

testcolours.ucl:tstCaOrTraps {
; Sole purpose of this is to test colour gradient interpolation.
; Arithmetic equals with linear gradient curves.
; Edgar Malinovsky.
; single -  ruined all the code. don't use -

; All of the rendering methods contained in this coloring method
; were originally developed by Paul Carlson for Fractint and
; Ultra Fractal.  They have been converted to UF3 Direct Coloring
; format by Ken Childress from the Ultra Fractal versions.  They
; have been enhanced to allow coloring modes and texturing options
; that were not present in the original versions.
;
::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
bAen15Y//YcH2jK=
}

--- End code ---

p.s.
This algorithm can generate metallic effect in 2D. But I would not mind haveing mathematicaly generated colurs in software eather. And maybe there would be other ways to simulate metallic effects. Waves can be distorted.

Alef:
So there is a lot more science than just that.
There were a "jsrtipe" color map from Fractint which was like "Gray LSine: effect of a sine wave superimposed on a ramp function" but blue. Worked great for creating 3D effect.

I tought that what is called rainbow nowhere looks as rainbow but then there are some papers on this. "Probably the most (in)famous in data visualization", "should not be used in scientific computing", "One minor problem is that (true) rainbows end in violet, not red." – AnnanFay. Blue-greens alsou looks mutch brighter than pure blue so misleading scientists;)

claude:
blending between colours should be done in linear light. typically colours are specified and displayed in sRGB or other non-linear (gamma) space, so this transformation has to be undone and redone when blending or it looks wrong (typically too dark).  in linear light you can do out = in1 + blend * (in2 - in1) for blend in 0..1 without any fuss.