
3. Компьютерная анимация
Компьютерная анимация - это получение движущихся изображений на экране дисплее. Художник создает на экране рисунке начального и конечного положения движущихся объектов, все промежуточные состояния рассчитывает и изображает компьютер, выполняя расчеты, опирающиеся на математическое описание данного вида движения. Полученные рисунки, выводимые последовательно на экран с определенной частотой, создают иллюзию движения. Мультимедиа - это объединение высококачественного изображения на экране компьютера со звуковым сопровождением. Наибольшее распространение системы мультимедиа получили в области обучения, рекламы, развлечений.
Любая компьютерная анимация выполняется обычно следующим образом: вносятся изменения в изображение на экране с быстротой, достаточной для того, чтобы последовательность изображений казалась движущейся картинкой. По научным данным, для того, чтобы успеть увидеть и осознать содержание изображения, человеческому мозгу необходимо не менее четверти секунды. Когда вы смотрите фильм в кинотеатре, вы видите 24 разных изображений, или кадров каждую секунду. Каждый кадр показывается в течении 1/24 секунды. Ваш ум не успевает осознать отдельно взятый кадр, он воспринимает движущуюся картинку. Компьютерная анимация работает по тем же принципам. Большинство современных компьютеров неспособно показывать 24 полноэкранных изображения в секунду, но приемлемое качество может быть получено и при существенно меньшей скорости. Уловка состоит в показе максимально возможного числа кадров и сокращения до минимума времени на перерисовку кадра. Общее впечатление сильно ухудшается, если пользователь может видеть, как перерисовываются кадры.
Лучший эффект анимации на компьютере достигается при использовании ДВОЙНОГО БУФЕРА - способа, который известен также под названием ПЕРЕКЛЮЧЕНИЯ ВИДЕОСТРАНИЦ. Использование двойного буфера сводит время перерисовки экрана к абсолютному минимуму - к 1/60 секунды или к тому времени, которое требуется электронному лучу монитора для прохождения всего экрана. Программы, использующие двойной буфер, работают одновременно с двумя видеобуферами, только один из которых виден пользователю в произвольно взятый момент времени. Все перерисовки осуществляются в том буфере, который в данный момент не виден. Когда новое изображение создано на скрытом буфере, программа переключает состояние буферов, делая скрытый до этого момента буфер видимым, а видимый - скрытым (как бы меняя их местами). Когда такое переключение произошло, новое изображение появляется мгновенно. Не имеет значения сколько по времени занимает генерация каждого кадра в компьютере, пользователь программы видит только конечный результат, и изменения протекают гладко от одного кадра к последующему.
Одна из первых программ, использующая двойной буфер на IBM PC, была Microsoft Flight Simulator. Если вы обладаете ее копией, то запустите ее и понаблюдайте, как быстро происходит перерисовка экрана (не число кадров в секунду, которое невелико, а время перерисовки между кадрами). Новые изображения не вырисовываются прямо на экране, они только появляются. Небольшая пауза между кадрами требуются программе на построение нового изображения в скрытом буфере.
Существуют и другие способы компьютерной анимации. Например, на видеоадаптерах, обладающих палитрой, течение лавы может быть сымитировано весьма эффективно перепрограммированием палитры между кадрами. Этот метод очень быстр, так как перепрограммируя один регистр палитры, видеоадаптер меняет цвет каждого соответствующего ему пикселя на экране в мгновение ока. Анимация, использующая палитру, интересна, но ее применение ограничено, и становится все более редким с приходом все большего числа видеоадаптеров, использующих 24-x битный режим цвета. Ввиду сказанного, мы остановимся на рассмотрении двух наиболее используемых форм анимации: двойной буферизации и масковой анимации.
По принципу анимирования можно выделить несколько видов компьютерной анимации:
1. Анимация по ключевым кадрам. Расстановка ключевых кадров производится аниматором. Промежуточные же кадры генерирует специальная программа. Этот способ наиболее близок к традиционной рисованной анимации, только роль фазовщика берет на себя компьютер, а не человек.
2. Запись движения. Данные анимации записываются специальным оборудованием с реально двигающихся объектов и переносятся на их имитацию в компьютере. Распространённый пример такой техники -- Motion capture (захват движений). Актеры в специальных костюмах с датчиками совершают движения, которые записываются камерами и анализируется специальным программным обеспечением. Итоговые данные о перемещении суставов и конечностей актеров применяют к трёхмерным скелетам виртуальных персонажей, чем добиваются высокого уровня достоверности их движения.
3. Процедурная анимация полностью или частично рассчитывается компьютером.
Сюда можно включить следующие её виды:
· симуляция физического взаимодействия твёрдых тел;
· имитация движения систем частиц, жидкостей и газов;
· имитация взаимодействия мягких тел (ткани, волос);
· расчёт движения иерархической структуры связей (скелета персонажа) под внешним воздействием;
· имитация автономного (самостоятельного) движения персонажа.
4. Программируемая анимация. Широкое применение в сети получили два языка, с помощью которых программируются движения анимируемых объектов:
Ш Java-Script - браузерный язык
Ш Action-Script - язык работы с приложениями Flash
Преимущество программируемой анимации - в уменьшении размера исходного файла, недостаток - нагрузка на процессор клиента.
Хранение. Компьютерная анимация может храниться в универсальных графических файлах (например, в формате GIF) в виде набора независимых изображений, либо в специализированных файлах соответствующих пакетов анимации (3ds Max, Blender, Maya и т. п.) в виде текстур и отдельных элементов, либо в форматах, предназначенных для просмотра (FLIC (англ.)) и применения в играх (Bink). Также, анимация может сохраняться в форматах, предназначенных для хранения видео (например, MPEG-4).
Применение. Компьютерная анимация (последовательный показ слайд-шоу из заранее подготовленных графических файлов, а также компьютерная имитация движения с помощью изменения и перерисовки формы объектов или показа последовательных изображений с фазами движения, подготовленных заранее или порождаемых во время анимации) может применяться в компьютерных играх, мультимедийных приложениях (например, энциклопедиях), а также для «оживления» отдельных элементов оформления, например, веб-страниц и рекламы (анимированные баннеры). На веб-страницах анимация может формироваться средствами стилей (CSS) и скриптов (JavaScript) или модулями, созданными с помощью технологии Flash или её аналогов (флеш-анимация).
Заключение
Работа с компьютерной графикой - одно из самых популярных направлений использования персонального компьютера, причем занимаются этой работой не только профессиональные художники и дизайнеры. На любом предприятии время от времени возникает необходимость в подаче рекламных объявлений в газеты и журналы или в выпуске рекламной листовки или буклета.
“Лучше один раз увидеть, чем сто раз услышать”, - гласит народная пословица. Применение графики не только увеличивает скорость восприятия информации и повышает уровень ее понимания, но и способствует развитию таких важных для специалиста любой деятельности качеств, как интуиция, творческое образное мышление, необходимых для самореализации личности в познании, труде, научной, художественной и других видах деятельности.
Без компьютерной графики не обходится ни одна современная мультимедийная программа. Работа над графикой занимает до 90% рабочего времени программистских коллективов, выпускающих программы массового применения.
Необходимость широкого использования графических программных средств стала особенно ощутимой с развитием Интернета и, в первую очередь, благодаря службе World Wide Web , связавшей в единую “паутину” миллионы отдельных “домашних страниц”.