Menginterpolasi Warna dalam Ruang Warna
Dalam pelbagai konteks artistik dan reka bentuk, keperluan sering timbul untuk menggabungkan atau menginterpolasi warna yang berbeza untuk mencipta naungan yang dikehendaki. Walaupun pencampuran warna digital adalah mudah untuk warna pemancar, seperti yang dipaparkan pada skrin RGB, mensimulasikan pencampuran cat fizikal memberikan cabaran yang unik.
Pencampuran cat tradisional bergantung pada penyerapan, di mana pigmen secara selektif menyerap panjang gelombang cahaya tertentu. Apabila cat biru dan kuning dicampur, warna yang terhasil ditentukan oleh sifat penyerapan setiap pigmen. Cat biru menyerap cahaya merah dan hijau, manakala cat kuning menyerap cahaya biru. Dalam senario yang sempurna, proses penyerapan ini akan menghasilkan warna gelap atau berlumpur, bukannya hijau terang.
Walau bagaimanapun, dalam amalan, pigmen fizikal menyimpang daripada ciri penyerapan yang ideal, membawa kepada pelbagai kemungkinan hasil apabila mencampurkan warna. Untuk menangani kerumitan ini, penyelidik telah membangunkan model warna yang lebih tepat mewakili tingkah laku cat fizikal. Salah satu model sedemikian ialah model pencampuran warna tolak.
Pencampuran Warna Subtraktif
Pencampuran warna tolak digunakan untuk mensimulasikan tingkah laku pigmen fizikal, terutamanya apabila bekerja dengan warna tolak sistem seperti cat, pewarna, dan dakwat. Dalam model ini, hasil pencampuran dua warna ditentukan dengan menolak faktor penyerapan setiap pigmen daripada sumber cahaya putih.
Contohnya, apabila mencampurkan pigmen biru dan kuning, pigmen biru menyerap cahaya merah dan hijau , manakala pigmen kuning menyerap cahaya biru. Warna yang terhasil ialah hijau berlumpur, yang mewakili baki cahaya yang belum diserap oleh mana-mana pigmen.
Interpolasi dalam Ruang Warna
Manakala pencampuran warna tolak adalah perwakilan realistik pencampuran cat fizikal, ia boleh menjadi rumit dari segi pengiraan untuk disimulasikan. Oleh itu, kaedah alternatif sering digunakan untuk menginterpolasi warna dalam ruang warna, seperti RGB atau HLS.
Interpolasi dalam ruang warna RGB melibatkan pengadunan komponen warna individu (merah, hijau dan biru) antara dua yang diberikan warna. Pendekatan ini mudah tetapi boleh menghasilkan warna yang tidak menggambarkan pencampuran cat fizikal dengan tepat.
Selingan dalam ruang warna HLS, sebaliknya, melibatkan pengadunan komponen rona, kecerahan dan ketepuan dua warna tertentu. Kaedah ini menawarkan lebih fleksibiliti dan menghasilkan hasil yang lebih intuitif untuk mencampurkan warna yang berbeza, termasuk warna perantaraan hijau apabila mencampurkan biru dan kuning.
Sampel Pelaksanaan
Kod Python berikut coretan menunjukkan interpolasi warna menggunakan ruang warna HLS:
import colorsys def average_colors(rgb1, rgb2): h1, l1, s1 = colorsys.rgb_to_hls(rgb1[0]/255., rgb1[1]/255., rgb1[2]/255.) h2, l2, s2 = colorsys.rgb_to_hls(rgb2[0]/255., rgb2[1]/255., rgb2[2]/255.) s = 0.5 * (s1 + s2) l = 0.5 * (l1 + l2) x = cos(2*pi*h1) + cos(2*pi*h2) y = sin(2*pi*h1) + sin(2*pi*h2) if x != 0.0 or y != 0.0: h = atan2(y, x) / (2*pi) else: h = 0.0 s = 0.0 r, g, b = colorsys.hls_to_rgb(h, l, s) return (int(r*255.), int(g*255.), int(b*255.)) print(average_colors((255,255,0),(0,0,255))) print(average_colors((255,255,0),(0,255,255)))
Pelaksanaan ini menunjukkan interpolasi biru (0,0,255) dan kuning (255,255,0) menggunakan ruang warna HLS, menghasilkan warna hijau.
Adalah penting untuk ambil perhatian bahawa ini kaedah dan teknik interpolasi warna lain tidak sepenuhnya mencontohi percampuran cat fizikal. Walau bagaimanapun, ia menyediakan cara yang mudah untuk menjana peralihan warna yang kelihatan realistik dalam persekitaran digital.
Atas ialah kandungan terperinci Bagaimanakah Interpolasi Warna dalam Ruang Warna Berbeza Dapat Mensimulasikan Percampuran Cat Fizikal dengan Tepat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!