Анимация
Программы, которые строят, перемещают и изменяют форму различных изображений на экране, называются анимационными. Такие программы, как правило, требуют применения достаточно сложных алгоритмов и используют большой объем памяти для хранения данных.
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 :: Содержание
Содержание раздела