Degradelerde belirgin renk bantlarından nasıl kaçınırsınız?


13

Bu grafik tasarımdan daha bilimsel bir görselleştirme, ama bence teori aynı. Verileri görselleştirmek için kullanılan renk haritalarında, genellikle yapmamaları gerektiğinde ortaya çıkan renk bantları vardır. Onların bir formu olduğuna inanmak Mach bantları ?

Örneğin, bu bipolar renk haritasını kullandım ve bunun gibi görüntüler üretti:

resim açıklamasını buraya girin

Neredeyse 0.2 civarında neon turuncu bir halka ve -0.2 civarında mavi için benzer bir halka gibidir. RGB bileşenlerinin bir çizimi ve siyahtaki göreceli parlaklık hesaplaması :

resim açıklamasını buraya girin

Gruplardan kurtulmak için el ile ayarladım ve bir şekilde başarılı oldum, ancak arkasındaki teoriyi gerçekten anlamıyorum:

resim açıklamasını buraya girin

resim açıklamasını buraya girin

Daha iyi, ama hala içinde bantlar görüyorum.

Başka bir örnek için, sıcak renk haritası için, şeritlemeyi önlemek için parlaklık grafiğini doğrusallaştırmam gerektiğini düşündüm, ama gerçekten işe yaramadı:

resim açıklamasını buraya girin resim açıklamasını buraya girin

Sarı ve turuncu bantlar hala orada, sadece taşındı ve biraz bulaştı. Bu nedenle, parlaklık planındaki süreksizlikler sorunun nedeni değildir.

Şeritlenmeden renkler arasında nasıl sorunsuz geçiş yapabilirim? Yapmak için orada kurallardır düzgün eğriler aracılığıyla Lab renk boşluğunda ya da bir şey? ( Düzenle: Ooh, bunun için bir örnek buldum : "Renk skalası, L a b * renk alanı kullanılarak hesaplanır . L * yönü boyunca tekdüze bir rampa izler ve a * -b içinde yarım daire biçimli bir yol izler. * uçak.")

Güncelleme: RGB56'daki bu renk haritasının, kullanıcı568458'in bahsettiği keskin açıları gösteren bir çizimi:

resim açıklamasını buraya girin


1
not, ben algısal bantlar hakkında bir yorum yaptım (aşağıda), ama bu gerçekten soruya bakmadan önce oldu. İki renk aralığının nasıl öne çıktığını konuştuğunuzu görüyorum.
horatio

1
Güzel diyagram! Ben keskin köşeler, ben böyle bir renk küp hayal oldu ne anlama geldiğini tam olarak bu bir veya böyle . Cevabım için kastettiğim türden kaba ama umarım faydalı bir örnek ekledim. (elbette, kırmızı yolun beyaza ulaşmak için yeşil eklediği ve mavi yolun beyaza ulaşmak için kırmızı eklediği noktalarda ikinci keskin köşe çifti de vardır)
user56reinstatemonica8

Yanıtlar:


6

LAB renk değerleri ile çalışsanız bile, RGB değerlerinin bir ekranda gösterilmesi için çıkarılması gerektiğini unutmayın. Bir noktada, ekranın kırmızı, yeşil ve mavi piksellerine ne yapılacağını söylemelidir.

RGB terimleriyle bakın ve bantların nedeni aslında oldukça basit.

Bir renk seçici alın ve degradelere bakın, bantların degradenin doğasının değiştiği noktaların etrafında olduğunu fark edeceksiniz:

  • Kırmızı renkte, RGB'deki R'yi düzgün bir şekilde arttırmaktan sarı olmak için G eklemeye dönüşüyor - # FF0000 - # FF2500
  • Mavi renkte, RGB'deki B'yi düzgün bir şekilde arttırmaktan G camgöbeği olmak için G eklemeye dönüşüyor - # 0000FF ila # 0025FF

Ve aynı şekilde alt parsellerle, sarıya beyaz ekleyerek: aslında üç degradedir. Kırmızı degradeyi örnek olarak kullanma:

  • # 000000 ila # FF0000 ( HSB açısından Parlaklığı arttırmak , RGB'de Kırmızı kanalı artırmak)
  • sonra # FF0000 - # FFFF00 ( HSB terimleriyle Tonu değiştirme , RGB'de Yeşil kanalı artırma)
  • sonra # FFFF00 - #FFFFFF ( HSB terimlerindeki Doygunluğu değiştirme , RGB'deki Mavi kanalı artırma)

resim açıklamasını buraya girin

Yani her zaman görünür bir birleşme olacaktır, eğer böyle kurulursa. Doğruluk ve doğrusallığın temel amaç olduğu genel bir kural olarak, bir gradyanı basit, değişken bir özelliği sürekli olarak değiştirmek en iyisidir ( bantlama istemiyorsanız , örneğin bazı beyin taramalarında).


Bununla birlikte , daha geniş spektrumdan geçmeye karar verirseniz (iyi görünüyor), birincisi tamamlanmadan önce ikinci kanalı eklemeye, degradeler arasında bir köprü bölümü oluşturmaya ya da ikinci kanalın eklenme hızına (muhtemelen her ikisi de) hafif ters S şekil eğrisi.

