Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материалы к лекциям по компьютерной графике.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Заключение

С распространением недорогих аппаратных средств для трехмерной графики и стандартизации интерфейса приложений, такого как Direct3D, в течение пары лет использование трехмерной графики станет повсеместным. Можно ожидать широкого применения трехмерной графики в науке и в деловых приложениях с целью отображения сложных структур данных. Трехмерная графика обогатит и традиционные приложения, такие как архитектура и дизайн. Тренажеры могут быть дополнены спецэффектами трехмерной графики для имитации реальной среды. Другими важными областями распространения трехмерной графики являются браузеры для intranet/Internet и содержание Web-страниц. Следует ожидать, что трехмерная графика станет общепринятым компонентом операционных систем и многочисленных приложений для персональных компьютеров.

Лекция 5. Компьютерная анимация

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

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

Одним из форматов, поддерживающих анимацию, является формат GIF.

Формирование анимированных GIF-изображений основано на одном из старейших принципов анимации – быстрой смене картин, слегка отличающихся друг от друга. Как правило, все анимированные GIF-файлы содержат ряд отдельных кадров, при последовательном просмотре которых создается иллюзия движения. Главная проблема состоит в том, что необходимость сохранения последовательности изображений может привести к созданию файлов очень большого размера. Есть несколько стандартных приемов, позволяющих уменьшить размер GIF-изображения. К ним относятся сокращение числа цветов в изображении, числа и размеров кадров, а также отказ от полутонов.

Замедление (или ускорение) анимации

Формат GIF 89A позволяет определять задержку между отдельными кадрами (указывается с шагом в 0,01 с), что дает возможность управлять темпом анимации. Без учета эстетических соображений во многих случаях оказывается, что замедление анимации (или ее ускорение) позволяет снизить общее число кадров в файле.

Например, анимация, содержащая текст, должна оставаться на экране достаточно долго, чтобы зритель без труда смог прочесть его. Можно либо сформировать четыре идентичных кадра, каждый из которых отображается в течение заданного по умолчанию времени (0,2 с), либо сделать один кадр и задать для него точное время задержки 0,8 с. Исключение трех кадров из четырехкадровой анимации приводит к уменьшению размера GIF-файла на 75% без применения других способов оптимизации.

Аналогичный прием может быть применен и в обратном направлении. Зачастую можно создать более правдоподобный эффект движения, снизив для нескольких кадров время задержки до 0,1 с или менее. Чтобы увидеть эту теорию в действии, посмотрите на анимацию со словами "Иллюзия движения", в которой первый кадр отображается в течение 0,6 с, а остальные три – в течение 0,1 с каждый.

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

Отсечение избыточных частей изображения

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

Слои в анимации

Можно получать GIF-файлы поразительно малых размеров, если воспользоваться двумя другими возможностями данного формата: в GIF-файлах допускается наличие прозрачных участков и задание способа перерисовки или очистки каждого кадра анимации. Если создавать анимацию, просто накладывая слои с новым изображением поверх старого, причем допускать просвечивание фрагментов предыдущего кадра, можно формировать кадры с протяженными прозрачными участками. Прозрачные области хорошо упаковываются, поскольку в алгоритме сжатия они рассматриваются как участки сплошного однородного цвета.

Интересные анимации можно создавать, накладывая небольшие изображения на статичный фон. В данном примере три желтые линии появляются на кадрах 13, 15 и 17 для проведения черты вдоль экрана.

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

Уменьшение числа цветов в палитре

Чем меньше цветов в палитре, тем короче файлы. Для хранения небольших палитр требуется меньше места. Так для палитры из 16 цветов требуется только 4 бита, тогда как для палитры из 128 цветов уже 7 битов. Не удивительно, что изображения, составленные из однородно окрашенных участков (особенно текст, логотипы и компьютерная графика), лучше работают с небольшими палитрами. При создании анимированных GIF-изображений не стоит применять фотографии или файлы с градиентной заливкой, поскольку они содержат множество различных цветов, что увеличивает размер палитры.

Создание иллюзии движения

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

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

