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)
ReUPLOADED at the forums.  :siren

Arithmetic, linear interpolation; mpower=1
ReUPLUADED at the forums.  :siren

Cubic mean; power =3 (light - large values dominate)
ReUPLOADED at the forums.  :siren

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.
It's an old idea http://www.fractalforums.com/new-theories-and-research/colours-gradients-and-their-interpolation/
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.

Linkback: https://fractalforums.org/index.php?topic=4214.0

Adam Majewski:
hsluv-color-gradient - preceptually uniform color gradient

1D-RGB-color-gradient - preceptually non uniform

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.

Adam Majewski:
if you do for coll effect ( artistic) then anything you do is good if you like it, but when you try to make scientific visualisation your color gradient should highlight features of the data
should not highlight features that are not in the data but only in the gradient itself. This is for me the most important thing that I learned. There are many deep topics there. HSLuv library can be used.

"  Render color gradient in perceptually uniform color space"

Navigation

[0] Message Index

[#] Next page

Go to full version
Powered by SMFPacks Rates (Facepunch) Mod
Powered by SMFPacks SEO Pro Mod | Sitemap
Powered by Advanced Topic Prefix Pro
Powered by SMFPacks Advanced Attachments Uploader Mod