- •Визуальное представление информации.
- •Взаимосвязь компьютерной геометрии и графики.
- •История развития компьютерной графики.
- •Анализ, синтез и обработка изображений.
- •Виртуальные графические устройства (cgi).
- •Устройства графического ввода. Режимы ввода. Графический пользовательский интерфейс (gui).
- •Устройства вывода изображений. Дисплеи. Качество изображения. Классификация устройств вывода
- •3. По технологическим способам вывода (свечение люминофора, вычерчивание пишущим узлом, перенос красителя и т.П.). Растровые дисплеи
- •Дисплеи на запоминающей трубке
- •0.10.2 Дисплеи с плазменный панелью
- •0.10.3 Дисплеи с жидкокристаллическим индикатором
- •Виртуальные поверхности отображения. Кадровый буфер и таблица цветности.
- •Особенности преобразования вектор - растр. Алгоритмы прочерчивания отрезков прямых.
- •Генерация дуг окружности и эллипса. Алгоритмы заполнения площади. Графические контроллеры. Графические процессоры. Видеокарты в персональном компьютере.
- •Алгоритмы удаления невидимых линий и поверхностей. Основные понятия и определения.
- •Классификация алгоритмов удаления невидимых линий и поверхностей. Алгоритм плавающего горизонта.
- •Алгоритм использующий z-буфер.
- •Алгоритм построчного сканирования.
- •Алгоритм “художника”.
- •Модели освещения. Flat-закраска.
- •Закраска методами Гуро и Фонга.
- •Геометрическое моделирование и интерактивная машинная графика. История развития моделирования поверхностей.
- •Аналитические способы задания поверхностей.
- •Преимущества параметрического способа задания кривых и поверхностей.
- •Отсечение нелицевых граней.
- •Однородные координаты и их особенности.
- •Поворот вокруг фиксированной точки
- •Параметрическое описание кривых.
- •Кубические кривые в форме Безье.
- •Формат файлов для хранения растровых изображений
- •Аддитивная цветовая модель rgb
- •Цветовая модель cmy
- •Аффинные преобразования на плоскости
- •2. Растяжение-сжатие осей координат.
- •3. Поворот.
- •Проекции. Основные типы
- •Модели описания поверхностей. Аналитическая модель
- •Модели описания поверхностей. Векторная полигональная модель
- •Модели описания поверхностей. Воксельная модель
- •Модели описания поверхностей. Равномерная сетка
- •Модели описания поверхностей. Неравномерная сетка. Изолинии.
- •Визуализация объёмных изображений. Каркасная визуализация
- •Алгебра векторов. Вычисление нормалей
0.10.3 Дисплеи с жидкокристаллическим индикатором
В 1973 г. был разработан первый дисплей на жидких кристаллах (EL 8025) для переносной ЭВМ.
Жидкие кристаллы находятся в некотором числе фаз, промежуточных между твердым и жидким состояниями. Молекулы ЖК являются стрежнеобразными органическими соединениями (рис. 0.10.6) и находятся в различных ориентациях в этих фазах .
ЖК-дисплеи имеют два таких перекрещенных поляризатора с перекрученным жидким кристаллом между ними. Благодаря вращению плоскости поляризации ЖК-цепочками свет проходит и дисплей становится ярким. При приложении электрического поля к взаимноперпендикулярным прозрачным электродам, нанесенных на внутренние стороны пластин, эффект поворота плоскости поляризации пропадает и соответствующий пиксел становится темным.
При выключении напряжения кристалл за время порядка от первых десятков до сотен миллисекунд возвращается в исходное состояние.
Важной особенностью жидких кристаллов является то, что при протекании постоянного тока кристалл подвергается электролитической диссоциации и теряет свои свойства, поэтому жидкокристаллические индикаторы запитываются переменным напряжением, с постоянной составляющей не более десятков милливольт.
Дисплеи с электролюминисцентным индикатором
В 1937 г. был открыт эффект электроминисценции, заключающийся в излучении света легированного марганцем ZnS под воздействием электрического поля высокой напряженности (106 в/см).
Панель электролюминесцентного индикатора состоит из стеклянной пластины, прозрачных проводников из окиси олова, чередующихся слоев изолятора и люминофора и темных проводников, перпендикулярных прозрачным .
Виртуальные поверхности отображения. Кадровый буфер и таблица цветности.
Особенности преобразования вектор - растр. Алгоритмы прочерчивания отрезков прямых.
Генерация дуг окружности и эллипса. Алгоритмы заполнения площади. Графические контроллеры. Графические процессоры. Видеокарты в персональном компьютере.
Генерация дуг окружности и эллипса
Для вывода контура круга можно использовать соотношение между координатами X и Y для точек круга X2 + Y2 = R2 и построить алгоритм прямого вычисления координат. Однако тогда необходимо вычислять квадратный корень, а это в цифровом компьютере выполняется медленно.
Дадим запись инкрементного алгоритма Брезенхэма на языке C++:
void Circle(int xc,int yc,int radius)
{
int x,y,dxt;
long r2,dst,t,s,e,ca,cd,indx;
r2 = (long)radius*(long)radius;
dst = 4*r2;
dxt = (double)radius/1.414213562373;
t = 0;
s = -4*r2*(long)radius;
e = (-s/2) - 3*r2;
ca = -6*r2;
cd = - 10*r2;
x = 0;
у = radius;
//ПИКСЕЛ (xc,yc+radius);
//ПИКСЕЛ (хс,ус-radius);
//ПИКСЕЛ (xc+radius,yc) ;
//ПИКСЕЛ (xc-radius,yc) ;
for (indx=l; indx<=dxt; indx++)
{
x++;
if (e >= 0) e += t + ca;
else {
y--;
e += t - s + cd;
s += dst;
}
t-= dst;
//ПИКСЕЛ (хс+х,ус+у);
//ПИКСЕЛ (хс+у,ус+х);
//ПИКСЕЛ (xc+y,yc-x);
//ПИКСЕЛ (xc+x,yc-y);
//ПИКСЕЛ (хс-х,ус-у);
//ПИКСЕЛ (хс-у,ус-х);
//ПИКСЕЛ (xc-y,yc+x);
//ПИКСЕЛ (xc-x,yc+y);
}
}
В этом алгоритме использована симметрия круга — в основном цикле вычисляются координаты точек круга только для одного октанта и сразу рисуются восемь симметрично расположенных пикселов
И
нкрементный
алгоритм для эллипса
подобен алгоритму для круга, но более
сложный.
В этом алгоритме использована симметрия эллипса по квадрантам (см. рис.).
Алгоритм состоит из двух
циклов. Сначала от х=0
до x=dxt,
где
,
а потом цикл до точки х
= а, у = 0.
Алгоритмы заполнения площади
Графический вывод фигур разделяется на две задачи: вывод контура и вывод точек заполнения. Поскольку контур представляет собой линию, то вывод контура проводится на основе алгоритмов вывода линий. В зависимости от сложности контура, это могут быть отрезки прямых, кривых или произвольная последовательность соседних пикселов.
Для вывода точек заполнения известны методы, разделяющиеся в зависимости от использования контура на два типа:
алгоритмы закрашивания от внутренней точки к границам произвольного контура
алгоритмы, которые используют математическое описание контура.
Рассмотрим алгоритмы закрашивания произвольного контура, который уже нарисован в растре. Сначала находится пиксел внутри контура фигуры. Цвет этого пиксела изменяем на нужный цвет заполнения. Потом проводится анализ цветов всех соседних пикселов. Если цвет некоторого соседнего пиксела не равен цвету границы контура или цвету заполнения, то цвет этого пиксела изменяется на цвет заполнения. Потом анализируется цвет пикселов, соседних с предыдущими. И так далее, до тех пор, пока внутри контура все пикселы не перекрасятся в цвет заполнения.
Пикселы контура— это граница, за которую нельзя выходить в ходе последовательного перебора всех соседних пикселов. Соседними могут считаться только четыре пиксела (справа, слева, сверху и снизу — четырехсвязность), или все восемь пикселов (восьмисвязность). Не всякий контур может служить границей закрашивания.
Перечислим основные виды алгоритмов закрашивания произвольного контура :
простейшие
волновые
закрашивания линиями
Рассмотрим алгоритмы, которые используют математическое описание контура. Математическим описанием контура фигуры может служить уравнение y=f(x) для окружности, эллипса или другой кривой. Для многоугольника (полигона) контур задается множеством координат вершин (хi, уi). Возможны и другие формы описания контура. В любом случае алгоритмы данного класса не предусматривают обязательное предварительное создание пикселов контура растра — контур может совсем не выводиться в растр. Перечислим некоторые из подобных алгоритмов заполнения:
заполнение прямоугольников
заполнение круга
заполнение полигонов
Графические контроллеры. Графические процессоры. Видеокарты в персональном компьютере.
Основная функция видеодеоадаптера — преобразование цифрового сигнала, циркулирующего внутри PC, в аналоговые электрические сигналы, подаваемые на монитор. Другими словами, видеоадаптер выполняет роль интерфейса между компьютером и устройством отображения информации (монитором).
Интерфейс между компьютером и устройством отображения — было единственным назначением первых видеоадаптеров (MDA, CGA, HGC, EGA, VGA). Однако по мере развития PC на видеоадаптер стали возлагаться дополнительные обязанности: аппаратное ускорение 2D- и 3D-графики, обработка видеосигналов, прием телевизионных сигналов и многое другое. Для решения этих задач в состав видеоадаптера начали включать дополнительные элементы, в результате чего современный видеоадаптер, часто именуемый Super VGA или SVGA, превратился в мощное универсальное графическое устройство.
В настоящее время видеоадаптеры подключаются через локальную шину AGP (Accelerated Graphics Port). Разрядность — 64 бит. На частоте 66 МГц обеспечивала скорость обмена 528 Мбайт/с. Сейчас AGP работает и на более высоких частотах. Шина AGP была разработана для повышения скорости обмена данными между видеоадаптером и оперативной памятью в сравнении с возможностями шины PCI.
Современные видеоадаптеры представляют собой сложные электронные устройства. Кроме видеопамяти, на плате видеоадаптера (сейчас его часто называют видеокартой) располагается мощный специализированный графический процессор, который по сложности уже приближается к центральному процессору. Кроме визуализации содержимого видеопамяти графический процессор видеоадаптера выполняет как относительно простые растровые операции — копирование массивов пикселов, манипуляции с цветами пикселов, так и более сложные. Там, где ранее использовался исключительно центральный процессор, в данное время все чаще применяется графический процессор видеоадаптера, например, для выполнения операций графического вывода линий, полигонов. Первые графические процессоры видеоадаптеров выполняли преимущественно операции рисования плоских элементов. Современные графические процессоры выполняют уже много базовых операций 3D-графики, например, поддержку Z-буфера, наложение текстур и тому подобное. Видеоадаптер выполняет эти операции аппаратно, что позволяет намного ускорить их в сравнении с программной реализацией данных операций центральным процессором. Так появился термин графические акселераторы.
Быстродействие таких видеоадаптеров часто измеряется в количестве графических элементов, которые рисуются за одну секунду. Современные графические акселераторы способны рисовать миллионы треугольников за секунду. Возможности графических акселераторов сейчас активно используются разработчиками компьютерных игр.
Широка номенклатура видеоадаптеров для персональных компьютеров. Несколько примеров. Видеоадаптеры Matrox (качественная двумерная графика), NVidia GeForce (игровые 3D-акселераторы), 3Dlabs Wildcat (для профессионального 3D-моделирования).
