add bezier sample
Opened this issue · 3 comments
I was reading about color scales and color palettes and came across this:
https://gka.github.io/palettes
https://www.vis4.net/blog/posts/mastering-multi-hued-color-scales/
Author uses this method, which is not robust in sense that it works with only 5 colors. But we can port this to have bezier for arbitrary number of arbitrary dimensional vectors. (this and this might be useful for implementing it)
From API perspective we would have add another function sampleBezier
but as colors
and cssColorStops
refer to sample directly they would need to be updated so we can pass different sampling function as argument.
Sounds good!
One option to keep the API backwards-compatible would be to introduce colors'
(maybe with a better name) like this:
type InterpolationMethod = Number -> Number
sample' :: InterpolationMethod -> ColorScale -> Number -> Color
sample' = ...
linearInterpolation :: InterpolationMethod
bezierInterpolation :: InterpolationMethod
sample :: ColorScale -> Number -> Color
sample = sample' linearInterpolation
(modulo names for functions and types)
https://www.vis4.net/blog/posts/mastering-multi-hued-color-scales/
(unfortunately does not work at the moment)
(modulo names for functions and types)
?
(unfortunately does not work at the moment)
archive.org :d
(modulo names for functions and types)
?
Meaning: we probably could choose better names
Thanks for the archived link.