构造配色方案的波动方法

图片


哈Ha!


在着色中,基于在色轮中相对于彼此的颜色布置并且通常具有相同的亮度,存在几种构造色域(调色板)的方法。 从物理的观点来看,其和谐的认识还不足以得到证实。


在音乐理论中,有辅音间隔的概念。 谐音被称为间隔,听起来更柔和和谐。 有三组和声:非常完美(纯净一致,八度),完美(纯净第五,纯净的第四)和不完美(大三,小三,第六)。 也有辅音和弦的概念-大三小调,仅由辅音间隔组成。


听觉上,谐音和不谐音之间差异的本质是用规则重复的振动群的不同周期长度表示的。 谐音和不谐音之间区别的标准是关系的简单性或复杂性:关系越简单,辅音越多,越复杂则越不谐和,其中的数字比例可以用两种方式表示:通过弦长的比率或通过振荡次数的比率。 换句话说,两个音符的共鸣度由每单位时间声压对时间的依赖性的相应谐波函数的重合周期数确定。


图片
1:在距声源固定距离处的声压与时间的关系图。


例如,音符和盐(纯五分之一)的声音波长相差一倍半。 当音符的声压函数发生两次振动时,音符的声压随时间变化的函数图在横坐标轴上相交(声压等于零),而音符的函数则为三(图1)。 在图1中,此时刻用垂直线标记。


图片
2:固定时间点的声压与到源的距离的图。


如果我们想象声压在固定时间点(靠近声源)在空间中的传播,那么我们将得到相同的图像(图2)。


之前和之后的音符(主要三分之一)的声音波长相差5/4倍。 当音符的声压函数产生4次振荡时,它们的图形在横坐标轴上相交,而音符mi的函数为5。正是由于这个原因,纯五分音符比大三分音符更加一致。


颜色像声音一样,也是波(波粒二象性)。 在构造颜色的辅音间隔的情况下,我们不仅限于一小部分音符,还受到可见光波长边界的限制,就像声音受可听声音波长边界的限制一样。 对少量音符没有限制导致了这样一个事实,即我们可以显着扩展间隔列表-3/2; 3/4; 2 / 5、3 / 5、4 / 5,...


构造配色方案的波动方法


考虑光谱颜色和非光谱颜色的颜色构造。


光谱色是具有特定波长的颜色。 要构建调色板,我们首先要获得最辅音的颜色-这是一种波长相差1.5倍但不超出可见光谱的颜色。 此外,以类似的方式,我们将减少辅音间隔,直到在所需的调色板中达到所需的颜色数量为止。


图片
3:电场强度与固定点到源的距离的关系图。


以波长为450 nm的蓝色为例。 波长小于1.5倍的颜色超出可见辐射范围。 波长大于1.5倍(675纳米)的颜色是红色。 波长大于3/4倍(600纳米)的颜色是橙色。 结果,我们得到了以下色域:主色是蓝色,最合适的颜色是红色,橙色不太适合蓝色(图3)。 通过操作波长而不是波长来获得相同的结果。


在音乐中也有品乐的概念。 音符的组合不仅听起来和谐,而且还带有阴影-品格(爱奥尼亚语,多利安语,弗里吉安语,吕底安语...)。 在构建配色方案时,可以使用适当的比例将相似的感觉转移到配色方案中。


非光谱颜色包括光谱中不包含的颜色,并且由几种光谱颜色组成。 根据格拉斯曼加和定律,可以得出结论,在为非光谱色选择色域的情况下,应对其组成色执行相同的操作,同时保持比例并考虑可见光谱的波长边界。


让我们更详细地考虑两种非光谱颜色之间的共鸣现象。 音乐声音由基本音组成,因为与声音源本身的整体振动一起,其各个部分也会振动。 振动体各部分的振动会产生微弱的泛音-基音吸收的泛音。 相应振幅的简单音调的复杂音调形成标度称为频谱。 复杂声音中包含的所有基本音调称为谐波。 间隔的谐音程度由两个音符频谱的一致谐波数确定:谐波重合越多,间隔的谐音就越多。


