(p, q, t)
| 361 | r = g = b = l; // achromatic |
| 362 | } else { |
| 363 | const hue2rgb = (p, q, t) => { |
| 364 | if (t < 0) t += 1; |
| 365 | if (t > 1) t -= 1; |
| 366 | if (t < 1/6) return p + (q - p) * 6 * t; |
| 367 | if (t < 1/2) return q; |
| 368 | if (t < 2/3) return p + (q - p) * (2/3 - t) * 6; |
| 369 | return p; |
| 370 | }; |
| 371 | const q = l < 0.5 ? l * (1 + s) : l + s - l * s; |
| 372 | const p = 2 * l - q; |
| 373 | r = hue2rgb(p, q, h + 1/3); |