Изображение литер
Адресация растра
Цифровая память, в которой может храниться пиксель, организована в один линейный список адресов, а координаты точки имеют линейные параметры (X, Y). Таким образом, необходимо преобразование координат в линейное пространство.
Предположим, что начальный адрес из памяти не равен нулю, тогда преобразование будет иметь вид:
Адрес = (Xmax - Xmin) (Y - Ymin) + (X - Xmin) + базовый адрес
Эта же схема работает и в случае, когда положительная ось Х направлена направо, а положительная ось Y – вниз, при условии адресации пикселей относительно верхнего левого угла.
Как правило, для заданного буфера кадра Xmax, Xmin, Ymin и базовый адрес постоянны и уравнение можно записать в следующем виде:
Адрес = K1 + K2 Y + X
K1 = базовый адрес - K2 Ymin - Xmin
K2 = Xmax - Xmin
Вычисленные адреса памяти имеют одно сложение и умножение. При последовательной адресации пикселей для дальнейшего уменьшения работы можно использовать пошаговые вычисления.
Адрес (X ± 1, Y) = Адрес (X, Y) ± 1
|
|
Адрес (X, Y ± 1) = Адрес (X, Y) ± K2
Адрес (X ± 1, Y ± 1) = Адрес (X, Y) ± K2± 1
Алфавитно-цифровые символы (литеры) записываются в буфер кадра с помощью маски. Литерная маска – маленький растр, содержащий относительные адреса пикселей, используемых для представления литеры. Сама маска просто содержит двоичные величины, обозначающие, используется или нет конкретный пиксель в маске для представления литеры.
Для простых черно-белых изображений 1 означает, что пиксель используется в представлении, а 0 – не используется.
Для цветных изображений применяются дополнительные биты в качестве индексов в таблице цветов.
Литеру можно вставить в буфер кадра, указав адрес начала маски в буфере. Каждый пиксель в маске смещается на величину начального адреса. Стереть литеру из буфера можно, перезаписав ее с фоновой интенсивностью или цветом.
Для создания литер различных шрифтов и ориентаций перед записью в буфер маску можно модифицировать.
Человеческий глаз – очень сложная система. Он имеет почти сферическую форму с диаметром около 20 мм. Воспринимаемый свет с помощью гибкого хрусталика фокусируется на сетчатке глаза, в которой есть два типа рецепторов: колбочки и палочки. В центре задней полусферы собрано 6-7 млн колбочек, чувствительных только к сравнительно высоким уровням освещенности, причем каждая из них присоединена к отдельному нерву. Колбочки позволяют различать мелкие детали. В сетчатке находится около 75-150 млн палочек, чувствительных к очень низким уровням освещенности. К одному нерву присоединено сразу несколько палочек, поэтому они не способны различать мелкие детали.