图片
4:距声源固定距离处的声压与时间的关系图。


基于此,我们认为和谐(和声)现象的实质在于两个波的同时静止状态(能量为零)。 在图形上,此静止状态显示在横坐标(时间)轴上两个波函数的交点处(图4)。 两个波函数的谐音程度由每单位时间(或长度,受相同传播速度影响)的此类交点的数量确定:越多,越发声。 共鸣度的概念也扩展到非光谱色,因为它们也是波函数。


在sRGB系统中以白色为例的wave方法的实现


一个人能够感知380至780 nm波长范围内的颜色。 任何四种颜色是线性相关的,但是线性独立的三种颜色的组合是无限的(格拉斯曼第一定律)。 格拉斯曼颜色的独立性在于,无法通过以任意比例混合其他两种颜色来获得由三种颜色中的一种引起的颜色感觉。 注意到用红色,绿色和蓝色进行操作最方便。 正是基于这一原则,几乎所有现代显示器都可以工作。


1931年,国际照明大会(CIE)根据1926年至1930年获得的结果,对普通(标准)观察员的色彩特性进行了表征。 赖特和公会。 直到今天有效的比色标准的基础是以下颜色:700 nm。 (红色),546.1 nm(绿色)和435.8 nm。 (蓝色)(RGB系统)。 所采用的特性包含混合物的所得波长与该混合物中红色,绿色和蓝色数量之间的关系。


此外,为方便计算,国际照明大会引入了基于不真实色彩的抽象系统CIE XYZ。 该坐标系非常方便从一个系统过渡到另一个系统。 还基于从RGB系统获得的结果,计算了可见光的波长和CIE XYZ混合物的相应坐标。


为了在不同的输出设备(显示器或打印机)上再现相同的色彩感觉,每个此类设备都有其自己的颜色配置文件,其中包含与抽象CIE XYZ系统的连接。 换句话说,颜色配置文件用于实现不同颜色系统(sRGB,AdobeRGB等)之间的转换。 最常见的色彩空间是sRGB系统。 接下来,我们考虑专门针对该系统的wave方法的实现。


