Metode gelombang membangun skema warna

gambar


Halo, Habr!


Dalam pewarnaan, ada beberapa metode untuk membangun gamut warna (color palette), berdasarkan pengaturan warna relatif satu sama lain dalam roda warna dan, sebagai aturan, memiliki kecerahan yang sama. Persepsi harmonis yang tidak cukup dibuktikan dari sudut pandang fisik.


Dalam teori musik ada konsep interval konsonan. Konsonan disebut interval yang terdengar lebih lembut dan harmonis. Ada tiga kelompok konsonan: sangat sempurna (murni serempak, oktaf), sempurna (murni kelima, murni keempat) dan tidak sempurna (besar ketiga, kecil ketiga, keenam). Ada juga konsep akord konsonan - triad mayor atau minor, yang hanya terdiri dari interval konsonan.


Secara akustik, esensi dari perbedaan antara konsonan dan disonansi diekspresikan dalam jangka waktu yang berbeda dari kelompok-kelompok vibrasi yang diulang secara teratur. Kriteria untuk perbedaan antara konsonan dan disonansi adalah kesederhanaan atau kompleksitas hubungan: semakin sederhana hubungannya, semakin konsonan, semakin kompleks semakin disonan, di mana proporsi numerik dapat diekspresikan dalam dua cara: melalui rasio panjang tali atau melalui rasio jumlah osilasi. Dengan kata lain, derajat kesesuaian dua not ditentukan oleh jumlah periode kebetulan dari fungsi harmonik yang sesuai dari ketergantungan tekanan suara pada waktu per satuan waktu.


gambar
Fig. 1: Grafik tekanan suara versus waktu pada jarak tetap dari sumber suara.


Misalnya, catatan dan garam (kelima murni) memiliki panjang gelombang suara yang berbeda satu setengah kali. Grafik fungsi ketergantungan tekanan suara not pada waktu berpotongan pada sumbu absis (tekanan suara sama dengan nol) ketika fungsi tekanan suara not sebelum membuat dua getaran, dan fungsi nada garam - tiga (Gbr. 1). Pada Gambar 1, momen ini ditandai dengan garis vertikal.


gambar
Fig. 2: Grafik tekanan suara versus jarak dari sumber pada titik waktu tertentu.


Jika kita membayangkan perambatan tekanan suara di ruang angkasa pada titik waktu tertentu (dekat sumber suara), maka kita mendapatkan gambar yang sama (Gbr. 2).


Catatan sebelum dan mi (sepertiga utama) memiliki panjang gelombang suara yang berbeda 5/4 kali. Grafik mereka berpotongan pada sumbu absis ketika fungsi tekanan suara dari note membuat 4 osilasi, dan fungsi note mi adalah 5. Justru karena ini, pure kelima lebih konsisten daripada ketiga besar.


Warna, seperti suara, juga merupakan gelombang (dualitas gelombang-partikel). Dalam hal membangun interval konsonan untuk warna, kita tidak terbatas pada satu set catatan kecil, tetapi dibatasi oleh batas panjang gelombang cahaya tampak, seperti halnya suara dibatasi oleh batas panjang gelombang suara yang dapat didengar. Tidak adanya batasan pada set kecil catatan mengarah pada fakta bahwa kita dapat secara signifikan memperluas daftar interval - 3/2; 3/4; 2/5, 3/5, 4/5, ...


Metode gelombang membangun skema warna


Pertimbangkan konstruksi warna untuk warna spektral dan non-spektral.


Warna spektral adalah warna yang memiliki panjang gelombang tertentu. Untuk membangun palet warna, kita ambil, pertama, warna yang paling konsonan - ini adalah warna dengan panjang gelombang yang berbeda 1,5 kali, tetapi tidak melampaui spektrum yang terlihat. Lebih jauh, dengan cara yang sama, kita akan mengambil interval konsonan yang lebih sedikit sampai kita mencapai jumlah warna yang diinginkan dalam palet yang diinginkan.


gambar
Fig. 3: Grafik kekuatan medan listrik versus jarak dari sumber pada titik waktu tertentu.


