Спектры отражения — FORS PC MODERN + оцифрованные графики (масстон, истинный R, 380–780 нм / 5 нм, 74 пигмента). Колориметрия: CIE 1931 2°, относительная (k = 100/Σ S·ȳ), хроматическая адаптация CAT02 к белой точке дисплея (D65) — это даёт цвет объекта для наблюдателя, адаптированного к источнику, поэтому нейтрали остаются нейтральными. Различия — CIEDE2000. Смешение — одноконстантная модель Кубелки — Мунка (качественно-полуколичественное приближение, не заменяющее двухконстантную калибровку).
Ищем две смеси, которые под одним источником почти неразличимы (малое ΔE₀₀), а под другим — расходятся максимально. Стрелка задаёт направление; «↔» проверяет оба.
| код | название | точек | R(min–max) |
|---|
Pigment Studio is a browser-based instrument for spectral pigment mixing, swatch rendering under different light sources, and metameric-pair search. It runs entirely locally in JavaScript — no server, no installation. The practical reference is the “Nevskaya Palitra” acrylic range.
Pigment Studio — браузерный инструмент для спектрального смешения пигментов, отрисовки выкраски под разными источниками света и поиска метамерных пар. Работает полностью локально в JavaScript — без сервера и установки. Практическая привязка — акриловый ряд «Невская палитра».
Each pigment is stored as a true (non-normalised) reflectance factor R(λ) on the 380–780 nm / 5 nm grid (81 points). The base set is FORS PC MODERN, extended with curves digitized from published masstone charts — 74 pigments in total.
Каждый пигмент хранится как истинный (ненормированный) коэффициент отражения R(λ) на сетке 380–780 нм / 5 нм (81 точка). Базовый набор — FORS PC MODERN, дополненный кривыми, оцифрованными с опубликованных графиков масстона; всего 74 пигмента.
Mixing uses the single-constant Kubelka–Munk model. For each component the absorption-to-scattering ratio is computed per wavelength:
Смешение использует одноконстантную модель Кубелки — Мунка. Для каждого компонента отношение поглощения к рассеянию вычисляется по длинам волн:
The ratios are combined additively in proportion to concentration, then inverted back to reflectance:
Отношения складываются аддитивно пропорционально концентрации, затем обращаются в коэффициент отражения:
cᵢ — normalised concentration fraction of component i (Σ cᵢ = 1).cᵢ — нормированная доля концентрации компонента i (Σ cᵢ = 1).
Tristimulus values use the CIE 1931 2° standard observer with relative normalisation k = 100 / Σ S(λ)·ȳ(λ). The object colour computed under each illuminant is chromatically adapted with the CAT02 transform to the display white point (D65). The result is the corresponding colour for an observer adapted to that illuminant; a spectrally neutral sample therefore maps to display neutral under any source.
Координаты цвета вычисляются по стандартному наблюдателю CIE 1931 2° с относительной нормировкой k = 100 / Σ S(λ)·ȳ(λ). Цвет объекта, рассчитанный под каждым источником, хроматически адаптируется преобразованием CAT02 к белой точке дисплея (D65). Результат — соответствующий цвет для наблюдателя, адаптированного к этому источнику; спектрально нейтральный образец при этом отображается нейтральным под любым источником.
All colour differences — between the two illuminant renderings of one mix (the inconstancy A→B), and between two mixes in the metamer search — are computed with CIEDE2000 (ΔE₀₀), the current CIE-recommended formula.
Все цветовые различия — между двумя отрисовками одной смеси (непостоянство A→B) и между двумя смесями в поиске метамеров — вычисляются по CIEDE2000 (ΔE₀₀), действующей рекомендованной формуле CIE.
The catalog holds sources with structured metadata (type / CCT / Rₐ):
Каталог содержит источники со структурированными метаданными (тип / ЦКТ / Rₐ):
| TypeТип | DescriptionОписание |
|---|---|
| D65, A, D50, E | CIE illuminantsисточники CIE |
| CFL | compact-fluorescent emission (CCT 2833 K, Rₐ 83)эмиссия компактной люминесцентной лампы (ЦКТ 2833 К, Rₐ 83) |
| Luxeon | LED SPDs, Rₐ 70 / 80 / 90 / 95 across several CCTs (2700–6500 K)СПМ светодиодов, Rₐ 70 / 80 / 90 / 95 для ряда ЦКТ (2700–6500 К) |
| Yuji VTC | violet-pump full-spectrum LEDs, Rₐ 96–98полноспектральные светодиоды с фиолетовой накачкой, Rₐ 96–98 |
| Yuji WB | LED series, Rₐ 85–91 (CCT 2200–5000 K)серия светодиодов, Rₐ 85–91 (ЦКТ 2200–5000 К) |
The cascading selectors (source → colour temperature → rendering index) reconcile bidirectionally and snap to the nearest available bin. A custom SPD can be loaded from a CSV/TXT/SPD file or pasted manually.
Каскадные списки (источник → цветовая температура → индекс цветопередачи) согласуются в обе стороны и притягиваются к ближайшему доступному бину. Пользовательский SPD можно загрузить из файла CSV/TXT/SPD или вставить вручную.
The search seeks two mixes that are near-identical under one illuminant (ΔE₀₀ ≤ 2.5) yet diverge maximally under the other. It is deterministic (seeded PRNG, repeatable), using a two-phase strategy: broad random restarts with hill-climbing on a decreasing step schedule, then intensive refinement of the best candidates. Results are ranked by maximum divergence. The direction arrow (→ / ↔ / ←) sets which source is the match and which is the divergence; the thoroughness selector trades speed for depth.
Поиск ищет две смеси, почти неразличимые под одним источником (ΔE₀₀ ≤ 2,5) и максимально расходящиеся под другим. Он детерминирован (ГПСЧ с фиксированным зерном, воспроизводимый) и использует двухфазную стратегию: широкие случайные перезапуски с подъёмом по склону на убывающем шаге, затем интенсивное уточнение лучших кандидатов. Результаты ранжируются по максимуму расхождения. Стрелка направления (→ / ↔ / ←) задаёт, под каким источником совпадение, а под каким — расхождение; регулятор тщательности меняет скорость на глубину.
A required-pigment anchor guarantees a chosen pigment appears in at least one mix of the pair (either one — the optimiser decides). “В предиктор” loads a found mix into the predictor for inspection.
Якорь (обязательный пигмент) гарантирует, что выбранный пигмент войдёт хотя бы в одну смесь пары (в любую — выбирает оптимизатор). Кнопка «В предиктор» загружает найденную смесь в предиктор для разбора.
The digitizer extracts a reflectance curve from a raster chart that follows the artistpigments.org template. Dark marker blobs above the colour bar are detected, mapped to wavelength by horizontal position and to R by vertical position (R = 1 at the top gridline, R = 0 at the colour-bar baseline), snapped to the wavelength grid, and exported as {code, name, R[81]} compatible with the engine. Added pigments flow straight into the predictor palette.
Дигитайзер извлекает кривую отражения из растрового графика по шаблону artistpigments.org. Тёмные маркеры над цветовой полосой распознаются, переводятся в длину волны по горизонтали и в R по вертикали (R = 1 — верхняя линия сетки, R = 0 — базовая линия цветовой полосы), привязываются к сетке длин волн и экспортируются как {code, name, R[81]}, совместимые с движком. Добавленные пигменты сразу попадают в палитру предиктора.