Технические средства поддержки компьютерной графики 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Технические средства поддержки компьютерной графики

Поиск

Краткая история

В этом кратком историческом очерке мы будем упоминать алгоритмы и методы, с которыми читатель сможет познакомиться в данном курсе. Эти предварительные упоминания не должны смущать при первом прочтении. По завершении курса можно вернуться к этому разделу и пройти его заново.

Компьютерная графика в начальный период своего возникновения была далеко не столь эффектной, какой она стала в настоящие дни. В те годы компьютеры находились на ранней стадии развития и были способны воспроизводить только самые простые контуры (линии). Идея компьютерной графики не сразу была подхвачена, но ее возможности быстро росли, и постепенно она стала занимать одну из важнейших позиций в информационных технологиях.

Первой официально признанной попыткой использования дисплея для вывода изображения из ЭВМ явилось создание в Массачусетском технологическом университете машины Whirlwind‑I в 1950 г. Таким образом, возникновение компьютерной графики можно отнести к 50-м годам. Сам же термин «компьютерная графика» придумал в 1960 г. сотрудник компании Boeing У. Феттер.

Первое реальное применение компьютерной графики связывают с именем Дж. Уитни. Он занимался кинопроизводством в 50‑х—60‑х годах и впервые использовал компьютер для создания титров к кинофильму.

Следующим шагом в своем развитии компьютерная графика обязана Айвэну Сазерленду, который в 1961 г., еще будучи студентом, создал программу рисования, названную им Sketchpad (альбом для рисования). Программа использовала световое перо для рисования простейших фигур на экране. Полученные картинки можно было сохранять и восстанавливать. В этой программе был расширен круг основных графических примитивов, в частности, помимо линий и точек был введен прямоугольник, который задавался своими размерами и расположением.

Первоначально компьютерная графика была векторной, т. е. изображение формировалось из тонких линий. Эта особенность была связана с технической реализацией компьютерных дисплеев. В дальнейшем более широкое применение получила растровая графика, основанная на представлении изображения на экране в виде матрицы однородных элементов (пикселей).

В том же 1961 г. студент Стив Рассел создал первую компьютерную видеоигру Spacewar (Звездная война), а научный сотрудник Bell Labs Эдвард Зэджек создал анимацию «Simulation of a two-giro gravity control system».

В связи с успехами в области компьютерной графики крупные корпорации начали проявлять к ней интерес, что в свою очередь стимулировало прогресс в области ее технической поддержки.

Университет штата Юта становится центром исследований в области компьютерной графики благодаря Д. Эвансу и А. Сазерленду, которые в это время были самыми заметными фигурами в этой области. Позднее их круг стал быстро расширяться. Учеником Сазерленда стал Э. Кэтмул, будущий создатель алгоритма удаления невидимых поверхностей с использованием Z-буфера (1978). Здесь же работали Дж. Варнок, автор алгоритма удаления невидимых граней на основе разбиения области (1969) и основатель Adobe System (1982), Дж. Кларк, будущий основатель компании Silicon Graphics (1982). Все эти исследователи очень сильно продвинули алгоритмическую сторону компьютерной графики.

В 60-е годы трехмерная графика была еще не очень реалистичной. Имитация объемности достигалась с помощью затенения плоских граней, причем алгоритмы были таковы, что в результате очень хорошо были видны линии стыковки граней. Избавиться от этого эффекта можно было за счет увеличения числа граней, но это требовало больших вычислительных ресурсов, что затрудняло реализацию алгоритмов на компьютерах того времени. В 1971 г. А. Гуро разработал метод изображения гладких поверхностей с использованием интерполяции интенсивности света, вошедший в историю графики под названием метода Гуро. Но этот метод, хотя и сглаживал в некоторой степени изображение, но еще не позволял избавиться полностью от эффекта видимости ребер. Впоследствии в 1975 г. с этой задачей справился Фонг, используя вместо интерполяции интенсивности интерполяцию нормалей к поверхности, но этот алгоритм требовал значительно больших вычислительных ресурсов.

В том же 1971 г. Гольдштейн и Нагель впервые реализовали метод трассировки лучей с использованием логических операций для формирования трехмерных изображений.

В 70-е годы произошел резкий скачок в развитии вычислительной техники благодаря изобретению микропроцессора, в результате чего началась миниатюризация компьютеров и быстрый рост их производительности. И в это же время начинает интенсивно развиваться индустрия компьютерных игр. Одновременно компьютерная графика начинает широко использоваться на телевидении и в киноиндустрии. Дж. Лукас создает отделение компьютерной графики на Lucasfilm.

В 1977 г. появляется новый журнал «Computer Graphics World».

