使用 Matplotlib 绘制麦克斯韦颜色三角形

gum*_*pel 3 colors matplotlib

我想创建一个麦克斯韦颜色三角形

在此输入图像描述

https://homepages.abdn.ac.uk/npmuseum/article/Maxwell/Legacy/MaxTri.html

使用 Matplotlib。我找到了类似的代码:http://www.f-legrand.fr/scidoc/docmml/image/niveaux/couleurs/couleurs.html

然而,在这种情况下,等比例的 R、G 和 B 会产生较暗的颜色,这不是我想要的。

欢迎任何想法。我真的很挣扎。

小智 5

麦克斯韦三角形内部:r + g + b = 1.0,这意味着中心将为 RGB(1/3, 1/3, 1/3) ([0.0,1.0] 范围),与白色 RGB(1.0, 1.0,1.0)。

为了在中心获得白色 (RGB(1.0,1.0,1.0)),可以将 RGB 值乘以 3.0:中心将是完美的白色,但超出范围的值将被裁剪,即 RGB(2.0,1.0, 1.0) 将显示为 RGB(1.0, 1.0, 1.0)。

RGB 值 * 3

另一种方法是最大化亮度: RGB(r,g,b) -> 1 / max(r,g,b) * RGB(r, g, b) 例如 RGB(0.2, 0.5, 0.1) -> RGB(0.4 、1.0、0.2)。这样,值就不会被剪裁并且亮度达到最大。

RGB * 1 / 最大值(r,g,b)