Двумерный HSV-градиент
Каждый пиксель листа получает цвет из пространства HSV: оттенок меняется по горизонтали, яркость — по вертикали.
Разбор
Идея
Цветовое пространство HSV удобно для градиентов: параметры H (оттенок), S (насыщенность), V (яркость) независимы. Фиксируем S = 100%, H меняем по X от 0° до 360°, V меняем по Y от 100% (верх) до 0% (низ).
Двойной цикл
нц для y от 0 до h - 1
нц для x от 0 до w - 1
пиксель(x, y, HSV(x * 360 / w, 100, (h - y) * 100 / h))
кц
кц
x * 360 / w— оттенок от 0° до 360° слева направо(h - y) * 100 / h— яркость от 100% (y = 0, верх) до 0% (y = h, низ)
Команда пиксель рисует один пиксель заданного цвета — удобно для поточечного рисования.
Полная программа
| 2D HSV-градиент: оттенок меняется по X, яркость по Y
использовать Рисователь
алг
нач
цел x, y, w, h
w := 400
h := 300
новый лист(w, h, чёрный)
нц для y от 0 до h - 1
нц для x от 0 до w - 1
пиксель(x, y, HSV(x * 360 / w, 100, (h - y) * 100 / h))
кц
кц
кон