← DerslerHSI kontrol mantığıSeviye 117 dk
1 / 13

Anlatım

Üç sayı, bir renk kararı

Ders 38 tek bir kaydırıcıyı (CCT, iki dizi arası), ders 39-40 üç-beş kanalı ve bunların aritmetiğini anlattı — üçü de armatürün İÇİNDE ne olduğunu sordu. Bu ders soruyu çeviriyor: kullanıcı sette bu kanallarla nasıl KONUŞUR? Cevap HSI: Hue (renk açısı, 0–360°), Saturation (doygunluk, 0–100), Intensity (yoğunluk, kendi 0–1 ölçeği). types/scene.ts: HSI = { hue, saturation, intensity }.

CCT+tint iki eksen taşır ve yalnız beyazın çevresini kapsar; HSI üç eksen taşır ve görünür renk çemberinin TAMAMINI kapsar. Sette hızlı olmasının nedeni bu: "kırmızı, yüzde seksen doygun, tam parlaklık" tek cümlede bir renk kararı.

HSI = { hue: 0–360°, saturation: 0–100, intensity } (types/scene.ts) — CCT+tint'in iki ekseninden üçe çıkan bir kontrol dili.

Sözlük

Ten tonu (Skin tone)
Öznenin cildinin ışığı geri yansıtma oranı ve speküler karakteri. Aynı rig farklı tende farklı çalışır.Sık yapılan hata: Klasik pozlama tabloları açık tenler varsayılarak yazılmıştır; diğer tonlarda doğrudan uygulanırsa yanlış sonuç verir.
RGB/RGBW/RGBWW karışımı (RGB/RGBW/RGBWW color mixing)
Kırmızı, yeşil, mavi (ve gerekirse bir ya da iki beyaz) dar bantlı LED dizisinin toplamsal karışımıyla geniş bir renk aralığı ve/veya beyaz üretme yöntemi. Doygun bir renk üretmek yalnızca bir-iki kanalı kullanırken, kaliteli beyaz üretmek TÜM kanalları birden gerektirir.Sık yapılan hata: Doygun bir rengin çıkış kaybının (kullanılmayan kanalların boşta kalması) bedelsiz olduğunu varsaymak; ya da RGB/RGBW kaynaklı beyazın sürekli spektrumlu bir kaynakla (tungsten, HMI) aynı renk sadakat tavanına sahip olduğunu sanmak.
HSI (Renk açısı/Doygunluk/Yoğunluk) (HSI (Hue/Saturation/Intensity))
Hue (renk açısı, 0–360°), Saturation (doygunluk, 0–100) ve Intensity (yoğunluk) üçlüsüyle bir renk kararı veren kontrol dili. Armatürün kendi denetleyicisi bu üçlüyü kendi kanal karışımına (RGB, RGBWW) çevirir — HSI kanalın kendisi değildir.Sık yapılan hata: Aynı HSI değerinin her armatürde aynı spektrumu ürettiğini varsaymak. Farklı kanal sayılı iki armatür aynı HSI'a farklı bir kanal karışımıyla ulaşabilir — görünen renk eşleşse bile spektrumları farklı olabilir.

Sette

Sette HSI tam bu yüzden tercih edilir: bir renk kararını "kırmızı, %80 doygun, tam parlaklık" gibi üç sayıyla, jel aramadan ya da kanal yüzdesi hesaplamadan hızla vermek. Bu simülatör bu kontrol dilini şemasında (HSI) ve komut katmanında (SET_LIGHT_COLOR: yazıyor, kendi undo'su çalışıyor, serileştirme doğruluyor) doğru tanıyor — doğru konmuş bir etiket, kendi başına bir başarı. Ama henüz hiçbir arayüz bileşeni bu komutu göndermiyor, ölçüm zinciri onu okumuyor (ders 39) ve bir ışığı silip geri almak rengi sessizce sıfırlıyor (s8) — sette karşılığı şu: bir HSI kararını kaydettiysen, silme/geri alma ya da sahne yenileme sonrası rengi GÖZLE doğrula, "ışık geri geldi" ile "rengi de geri geldi"yi eş tutma. Bir sonraki ders HSI'nin bu bedelsiz görünümünün (s3-s6) karşısına GERÇEK bir bedel koyuyor: jel. Armatürün İÇİNDEKİ elektronik karışım değil, önüne konan fiziksel bir filtre — ve bu motorda applyGelStack, hue/saturation/intensity'nin aksine ÖLÇÜM ZİNCİRİNE gerçekten giriyor: mired toplanıyor, geçirgenlik çarpılıyor, stop kaybı doğrudan ölçülüyor. Modülün son dersinde HSI'nin ücretsiz göründüğü yerde jel'in neden hiç ücretsiz olmadığını göreceksin.

Kaynakça

  • docs/CURRICULUM.md §7b — Bölüm 2, Ders 41
  • types/scene.ts — HSI tipi ({hue, saturation, intensity}), LightInstance.cctKelvin (zorunlu) / hsi (opsiyonel)
  • types/commands.ts — SET_LIGHT_COLOR: { lightId, hsi: HSI | undefined }
  • engine/commands/reducer.ts — SET_LIGHT_COLOR case: yalnızca hsi alanını yazar
  • engine/commands/inverse.ts — SET_LIGHT_COLOR case (kendi undo'su birebir çalışıyor) ve REMOVE_LIGHT case (ışığı yeniden kuran komut listesi SET_LIGHT_COLOR içermiyor — kendi ölçümüm)
  • engine/scene/serialization.ts — hsi şema doğrulaması; serializeScene/parseScene round-trip (kendi ölçümüm)
  • components/inspector/LightInspector.tsx — SET_LIGHT_CCT ve SET_LIGHT_TINT dispatch ediyor, hue/saturation/intensity kaydırıcısı yok (kendi taramam)
  • content/rigs.ts — rgb-fullcolor-saturated-red (ders 39'un rig'i, bu derste tekrar kullanıldı, yeni rig eklenmedi)
  • data/fixtures.json — tube-4ft-rgb (3 kanal) / cob-1200-fullcolor (5 kanal): aynı HSI'nin farklı kanal karışımına çevrilebileceği örnek (ders 40 atfı)
3D görünüm yükleniyor…