Thumbnail.

OkHue

Description

All the sRGB colours in a Hilbert curve, sorted by their hue* in Björn Ottosson's Oklab colourspace.

The hues were computed as (M-script based syntax):

  1. W = M2*(M1*X).^(1/3)
  2. for each column w in W: atan2(w(3),w(2))

where:

  • X is a 3x16777216 matrix of sRGB colours converted to linear RGB,
  • M1 and M2 as defined in Björn's programming sample in his blog post.

Generated as a farbfeld image with C++ and the Eigen library, then converted to PNG.

*: I'm less satisfied with this one. There were 23 hue value collisions when I originally ran my generator, and my attempts to fix it only caused more collisions. I'm not sure how many are actual collisions or just floating-point error, so just I used the L component (lightness, w(1)) as a tiebreaker. I may revisit this in the future...

Author

dan9er
5 entries

Stats

Date
Colors16,777,216
Pixels16,777,216
Dimensions4,096 × 4,096
Bytes49,114,730