class Recolor::Models::Luv
Constants
- REFERENCE_U
- REFERENCE_V
Public Instance Methods
lch(tuple)
click to toggle source
# File lib/recolor/models/luv.rb, line 23 def lch(tuple) l = tuple[0] u = tuple[1] v = tuple[2] c = Math.sqrt(u * u + v * v) h = Math.atan2(v, u) * 180 / Math::PI h = h < 0.0 ? h + 360.0 : h return [l, c, h] end
xyz(tuple)
click to toggle source
# File lib/recolor/models/luv.rb, line 7 def xyz(tuple) l = tuple[0] u = tuple[1] v = tuple[2] return [0.0, 0.0, 0.0] if l == 0.0 y = l > 8 ? XYZ::REFERENCE_Y * ((l + 16.0) / 116.0)**3.0 : XYZ::REFERENCE_Y * l / KAPPA u = u / (13.0 * l) + REFERENCE_U v = v / (13.0 * l) + REFERENCE_V x = 0.0 - (9.0 * y * u) / ((u - 4.0) * v - u * v) z = (9.0 * y - (15.0 * v * y) - (v * x)) / (3.0 * v) return [x, y, z] end