hue static method

List<double> hue(
  1. double value
)

Implementation

static List<double> hue(double value) {
  if (value == 0) {
    return [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
  }
  value *= pi;
  double cosVal = cos(value);
  double sinVal = sin(value);
  const double lumR = 0.213;
  const double lumG = 0.715;
  const double lumB = 0.072;

  return [
    lumR + cosVal * (1 - lumR) + sinVal * -lumR,
    lumG + cosVal * -lumG + sinVal * -lumG,
    lumB + cosVal * -lumB + sinVal * (1 - lumB),
    0,
    0,
    lumR + cosVal * -lumR + sinVal * 0.143,
    lumG + cosVal * (1 - lumG) + sinVal * 0.14,
    lumB + cosVal * -lumB + sinVal * -0.283,
    0,
    0,
    lumR + cosVal * -lumR + sinVal * -(1 - lumR),
    lumG + cosVal * -lumG + sinVal * lumG,
    lumB + cosVal * (1 - lumB) + sinVal * lumB,
    0,
    0,
    0,
    0,
    0,
    1,
    0
  ];
}