我怎样才能在n种颜色之间进行插值。
2种颜色的简单情况
首先考虑一个更简单的情况,我们想要找到两种颜色的中点。
Color1 is RGB ( 255, 0, 0 ) // Red
Color2 is RGB ( 128, 128, 128 ) // Grey
解决方案是单独考虑每个 R、G、B 之间的中点。
RGB ( 128 + 64, 128 / 2, 128 / 2 ) = RGB ( 192, 64, 64 )
由于中点正好位于两者之间,并且与插值存在线性关系,因此可以在 Color1 和 Color2 之间插值一个小数,例如 0.25,颜色应该更接近 Color1。
RGB ( 255 - 32, 32, 32 ) = RGB ( 223, 32, 32 )
n种颜色的情况
我希望找到解决方案的情况是,有 n 种颜色,每种颜色的分数权重总计为 1.0。
(猜测,我猜每种颜色都可以被认为是 3 维空间中的一个点,权重描述了插值点与每个颜色点的相对距离)
颜色插值仅是线性 RGB。
在某些情况下,我猜想可能有多个整数值可以解决问题,例如,如果有 n 种颜色具有相似的值。
我读到双线性插值可能有助于解决这个问题。
通常颜色的数量不会超过5种,通常是2、3或4种颜色。