Сделал красивую цветогенерилку для хаскельного фракгена:
читать дальше
getColor :: Int -> Int -> Color
getColor m x = hue2rgb ((fromIntegral x :: Double) / fromIntegral (m + 1))
hue2rgb :: Double -> Color
hue2rgb h = let hi = floor (h * 6)
f = h * 6 - fromIntegral hi
p = 0
q = round ((1 - f) * fm)
t = round (f * fm) in
case hi of
0 -> (m, t, p)
1 -> (q, m, p)
2 -> (p, m, t)
3 -> (p, q, m)
4 -> (t, p, m)
5 -> (m, p, q)
where m = 255
fm = fromIntegral m
А заодно нормальную рендерилку в ppm для сишного.