В середине 70-х годов графика продолжает развиваться в сторону все большей реалистичности изображений. Э. Кэтмул в 1974 г. создает первые алгоритмы текстурирования криволинейных поверхностей. В 1975 г. появляется упомянутый ранее метод закрашивания Фонга. В 1977 г. Дж. Блин предлагает алгоритмы реалистического изображения шероховатых поверхностей (микрорельефов), Ф. Кроу разрабатывает методы устранения ступенчатого эффекта при изображении контуров (антиэлайзинг). Дж. Брезенхем создает эффективные алгоритмы построения растровых образов отрезков, окружностей и эллипсов. Уровень развития вычислительной техники к этому времени уже позволил использовать «жадные» алгоритмы, требующие больших объемов памяти, и в 1978 г. Кэтмул предлагает метод Z‑буфера, в котором используется область памяти для хранения информации о «глубине» каждого пикселя экранного изображения. В этом же году Сайрус и Бэк развивают алгоритмы клиппирования (отсечения) линий. А в 1979 г. Кэй и Гринберг впервые реализуют изображение полупрозрачной поверхности.

В 1980 г. Т. Уиттед разрабатывает общие принципы трассировки лучей, включающие отражение, преломление, затенение и методы антиэлайзинга. В 1984 г. группой исследователей (Горэл, Торрэнс, Гринберг и др.) была предложена модель излучательности, одновременно развиваются методы прямоугольного клиппирования областей.

В 80-е годы появляется целый ряд компаний, занимающихся прикладными разработками в области компьютерной графики. В 1982 г. Дж. Кларк создает Silicon Graphics, тогда же возникает Ray Tracing Corporation, Adobe System, в 1986 г. компания Pixar отпочковывается от Lukasfilm.

В эти годы компьютерная графика уже прочно внедряется в киноиндустрию, развиваются приложения к инженерным дисциплинам. В 90-е годы в связи с возникновением сети Internet у компьютерной графики появляется еще одна сфера приложения.

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

1968, ВЦ АН СССР, машина БЭСМ-6, вероятно, первый отечественный растровый дисплей с видеопамятью на магнитном барабане.

1972, Институт автоматики и электрометрии (ИАиЭ), векторный дисплей «Символ».

1973, ИАиЭ, векторный дисплей «Дельта».

1977, ИАиЭ, векторный дисплей ЭПГ-400.

1982, Киев, НИИ периферийного оборудования, векторный дисплей СМ-7316, 4096 символов, разрешение 2048×2048.

1979–1984, Институт прикладной физики, серия растровых цветных полутоновых дисплеев «Гамма». Последние дисплеи данной серии имели таблицу цветности, поддерживали окна, плавное масштабирование.

Таким образом, в процессе развития компьютерной графики можно выделить несколько этапов.

В 60–70-е годы она формировалась как научная дисциплина. В это время разрабатывались основные методы и алгоритмы: отсечение, растровая развертка графических примитивов, закраска узорами, реалистическое изображение пространственных сцен (удаление невидимых линий и граней, трассировка лучей, излучающие поверхности), моделирование освещенности.

В 80-е графика развивается более как прикладная дисциплина. Разрабатываются методы ее применения в самых различных областях человеческой деятельности.

В 90-е годы методы компьютерной графики становятся основным средством организации диалога «человек — компьютер» и остаются таковыми по настоящее время.

Развитие компьютерной графики во многом обусловлено развитием технических средств ее поддержки. Прежде всего это устройства вывода, каковыми являются дисплеи. В настоящее время существует несколько типов дисплеев, использующих электронно-лучевую трубку, а также дисплеи на жидкокристаллических индикаторах и другие их виды. Нас интересуют главным образом функциональные возможности дисплеев, поэтому мы не будем касаться их внутреннего устройства и электронных схем.

Возникновение компьютерной графики, как уже говорилось ранее, можно отнести к 50‑м годам. Дисплейная графика на первом этапе своего развития использовала электроннолучевые трубки (ЭЛТ) с произвольным сканированием луча для вывода в виде изображения информации из ЭВМ. С эксперимента в Массачусетском технологическом институте начался этап развития векторных дисплеев (дисплеев с произвольным сканированием луча).

Самым простым из устройств на ЭЛТ является дисплей на запоминающей трубке с прямым копированием изображения. Запоминающая трубка обладает свойством длительного времени послесвечения: изображение остается видимым в течение длительного времени (до одного часа). При выводе изображения интенсивность электронного луча увеличивают до уровня, при котором происходит запоминание следа луча на люминофоре. Сложность изображения практически не ограничена. Стирание происходит путем подачи на всю трубку специального напряжения, при котором свечение исчезает, и эта процедура занимает приблизительно 0.5 с. Поэтому изображения, полученные на экране, нельзя стереть частично, а стало быть, динамические изображения или анимация на таком дисплее невозможны. Дисплей на запоминающей трубке является векторным, или дисплеем с произвольным сканированием, т. е. он позволяет провести отрезок из одной адресуемой точки в любую другую. Его достаточно легко программировать, но уровень интерактивности у него ниже, чем у ряда дисплеев других типов ввиду низкой скорости и плохих характеристик стирания.

Следующий тип — это векторные дисплеи с регенерацией изображения. При перемещении луча по экрану в точке, на которую попал луч, возбуждается свечение люминофора экрана. Это свечение достаточно быстро прекращается при перемещении луча в другую позицию (обычное время послесвечения — менее 0.1 с). Поэтому, для того чтобы изображение было постоянно видимым, приходится его «перерисовывать» (регенерировать изображение) 50 или 25 раз в секунду. Необходимость регенерации изображения требует сохранения его описания в специально выделенной памяти, называемой памятью регенерации. Само описание изображения называется дисплейным файлом. Понятно, что такой дисплей требует достаточно быстрого процессора для обработки дисплейного файла и управления перемещением луча по экрану.