我们在sRGB系统中找到了红色,绿色和蓝色的波长。 为此,我们使用从sRGB系统到CIE XYZ(带有白点D65)的转换公式 。 结果,对于红色rgb(255,0,0) ,绿色rgb (0,255,0 和蓝色rgb( 0,0,255),我们在CIE XYZ系统中获得以下坐标:红色-(0.412456,0.212673,0.019334),绿色-(0.357576、0.715152、0.119192),蓝色-(0.180437、0.072175、0.950304)。


使用包含可见光波长 (CIE 1931 2度,XYZ CMF)和CIE XYZ混合物的相应坐标的表,我们发现sRGB系统中红色,绿色和蓝色的波长:红色-611.4 nm。,绿色-549.1 nm。蓝色-464.2 nm。


现在,我们找到了该颜色的“纯五分之一”-一种波长大于1.5倍的颜色:
对于红色-611.4 nm。 x 1.5 = 917.1 nm。 (超出可见光谱,黑色),
对于绿色-549.1 nm。 x 1.5 = 823.65 nm。 (几乎是黑色),
蓝色-464.2 nm。 x 1.5 = 696.3 nm。 (红色)。


接下来,使用相同的表,我们找到在CIE XYZ系统中获得的波的坐标:
对于红色-917.1 nm。 -(0,0,0),
对于绿色-823.65 nm。 -(0.000001905497、0.000000688110、0.000000000000),
蓝色-696.3 nm。 -(0.014790640000、0.005343059000、0.000000000000)。


然后,我们将接收到的每种颜色传输回sRGB系统:
对于红色-917.1 nm。 -rgb(0,0,0),
对于绿色-823.65 nm。 -rgb(0.0168,-0.0018,0.0000),
蓝色-696.3 nm。 -rgb(56.1246,-13.7888,-0.8801)。


舍入到最接近的整数并舍弃小于零的值,我们得到:
对于红色-917.1 nm。 -rgb(0,0,0),
对于绿色-823.65 nm。 -rgb(0,0,0),
蓝色-696.3 nm。 -rgb(56,0,0)。


图片
5:RGB彩色图像(56、0、0)。


总结三种最终的颜色,我们得到深红色,在光谱上接近红外-rgb(56,0,0)(图5)。


上面以白色rgb(255,255,255)乘以3/2为例显示了算法的实现。 在此,没有考虑相对亮度,为了进行计算,还必须转换为xyY系统。


波动法在计算机图形学中的实现


除sRGB和CIE XYZ系统外,还有xyY系统,其中x和y分量负责波长,而Y分量负责相对颜色亮度。 我们使用任意颜色rgb(r,g,b)对上一段进行转换。 为此,我们首先找到xyY系统中最大的红色,绿色和蓝色的坐标:
rgb(255,0,0)-xyY(0.640000,0.330000,0.212673),
rgb(0,255,0)-xyY(0.300000,0.600000,0.715152),
rgb(0,0,255)-xyY(0.150000,0.060000,0.072175)。


在这种情况下,我们只对亮度分量Y感兴趣:
rYmax = 0.212673,
gYmax = 0.715152,
bYmax = 0.072175。


接下来,我们考虑Camma校正,通过CIE XYZ将rgb(0,0,b)的蓝色转换为xyY系统:
rgb(0,0,b)-xyY(bx,by,bY)。


结果,我们在上一段中为蓝色获得的颜色的亮度应小于bY / bYmax倍。 对于rgb颜色(0、0、255),我们获得了波长为696.3 nm的颜色。 对应于xyY系统中具有xyY坐标(0.734621、0.265379、0.00543824)的颜色。 结果,我们得到:xyY(0.734621,0.265379,0.00543824 * bY / bYmax)。 接下来,我们将转换为sRGB系统并获得颜色rgb(br,bg,bb)。


对颜色rgb(r,0,0)和rgb(0,g,0)执行类似的操作,我们分别获得rgb(rr,rg,rb)和rgb(gr,gg,gb)。


接下来,我们在考虑亮度的情况下添加这些颜色。 首先我们求和rgb(rr,0,0),rgb(gr,0,0)和rgb(br,0,0)。 通过将每种颜色转换为xyY系统,我们可以获得相应的亮度-rrY,grY,brY。 找到红色的总亮度:rY = rrY + grY + brY。 最终颜色将具有以下坐标-xyY(0.640000,0.330000,rY)。 将sRGB传输到系统时,我们得到rgb(rNew,0,0)。 同样,我们找到gNew和bNew。 sRGB系统中生成的颜色将具有rgb坐标(rNew,gNew,bNew)。


聚苯乙烯


本文从物理角度描述并证明了我们为构造色域而开发的波动方法。 描述了他对和谐现象本质的理解。 本文还介绍了在计算机图形学中实现sRGB颜色模型的wave方法的算法。


该方法可广泛用于各种设计行业。 结果在网站https://wavepalette.com/ru/上 ,并将定期更新,并在必要时进行调整。 该文章已发布在arxiv.org上


PPS


在每种颜色旁边的位置,转换和方向由分数和箭头(3/2↑)指示。 双转换由两个箭头指示(4/3↑↑相当于16/9↑)。 前两种颜色几乎总是暗红色和深紫色,因为3/2和2/3转换接近光谱的红外和紫外颜色。 起初,我考虑将它们从调色板中排除,但后来我决定将其保留。


聚苯硫醚


在sRGB系统中为任何颜色构造颜色的算法仍然需要改进。 我认为,该算法可以使用的良好结果以光谱颜色显示-https: //wavepalette.com/en/spectral/


图片


图片


PPPPS


我确定了算法并更新了网站。

Source: https://habr.com/ru/post/zh-CN466345/


All Articles