Bunun yerine:

  • 000000 - # FF0000,% 100 siyah -% 100 kırmızı

  • FF0000 - # FFFF00,% 100 kırmızı ila% 100 sarı

  • FFFF00 - #FFFFFF,% 100 sarı ila% 100 beyaz

... olabilir (sadece başımın üstünden tahmin eder, ayarlanması gerekir):

  • 000000 - # E90000,% 100 siyah - parlak kırmızı

  • E90000 - # FF2500, (KISA KÖPRÜ) parlak kırmızı (koyu) ila parlak kırmızı (hafif turuncu)

  • FF2500 - # FFE900, parlak kırmızı (hafif turuncu) - parlak sarı (hafif turuncu)

  • FFE900 - # FFFF25, (KISA KÖPRÜ) parlak sarı (hafif turuncu) ila parlak sarı (açık)

  • FFFF25 - #FFFFFF, parlak sarı (açık) -% 100 beyaz

... sonra her bölümün eğrilerini zevkinize göre ayarlayın :-)


Düzenleme: İşte 'köşeleri kesme' öneri bir gösteri. Mükemmel değil - oldukça rafine değil, sadece Illustrator karıştırma aracını (renk noktalarını göstermek için alttaki blenderler) kullanarak birkaç dakika içinde gözle bir araya getirdiğim bir şey. Her bir renk noktası arasındaki degradenin her bölümü% 100 doğrusaldır, oysa muhtemelen daha yuvarlak bir şey istersiniz - sonuç olarak dikkatlice bakarsanız bantları tespit edebilirsiniz.

Sonuçlar doğal olarak monitörler arasında farklılık gösterir: 'iyi' monitörümde pürüzsüz; web görüntülerinin esnekliğini kontrol etmek için kullandığım 'kötü' monitörde (orijinal bantların çok net görünmediği yerlerde), portakallar her zaman bastırılmış görünürler, bu da kırmızı ve sarı alanların birleştirilen turuncudan daha parlak görünmesini, kırmızıya aşırı vurgu yapmasını sağlar. ve sarı alanlar - ama yine de orijinal bantların 'kenarının' büyük ölçüde gittiğini görebilirsiniz.

Her iki durumda da, orijinal degradelerle karşılaştırıldığında farkı açıkça görebilirsiniz. (bunun arkasındaki matematiklere gelince - hiçbir fikrim yok, matematikçi değilim, ama umarım bu problemi ve çözümü tanımlamaya yardımcı olur)

resim açıklamasını buraya girin

Diğer avantaj, daha net siyah> bir kanal geçişini daha fazla kullanmakta serbestsiniz.


Ya da bir RGB renk küpü üzerinde aynı fikir (hamlığı affet, doğru değil gösterici olması amaçlanıyor ...):

resim açıklamasını buraya girin

Bu, örnek gradyanın ana segmentlerden köşe kesimli segmentlere geçişleri açısal değil pürüzsüz hale getirerek iyileştirilebileceğini söylediğimde muhtemelen ne demek istediğimi daha açık bir şekilde gösterir.


böylece tldr; R, G, B kanalları için 255 değerlerinden kaçının (?)
horatio

2
@horatio gerçekten hayır, daha çok tldr gibi; degrade bölümleri arasında keskin köşelerden kaçının
user56reinstatemonica8

Her şey çıktı için kullanılan renk uzayına bağlıdır - örneğin saf beyazdan saf macentaya saf menekşe (% 100 macenta ve mavi) saf siyaha ( % 100 C, m, k yapılmış)
user56reinstatemonica8

Daha çok "HSB uzayda hareket ederken keskin köşelerden kaçının" gibi mi? Ama kübik enterpolasyon falan yapmaya çalışırsam , HSB alanının dışına çıkarım, bu da değerleri kırpar ve yine de kötü şeylere neden olur. İkinci örneğimde, köprüleme bölümleri eklemek hakkında önerilerinizi yapıyorum, ancak mükemmel çalışmıyor. Hala pürüzsüz bir renk değişimi yerine, etrafında bir hale ile kırmızımsı-turuncu bir damla içinde sarı bir damla gibi görünüyor.
endolith

1
İşte bunun yerine bir Bezier eğrisi kullanılarak bir girişim olduğunu: flic.kr/p/e1bcFf flic.kr/p/e15wik
Endolit

1

Belki bu size yardımcı olabilir, benim için işe yarıyor, ancak bunu başarmanın manuel bir yolunu bilmiyorum.

http://nomorebanding.com/


Bu aynı tür bir bantlama değil ve yine de bu bağlamda renk taklidi mümkün değil. Bağlantınız renklerin nicemlenmesi nedeniyle bantlama hakkındayken, sanırım düzgün bir gradyanda ne olmalı, algısal bantlar hakkında daha fazla konuşuyorum?
endolith

1
algısal bantları olan renk nicelemesinden. Piksel gösterimi başına 8 bitlik bir sorundur. Eklenti hakkında hiçbir şey bilmiyorum, ancak degradeler üretirken 16bpp RGB kullanmak ve daha sonra 8bpp'ye aşağı örnekleme yapmak, 8bpp'de oluşturmaktan çok daha az bantlamayla çok daha iyi sonuçlar üretecektir.
horatio

@horatio: Hayır, bantlar algısal renk uzayında ilerlerken keskin köşeler alan eğriden. Özellikle, örneğimde, o köşelerde zirveye ulaşan renktir.
endolith
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.