Ambil contoh, biru dengan panjang gelombang 450 nm. Warna yang panjang gelombangnya kurang dari 1,5 kali melampaui radiasi yang terlihat. Warna dengan panjang gelombang lebih dari 1,5 kali (675 nm.) Merah. Warna dengan panjang gelombang lebih dari 3/4 kali (600 nm.) Adalah warna oranye. Hasilnya, kami mendapat gamut warna berikut: warna utama adalah biru, warna yang paling cocok adalah merah, dan warna oranye sedikit kurang cocok untuk biru (Gbr. 3). Hasil yang sama dapat dicapai dengan mengoperasikan bukannya panjang gelombang dengan frekuensinya.


Juga dalam musik ada konsep fret. Kombinasi not dapat terdengar tidak hanya harmonis, tetapi juga memiliki fret warna - teduh (Ionia, Dorian, Frigia, Lydian, ...). Perasaan serupa dapat ditransfer ke skema warna, menggunakan proporsi yang sesuai saat membangunnya.


Warna non-spektral termasuk warna yang tidak terkandung dalam spektrum dan terdiri dari beberapa warna spektral. Berdasarkan hukum aditif Grassmann, maka dalam kasus memilih gamut warna untuk warna non-spektral, operasi yang sama harus dilakukan pada warna penyusunnya, sambil mempertahankan proporsi dan memperhitungkan batas panjang gelombang dari spektrum yang terlihat.


Mari kita pertimbangkan lebih detail fenomena kesesuaian antara dua warna non-spektral. Suara musik terdiri dari nada dasar karena, bersama dengan osilasi dari sumber suara itu sendiri secara keseluruhan, bagian-bagiannya juga berosilasi. Getaran dari bagian-bagian tubuh yang bergetar menimbulkan nada lemah - nada diserap oleh nada dasar. Skala pembentuk nada kompleks dari nada sederhana dari amplitudo yang sesuai disebut spektrum frekuensi. Semua nada dasar yang termasuk dalam bunyi kompleks disebut harmonik. Derajat kesesuaian interval ditentukan oleh jumlah harmonik bertepatan dari kedua not: semakin harmonik bertepatan, semakin konsonan interval.


gambar
Fig. 4: Grafik tekanan suara versus waktu pada jarak tetap dari sumber suara.


Berdasarkan hal ini, kami percaya bahwa esensi dari fenomena harmoni (harmoni) terdiri dari keadaan istirahat simultan (energi nol) dari kedua gelombang. Pada grafik, keadaan istirahat ini ditampilkan di persimpangan dua fungsi gelombang pada sumbu absis (waktu) (Gbr. 4). Dan tingkat kesesuaian dua fungsi gelombang ditentukan oleh jumlah persimpangan seperti itu per unit waktu (atau panjang, tergantung pada kecepatan rambat yang sama): semakin banyak, semakin banyak konsonan. Konsep tingkat kesesuaian ini juga meluas ke warna-warna non-spektral, karena mereka juga fungsi gelombang.


Implementasi metode gelombang menggunakan putih sebagai contoh dalam sistem sRGB


Seseorang dapat melihat warna dengan panjang gelombang di kisaran 380 - 780 nm. Empat warna apa pun bergantung secara linear, namun ada kombinasi tak terbatas dari tiga warna yang bebas linear (hukum pertama Grassmann). Kemandirian warna Grassman adalah bahwa sensasi warna yang disebabkan oleh salah satu dari tiga warna tidak dapat diperoleh dengan mencampurkan dua warna lainnya dalam proporsi apa pun. Terlihat bahwa paling nyaman untuk beroperasi dengan warna merah, hijau dan biru. Dengan prinsip inilah hampir semua monitor modern berfungsi.


Pada tahun 1931, International Lighting Congress (CIE) mengadopsi karakterisasi sifat warna dari pengamat rata-rata (standar), berdasarkan hasil yang diperoleh pada tahun 1926 - 1930. Wright and Guild. Dasar dari standar kolorimetri ini, yang berlaku untuk hari ini, adalah warna-warna berikut: 700 nm. (merah), 546,1 nm (hijau) dan 435,8 nm. (biru) (sistem RGB). Karakteristik yang diadopsi mengandung hubungan antara panjang gelombang yang dihasilkan dari campuran dan jumlah warna merah, hijau dan biru dalam campuran ini.


