Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




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

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

Первой официально признанной попыткой использования дисплея для вывода изображения из ЭВМ явилось создание в Массачусетском технологическом университете машины Whirlwind-I в 1950 г. Таким образом, возникновение компьютерной графики можно отнести к 1950-м годам. Сам же термин "компьютерная графика" придумал в 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). Все эти исследователи очень сильно продвинули алгоритмическую сторону компьютерной графики.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Первую группу устройств, с помощью которых пользователь может указать позицию на экране, назовем устройствами указания (pointing device): мышь, трекбол (trackball), световое перо (lightpen), джойстик (joystick), спейсбол (spaceball). Практически все устройства этой группы оснащены парой или несколькими кнопками, которые позволяют сформировать и передать в компьютер какие-либо сигналы или прерывания.


Рис. 1.1. Мышь


Рис. 1.2. Трекбол

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

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

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

Рис. 1.3. Световое перо

Ветераном среди устройств ввода в компьютерной графике является устройство, названное при его создании световым пером. Впервые оно появилось в уже упомянутом проекте А.Сазерленда Sketchpad. Световое перо содержит фоточувствительный элемент (рис. 1.3), который при приближении к экрану воспринимает излучение, порождаемое при столкновении электронов с люминофорным покрытием экрана. Если мощность светового импульса превышает определенный порог, фоточувствительный элемент формирует импульс, который передается в компьютер. Анализируя смещение по времени этого импульса относительно начала цикла регенерации, компьютер может точно определить координаты той точки экрана, возбуждение которой "высветило" фотоэлемент. Таким образом, в распоряжении пользователя оказывается устройство непосредственного указания, работающее напрямую с изображением на экране. В настоящее время это устройство уже практически вышло из употребления: оно вытеснено более простым и надежным - мышью.

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


Рис. 1.4. Джойстик


Рис. 1.5. Спейсбол

Спейсбол - это "трехмерное" устройство ввода. Хотя и существуют различные конструкции таких устройств, они все еще не получили широкого распространения, поскольку проигрывают популярным двумерным устройствам как по стоимости, так и по техническим характеристикам. Спейсбол похож на джойстик, но отличается от него тем, что он имеет вид закрепленного на рукоятке шара, причем рукоятка в этой конструкции неподвижна (рис. 1.5). Шар имеет датчики давления, которые измеряют усилие, прикладываемое пользователем. Шар может измерять не только составляющие усилия в трех основных направлениях (сверху вниз, от себя или на себя, влево-вправо), но и вращение относительно трех осей. Таким образом, это устройство способно передавать в компьютер шесть независимых параметров (т. е. имеет шесть степеней свободы), характеризующих как поступательное движение, так и вращение.

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


Рис. 1.6. Перчатка для ввода данных


Рис. 1.7. Планшет

При использовании мыши или трекбола анализируется относительное положение устройства. Если переместить указатель на экране каким-либо способом в другое место, не вращая при этом шарик мыши или трекбола, то дальнейшие сигналы будут смещать указатель относительно новой позиции. Можно также аккуратно переместить мышь без вращения шарика и это не приведет к перемещению курсора на экране. Абсолютные координаты устройства не считываются обрабатывающей программой. Но при вводе в компьютер графиков прикладной программе зачастую требуются абсолютные координаты устройства ввода. Такую возможность обеспечивают разного рода планшеты (рис. 1.7). В планшете применяется, как правило, ортогональная сетка проводов, расположенная под его поверхностью. Положение пера определяется через электромагнитное взаимодействие сигналов, проходящих от проводов к щупу. Иногда в качестве планшета используются чувствительные к прикосновению прозрачные экраны, которые наносятся на поверхность ЭЛТ. Небольшие экраны такого типа размещаются иногда на клавиатуре портативных компьютеров. Чувствительные панели можно использовать в режимах как абсолютных, так и относительных координат.

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

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





Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 1020; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.047 сек.