ActionScript3游戏中的图像编程(连载八十四)(二)

2015-07-20 17:41:12 · 作者: · 浏览: 9
变化,因此直接用g=sin(hue-30°)进行推导:

?

sin(hue-30°-30°)=sin(hue)cos(60°)-cos(hue)sin(60°)=-0.866cos(hue)+0.5sin(hue)

lumG+cos(hue)*(1-lumG)+sin(hue)*gg=0.715+0.185cos(hue)+ggsin(hue)

?

所以有0.185/gg=-0.5/0.866

?

解得gg=-0.107,与之前推导的结果lumG符号相反了,取一下正数,得gg=0.107。

?

在与sin(angle)相乘的这个矩阵中,每一列的3个元素之和都为0,所以bg可以直接等于-rg-gg=-0.123-0.107=-0.230。

?

修正后的正弦矩阵如下:

?

\

?

与灰度矩阵,余弦矩阵合并,得到:

?

\

?

再次运行,色彩的亮度就没再发生明显的改变了(图 4.54)。

?

\

图 4.48 修正正弦矩阵元素后的效果

?

我用定性+半定量的推导方法得到的矩阵结果与Adobe官方引用的svg标准数据仍然存在着一些误差(svg标准数据的rg=0.143,gg=0.140,bg=-0.283),可能是RGB-hue曲线未引入心理学系数所致。但受笔者水平所限,我无法给出更精确的计算结果了,有兴趣的读者可自行深入研究。

?

?