【发布时间】:2011-12-16 12:55:34
【问题描述】:
我有一个函数 f(x,y),主要是单调的,它产生一些在 {0.0 .. 100.0} 范围内的值。我想使用不同的颜色将它们绘制为 2D 图片,其中 (x,y) 是坐标,而独特的颜色代表函数的独特值。问题如下:我不知道如何将此函数的值映射到保留顺序的 RGB 颜色空间(可见)。我找到了那个smth。喜欢:
R = f(x,y) * 10.0f;
G = f(x,y) * 20.0f;
B = f(x,y) * 30.0f;
color = B<<16|G<<8|R; //@low-endian
效果很好,但生成的图片太暗了。如果我增加这些常数,事情不会变得更好,因为在某些时候颜色分量会大于 0xFF,所以它会溢出(一个颜色分量应该在 {0 .. 0xFF} 范围内。
您知道如何将值从 {0.0 .. 100.0} 映射到
RGB=[{0 .. 0xFF}
PS:也许你知道,在哪里可以找到更多关于相关理论的在线信息?我只记得 Foley/Van Dam 的 Comp.Graphics,但我没有这本书。
更新:我正在寻找如何生成像右侧那样的色度调色板:
【问题讨论】:
标签: c math graphics colors rgb