Skip to content

CIE 1964 UVW

Properties

Name: uvw

White Point: D65

Coordinates:

Name Range*
u [-100.0, 100.0]
v [-100.0, 100.0]
w [0.0, 100.0]

* Range is currently quite arbitrary.

UVW

The sRGB gamut represented within the UVW color space.

Note

It is a bit uncertain as to why the 3D model shows a number of values resolving to a black bulb under the shape, but the translation as been compared against some other libraries that have implemented the space, and it seems to align 🤷.

Wyszecki invented the UVW color space in order to be able to calculate color differences without having to hold the luminance constant. He defined a lightness index W* by simplifying expressions suggested earlier by Ladd and Pinney, and Glasser et al.. The chromaticity components U* and V* are defined such that the white point maps to the origin, as in Adams chromatic valence color spaces.

Learn more.

Channel Aliases

Channels Aliases
u
v
w

Input/Output

The UVW space is not currently supported in the CSS spec, the parsed input and string output formats use the color() function format using the custom name --uvw:

color(--uvw u v w / a)  // Color function

The string representation of the color object and the default string output use the color(--uvw u v w / a) form.

>>> Color("uvw", [171.8, 24.715, 52.261])
color(--uvw 171.8 24.715 52.261 / 1)
>>> Color("uvw", [73.871, 48.705, 73.965]).to_string()
'color(--uvw 73.871 48.705 73.965)'

Registering

from coloraide import Color as Base
from coloraide_extras.spaces.uvw import UVW

class Color(Base): ...

Color.register(UVW())