Работа по созданию aнимационного GIF файла включает в себя два этапа - подготовка кадров и объединение их в анимационный GIF файл. На первом этапе используются графические редакторы CorelDraw, Photoshop и др. На втором - специальная программа для создания GIF анимации, например GifCon, Construction Set, Ulead GIF Animator, Active GIF Creator и др.

Рассмотрим пример.

Kak это сделать. Подготовка кадров в CorelDraw.

Запустите CorelDraw. Откройте новый файл. Введите текст "inet". Для этого нажмите мышью кнопку Text Tool на панели графики, установите курсор в поле документа, нажмите левую кнопку мыши и введите текст.

Отредактируйте введенный текст следующим образом. Выделите редактируемый текст, для че-го нажмите мышью кнопку Pick Tool на панели графики, кликните по редактируемому тексту. С помощью панели свойств установите размер шрифта 36, включите свойства полужирный ( кнопка В ) и курсив ( кнопка I ).

Преобразуйте текст в кривые. Для этого нажмите правой кнопкой мыши на тексте. Выберите в выпадающем меню команду Convert To Curvers. Используйте кнопку Zoom Tool для получения удобного для работы масштаба.

Измените цвет объекта "inet". Для этого предварительно выделив его (кнопка Pick Tool ), вызовите окно градиентной заливки (кнопка Fill Tool на панели графики + Fountain Fill Dialog ). В появившемся окне выберите настройки по своему вкусу, нажмите кнопку ОК.

Сделайте семь копий с полученного обьекта и разместите их последовательно в одну горизонтальную линию. При этом испольуйте команды Edit|Copy и Edit|Paste. Поверните обьекты со второго по восьмой на соответственно 45, 90, 135,180, 225, 270, 315 градусов. Для этого выделив объект вводите в поле Angle of Rotation значение угла поворота. В результате у Вас должна получиться следующая картинка.

Kak это сделать. Создание живой картинки с помощью GifCon32.

Запустите GifCon32. Откройте новый файл с помощью команды File|New. Добавьте в документ модуль Loop. Для этого выполните команду Insert|Loop. Добавьте в документ модуль Image. Для этого выполните команду Insert|Image. В открывшемся окне выберите файл 1.gif и нажмите ОК. В следующем окне установите переключатель в положение Use a local palette for this image и нажмите ОК. Аналогично добавьте остальные семь картинок. Убедитесь, что модули Image расположены в документе последовательно от 1 до 8. Вставьте перед модулем Image1 модуль Control. Для этого выделите в документе модуль Loop и выполните команду Insert|Control. Аналогично вставьте еще семь модулей Control перед остальными модулями Image. В результате долен получиться следующий документ:

HESDER GIF98a Screen (640 x 480) LOOP CONTROL IMAGE 1.gif54 x 32. 256 colors CONTROL IMAGE 2.gif54 x 32. 256 colors . . . . . . CONTROL IMAGE 8.gif54 x 32. 256 colors

Отредактируйте свойства модулей Control. Для этого выделите один из модулей и выполните команду Blok|Edit. В открывшемся окне включите переключатель Transparent color. Нажмите кнопку с указателем и в открывшемся окне кликните мышью в картинке по тому цвету, который должен стать прозрачным ( белый цвет фона ). В строке Remove by установите Background. В поле Delay установите значение 20. Нажмите кнопку ОК. Проделайте тоже самое с остальными модулями Control. Отредактируйте свойства модулей Image. Для этого выделите первый модуль и выполните команду Blok|Edit. Установите свойства Image left и Image top - соответственно 0 и 40. Нажмите кнопку ОК. Проделайте тоже самое с остальными модулями Image, установив следующие значения: Image2 - 7/3, Image3 - 40/0, Image4 - 3/7, Image5 - 0/40, Image6 - 7/3, Image7 - 40/0, Image8 - 3/7.

Нажмите кнопку View для просмотра результатов своей работы.

Чтобы отменить показ - нажмите правую кнопку мыши. Сохраните файл, а затем откройте его с помощью брoузера. Для уменьшения размеров полученного Gif файла воспользуйтесь программой сжатия, например SmartSaver Pro или Advanced GIF Optimizer или Web Graphics Optimizer .