Основы современных компьютерных технологий

         

Анимация


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

391

В основе перемещения какого-либо объекта на экране лежит следующий алгоритм:

  • вывести объект на экран;
  • стереть объект с экрана;
  • вывести с некоторым смещением другой вариант объекта и т.д.
  • При частом выводе объекта с небольшими смещениями создается иллюзия движения.

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

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

  • Program Ball;
  • Uses Graph, Crt;
  • Label 10,100;
  • Const bxi=300; byi=200; bri=10; bci=4;


  • Var DriverVar, ModeVar:integer;
  • xm.ym :integer;
  • bx,by,br,bc :integer;
  • dx :integer;
  • Begin
  • DriverVar:=Detect;
  • lnitGraph(DriverVar, Modevar,'');
  • xm:=GetMaxX; ym:=GetMaxY;
  • bx:=bxi; by:=byi; br:=bri; bc:=bci;
  • dx:=+1;
  • SetColor(bc);
  • Circle(bx,by.br);
  • 10: SetColor(GetBKColor); Circle(bx,by,br);
  • bx:=bx+dx; by:=by;
  • if bx>=xm-brthen dx:=-1;
  • if bx

  • SetColor(bc); Circle(bx,by,br);
  • if KeyPressed then goto 100;
  • goto 10;
  • 100:
  • SetColor(GetMaxColor);
  • CloseGraph;
  • End.
  • 392

    Контрольные вопросы

  • Чем отличается векторная графика от растровой?
  • Что такое графический примитив?
  • Как зависит вывод графического изображения от разрешающей способности устройства вывода?
  • Каким образом осуществляется масштабирование растровых и векторных изображений?

  • Как происходит смешение цветов в компьютере?


  • Охарактеризуйте основные схемы сжатия изображений.


  • Назовите виды проекции изображений.


  • Перечислите основные виды преобразования точки на плоскости.


  • Охарактеризуйте способы формирования текстуры.


  • Для чего необходимо подключение драйверов монитора при программировании графики?


  • При помощи каких операторов выполняется инициализация графического режима?


  • Каким образом осуществляется переключение между текстовым и графическим режимами?


  • Какие особенности имеет координатная сетка экрана в графическом режиме?


  • Что такое текущий указатель?


  • Какие особенности имеет анимационная программа?


  • Каким образом производится управление цветом и стилем выводимых геометрических фигур и текста?


  • Что такое видеостраница?


  • Индивидуальные задания

  • Составить программу сжатия текстового файла одним из описанных в книге методов.


  • Составить программу отображения вращения графического примитива: а) плоского, б) объемного.


  • Составить программу отображения вращения спутника вокруг земли.


  • Составить программу расстановки шахматных фигур для заданной партии. Образцы фигур выбираются из меню; координаты расстановки задаются курсором: а) с помощью клавиатуры, б) с помощью мыши.


  • Составить программу, моделирующую распознования фигур в поле объектива: а) плоских (круга, прямоугольника, треугольника); б) объемных (шара, куба, пирамиды).


  • 393

    Литература

  • Алиев В.Э. Обработка графической информации на ПЭВМ. - М.: МФТИ, 1997. - 506с.


  • Бородин Ю.С., Вольвачев А.В., Кузьмич А.И. Паскаль для персональных компьютеров: Справ, пособие. - Минск; Выш. шк.: БФ ГИТМП "НИКА", 1991. - 365с.


  • Валъвачев А.Н. Графическое программирование на языке Паскаль: Справ, пособие. - Минск: Выш. шк., 1992. - 143 с.


  • Григорьев В.Л. Видеосистемы ПК фирмы IBM. - М.: Радио и связь, 1993. - 192 с. З.КорршанДж. Компьютерная графика: Секреты и решения: Пер с англ. - М.: Энтроп, 1995.-352с.


  • Программирование на языке TURBO PASCAL/ Учебн. пособие под ред. Б.С. Богумирского и А.Д.Хомоненко. - СПб.: ВИККА им. А.Ф. Можайского, 1994. - 326 с.


  • Шикин Е.В., БоресковА. В. Компьютерная графика. Динамика, реалистические изображения. - М.: "ДИАЛОГ-МИФИ", 1995. - 288 с.


  • 394

    391 :: 392 :: 393 :: 394 :: Содержание


    Содержание раздела