Selanjutnya, untuk kenyamanan perhitungan, Kongres Pencahayaan Internasional memperkenalkan sistem abstrak CIE XYZ, berdasarkan warna yang tidak realistis. Sistem koordinat ini sangat nyaman untuk transisi dari satu sistem ke sistem lainnya. Panjang gelombang cahaya tampak dan koordinat yang sesuai dari campuran CIE XYZ juga dihitung berdasarkan hasil yang diperoleh untuk sistem RGB.


Untuk mereproduksi sensasi warna yang sama pada perangkat output yang berbeda (monitor atau printer), masing-masing perangkat tersebut memiliki profil warna sendiri, yang berisi hubungannya dengan sistem CIE XYZ abstrak. Dengan kata lain, profil warna berfungsi untuk memungkinkan transisi antara sistem warna yang berbeda (sRGB, AdobeRGB, ...). Ruang warna yang paling umum adalah sistem sRGB. Selanjutnya, kami mempertimbangkan penerapan metode gelombang khusus untuk sistem ini.


Kami menemukan panjang gelombang merah, hijau, dan biru di sistem sRGB. Untuk melakukan ini, kami menggunakan rumus transisi dari sistem sRGB ke CIE XYZ (dengan titik putih D65). Akibatnya, untuk rgb merah (255, 0, 0) , rgb hijau (0, 255, 0) dan rgb biru (0, 0, 255) kami mendapatkan koordinat berikut dalam sistem CIE XYZ: merah - (0.412456, 0.212673, 0.019334), hijau - (0,357576, 0,715152, 0,119192), biru - (0,180437, 0,072175, 0,950304).


Menggunakan tabel yang berisi panjang gelombang cahaya tampak (CIE 1931 2-deg, XYZ CMFs) dan koordinat yang sesuai dari campuran CIE XYZ, kami menemukan panjang gelombang untuk merah, hijau dan biru dalam sistem sRGB: merah - 611,4 nm., Hijau - 549,1 nm., biru - 464,2 nm.


Sekarang kita menemukan "pure kelima" untuk warna ini - warna dengan panjang gelombang lebih dari 1,5 kali:
untuk merah - 611,4 nm. x 1,5 = 917.1 nm. (melampaui spektrum yang terlihat, warna hitam),
untuk hijau - 549.1 nm. x 1,5 = 823,65 nm. (warna hampir hitam),
untuk biru - 464.2 nm. x 1,5 = 696,3 nm. (warna merah).


Selanjutnya, menggunakan tabel yang sama, kami menemukan koordinat untuk gelombang yang diperoleh dalam sistem CIE XYZ:
untuk merah - 917.1 nm. - (0, 0, 0),
untuk hijau - 823,65 nm. - (0,000001905497, 0,000000688110, 0,000000000000),
untuk biru - 696,3 nm. - (0,014790640000, 0,005343059000, 0,000000000000).


Lalu kami mentransfer masing-masing warna yang diterima kembali ke sistem sRGB:
untuk merah - 917.1 nm. - rgb (0, 0, 0),
untuk hijau - 823,65 nm. - rgb (0,0168, -0,0018, 0,0000),
untuk biru - 696,3 nm. - rgb (56.1246, -13.7888, -0.8801).


Membulatkan ke bilangan bulat terdekat dan membuang yang kurang dari nol, kita dapatkan:
untuk merah - 917.1 nm. - rgb (0, 0, 0),
untuk hijau - 823,65 nm. - rgb (0, 0, 0),
untuk biru - 696,3 nm. - rgb (56, 0, 0).


gambar
Fig. 5: Gambar berwarna RGB (56, 0, 0).


Merangkum tiga warna yang dihasilkan, kita berakhir dengan warna merah gelap yang dalam spektrumnya mendekati inframerah - rgb (56, 0, 0) (Gbr. 5).


Implementasi algoritma ditunjukkan di atas menggunakan white rgb (255, 255, 255) kali 3/2 sebagai contoh. Di sini, kecerahan relatif tidak diperhitungkan, untuk perhitungan yang juga perlu dikonversi ke sistem xyY.


Implementasi metode gelombang dalam grafik komputer


