Hi!

Yesterday with Damien P., we had a great discussion about modeling color palettes. Damien showed me an implementation he did about cubehelix. This is a fantastic way to model colors, while preserving the intensity. More info about it on: https://www.mrao.cam.ac.uk/~dag/CUBEHELIX/

Here is a code example:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| v helix shape elements slider |
v := RTView new.
helix := RTCubeHelix new.
helix rotations: 2.
helix gamma: 2.
shape := (RTBox new height: 300; width: 1; color: [ :model | helix level: model ]).
elements := shape elementsOn: (0.0 to: 1.0 by: 0.002).
v addAll: elements.
RTHorizontalLineLayout new gapSize: 0; on: elements.

"Set the gamma value"
slider := RTSlider new.
slider view: v.
slider labelled.
slider callback: [ :aValue | helix gamma: 5 * aValue. elements updateShape ].
slider moveBelow.
slider build.

"Set the rotation value"
slider := RTSlider new.
slider view: v.
slider labelled.
slider callback: [ :aValue | helix rotations: 5 * aValue. elements updateShape ].
slider moveBelow.
slider build.

v
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

And the accompanying screenshot

Cheers,
Alexandre

-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.