Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шп гр.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
2.81 Mб
Скачать

11.3. Растровая развертка литер

В гл. 3 рассмотрен общий метод изображения литер, основанный на матрице точек. Тот же метод используется и при построении раст­ровых изображений: точечное представление литеры помещается в заданную позицию буфера регенерации. Наименьшей сеткой, с по­мощью которой можно описывать литеры с приемлемым качеством, является сетка 5 х 7; для представления прописных и строчных литер необходима матрица размером 5 x 9. Для символов более высокого качества требуется еще большая матрица.

      1. Пропорциональное размещение литер. Нижние выносные элементы

Можно очень легко построить растровый генератор литер, обеспе­чивающий две возможности обычной типографской печати, которые отсутствуют во многих дисплейных системах: пропорциональное размещение литер и нижние выносные элементы букв. Пропорцио­нальное размещение — это изменение интервалов между центрами литер с учетом различия в их размерах по ширине, например между i и w. В случае пропорционального размещения не все литеры будут занимать одно и то же число растровых единиц по горизонтали. Ниж­ние выносные элементы {части литер, опущенные ниже базовой ли­нии, как в строчных буквах g, j, p, q и у) изображаются путем сдвига описывающих их матриц вниз по отношению к другим литерам (рис. 11.8).

Рис. 11.8. Литеры с верхним (h) и нижним (g) выносными элементами, а также узкая литера (i)

Связанный с каждой литерой код представляет собой матрицу, которая состоит из разрядов, описывающих литеру. Значение true каждого разряда в матрице свидетельствует о том, что пэл с соот­ветствующими координатами внутри матрицы является частью литеры и поэтому окрашивается в цвет, отличающийся от фона. Пропорциональное размещение литер и их нижние выносные эле­менты реализуются путем связывания с каждой точечной матрицей, определяющей литеру, ее ширины, а также булевой переменной, истинность которой означает, что литера имеет нижний выносной элемент. Следующая программа на Паскале показывает, как можно задавать и изображать литеры:

17,18 Введение в модели закрашивания

Механизм отражения света от текущей поверхности очень сложен и зависит от многих факторов. В модели закрашивания, часто используемой в графике, предполагается, что объекты сцены освещаются двумя типами источников: точечными источниками света и фоновым светом (ambient ligt ). Эти источники света <<сверкают>> на различных поверхностях объектов, и падающий свет взаимодействует с поверхностью одним из трех возможных способов:

-- некоторая часть поглощается поверхностью и превращается в тепло;

--некоторая часть отражается от поверхности;

--некоторая часть проходит внутрь объекта, как в случае куска стекла.

Если весь падающий свет поглощается, то данный объект воспринимается как черный, поэтому его называют абсолютно черным телом (blackbody). Если весь свет проходит сквозь объект, то он виден только в результате эффекта рефракции, который мы будем рассматривать в главе 14.

Здесь мы сосредоточимся на той составляющей света, которая отражается от поверхности или рассеивается ею. Некоторая часть этого отраженного света движется как раз в таком направлении, чтобы достигнуть глаза, вследствие чего объект становится виден. Количество света, падающее в глаз, прежде всего определяется геометрией окружения. Мы будем различать два типа отражения падающего света:

-- диффузное рассеяние (diffuse scattering) происходит, когда часть падающего света слегка проникает внутрь поверхности и излучается обратно равномерно по всем направлениям. Рассеянный свет сильно взаимодействует с поверхностью, поэтому его цвет обычно зависит от природы материала, из которого сделана эта поверхность;

--зеркальные отражения (specular reflections) больше похожи на зеркало и имеют ярко выраженную направленность: падающий свет не поглощается объектом, а отражается прямо от его наружной поверхности. Это порождает блики, и поверхность выглядит блестящей. В простейшей модели зеркального света отраженный свет имеет такой же цвет, что и падающий свет, что материал похожим на пластмассу. В более сложной модели цвет отраженного света пробегает интервал бликов, что дает лучшее приближение металлических поверхностей. Мы рассмотрим обе модели зеркального отражения.

Большинство поверхностей сочетают в себе оба типа отражения; это зависит от характеристик самих поверхностей, таких как шероховатость и тип материала, из которого сделаны эти поверхности. Считается, что суммарное количество света, отраженного от поверхности в определенном направлении, складывается из диффузного и зеркального компонентов. Для каждой интересующей нас точки поверхности вычисляется величина каждого компонента, достигающего глаза. Эта задача решается при помощи алгоритмов, рассматриваемых ниже.