Обычно серийные векторные дисплеи успевали 50 раз в секунду строить только около 3000–4000 отрезков. При большем числе отрезков изображение начинает мерцать, так как отрезки, построенные в начале очередного цикла, полностью погасают к тому моменту, когда будут строиться последние.

Другим недостатком векторных дисплеев является малое число градаций по яркости (обычно от двух до четырех). Были разработаны, но не нашли широкого применения двух‑трехцветные ЭЛТ, также обеспечивавшие несколько градаций яркости.

В векторных дисплеях легко стереть любой элемент изображения — достаточно при очередном цикле построения удалить стираемый элемент из дисплейного файла.

Текстовый диалог поддерживается с помощью алфавитно-цифровой клавиатуры. Косвенный графический диалог, как и во всех остальных дисплеях, осуществляется перемещением перекрестия (курсора) по экрану с помощью тех или иных средств управления перекрестием — координатных колес, управляющего рычага (джойстика), трекбола (шаровой рукоятки), планшета и т. д. Отличительной чертой векторных дисплеев является возможность непосредственного графического диалога, заключающаяся в простом указании с помощью светового пера объектов на экране (линий, символов и т. д.).

Векторные дисплеи обычно подключаются к ЭВМ высокоскоростными каналами связи. Первые серийные векторные дисплеи за рубежом появились в конце 60-х годов.

Прогресс в технологии микроэлектроники привел к тому, с середины 70-х годов преимущественное распространение получили дисплеи с растровым сканированием луча. Растровое устройство можно рассматривать как матрицу дискретных точек (пикселей), каждая из которых может быть подсвечена. Таким образом, оно является точечно-рисующим устройством. Поэтому любой изображаемый на экране дисплея отрезок строится с помощью последовательности точек, аппроксимирующих идеальную траекторию отрезка, подобно тому, как можно строить изображение по клеткам на клетчатом листке бумаги. При этом отрезок получается прямым только в случаях, когда он горизонтален, вертикален или направлен под углом 45° к горизонтали. Все другие отрезки выглядят как последовательность «ступенек» (ступенчатый эффект).

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

Чтобы понять принципы работы растровых дисплеев, мы рассмотрим в общих чертах устройство цветной растровой электронно-лучевой трубки. Изображение на экране получается с помощью сфокусированного электронного луча, который, попадая на экран, покрытый люминофором, дает яркое цветовое пятно. Луч в растровом дисплее может отклоняться только в строго определенные позиции на экране, образующие своеобразную мозаику. Люминофорное покрытие тоже не непрерывно, а представляет собой множество близко расположенных мельчайших точек, куда может позиционироваться луч. Дисплей, формирующий черно-белые изображения, имеет одну электронную пушку, и ее луч высвечивает однотонные цветовые пятна. В цветной ЭЛТ находятся три электронных пушки, по одной на каждый основной цвет: красный, зеленый и синий. Электронные пушки часто объединены в треугольный блок, соответствующих треугольным блокам красного, зеленого и синего люминофоров на экране. Электронные лучи от каждой из пушек, проходя через специальную теневую маску, попадают точно на пятно своего люминофора. Изменение интенсивности каждого из трех лучей позволяет получить не только три основных цвета, но и цвета, получаемые при их смешении в разных пропорциях, что дает очень большое количество цветов для каждого пикселя экрана.

Дисплеи на жидкокристаллических индикаторах работают аналогично индикаторам в электронных часах, но, конечно, изображение состоит не из нескольких крупных сегментов, а из большого числа отдельно управляемых точек. Эти дисплеи имеют наименьшие габариты и энергопотребление, поэтому широко используются в портативных компьютерах. Они имеют как преимущества, так и недостатки по сравнению с дисплеями на ЭЛТ. Хотя исторически такой способ вывода изображения появился раньше, чем растровый дисплей с ЭЛТ, но быстро развиваться он начал значительно позднее. Эти дисплеи также являются растровыми устройствами (их тоже можно представить как матрицу элементов — жидких кристаллов).

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

Помимо дисплеев в качестве устройств вывода изображений используются плоттеры (графопостроители), предназначенные для вывода графической информации на бумагу. Ранние графические пакеты были ориентированы именно на модель перьевого плоттера, формирующего изображение с помощью пера. Перо может перемещаться вдоль двух направляющих, соответствующих двум координатным осям, причем оно может находиться в двух состояниях — поднятом и опущенном. В поднятом состоянии оно просто перемещается над поверхностью бумаги, а в опущенном оставляет на бумаге линии, формирующие изображение. Таким образом, плоттер стоит ближе к векторным дисплеям, но отличается от них тем, что стирать выводимые изображения невозможно. Поэтому для них изображение сначала полностью формируется в памяти компьютера, а затем выводится.



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 48; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.146 (0.01 с.)