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



Анимация


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

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

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

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



  • Содержание  Назад  Вперед