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


Анимация


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

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

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

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



  5. - Начало -  - Назад -  - Вперед -