Bersamaan dengan sistem sRGB dan CIE XYZ, ada juga sistem xyY, di mana komponen x dan y bertanggung jawab atas panjang gelombang, dan komponen Y untuk kecerahan warna relatif. Kami melakukan transformasi dari paragraf sebelumnya dengan warna sewenang-wenang rgb (r, g, b). Untuk melakukan ini, pertama-tama kita menemukan koordinat warna merah, hijau, dan biru maksimum dalam sistem 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).


Dalam hal ini, kami hanya tertarik pada komponen kecerahan Y:
rYmax = 0,212673,
gYmax = 0,715152,
bYmax = 0,072175.


Selanjutnya, kami menerjemahkan warna biru rgb (0, 0, b) ke dalam sistem xyY, melalui CIE XYZ, dengan mempertimbangkan koreksi gamma akun:
rgb (0, 0, b) - xyY (bx, by, bY).


Hasilnya, kecerahan warna yang kami peroleh untuk warna biru pada paragraf sebelumnya harus kurang dari bY / bYmaks kali. Untuk warna rgb (0, 0, 255), kami memperoleh warna dengan panjang gelombang 696,3 nm. yang sesuai dengan warna dalam sistem xyY dengan koordinat xyY (0,734621, 0,265379, 0,00543824). Hasilnya, kita mendapatkan: xyY (0,734621, 0,265379, 0,00543824 * bY / bYmax). Selanjutnya, kita akan mengkonversi ke sistem sRGB dan mendapatkan rgb warna (br, bg, bb).


Melakukan tindakan serupa untuk warna rgb (r, 0, 0) dan rgb (0, g, 0), kami memperoleh rgb (rr, rg, rb) dan rgb (gr, gg, gb), masing-masing.


Selanjutnya, kami menambahkan warna-warna ini, dengan mempertimbangkan kecerahan. Pertama kita menjumlahkan rgb (rr, 0, 0), rgb (gr, 0, 0) dan rgb (br, 0, 0). Dengan mengonversi masing-masing warna ini ke sistem xyY, kami memperoleh kecerahan yang sesuai - rY, grY, brY. Temukan kecerahan total warna merah: rY = rrY + grY + brY. Warna terakhir akan memiliki koordinat berikut - xyY (0,640000, 0,330000, rY). Saat mentransfer sRGB ke sistem, kami mendapatkan rgb (rNew, 0, 0). Demikian pula, kami menemukan gNew dan bNew. Warna yang dihasilkan dalam sistem sRGB akan memiliki koordinat rgb (rNew, gNew, bNew).


PS


Artikel ini menjelaskan dan membenarkan dari sudut pandang fisik metode gelombang yang kami kembangkan untuk membangun gamut warna. Pemahamannya tentang esensi dari fenomena harmoni dijelaskan. Artikel ini juga menjelaskan algoritma untuk menerapkan metode gelombang untuk model warna sRGB dalam grafik komputer.


Metode ini dapat digunakan secara luas di berbagai industri desain. Hasilnya ada di situs web https://wavepalette.com/ru/ dan akan diperbarui secara berkala dan, jika perlu, disesuaikan. Artikel ini diterbitkan di arxiv.org .


PPS


Di situs di sebelah setiap warna, konversi dan arah ditunjukkan oleh sebagian kecil dan panah (3/2 ↑). Konversi ganda ditunjukkan oleh dua panah (4/3 ↑↑ yang setara dengan 16/9 ↑). Dua warna pertama akan hampir selalu menjadi merah tua dan ungu tua, karena konversi 3/2 dan 2/3 dekat dengan warna spektrum inframerah dan ultraviolet. Awalnya saya berpikir untuk mengecualikan mereka dari palet, tetapi kemudian saya memutuskan untuk meninggalkannya.


PPPS


Algoritma untuk membangun warna untuk setiap warna dalam sistem sRGB masih membutuhkan penyempurnaan. Menurut pendapat saya, hasil yang baik yang dapat digunakan algoritma ditampilkan dalam warna spektral - https://wavepalette.com/en/spectral/ .


gambar


gambar


PPPPS


Saya menyelesaikan algoritme dan memperbarui situs.

Source: https://habr.com/ru/post/id466345/


All Articles