
- •Часть 1
- •Содержание
- •1 Цель работы
- •2 Зрительное восприятие быстрой смены образов
- •3 Практическое задание
- •4 Синтез динамических эффектов с анализом возможности
- •5 Практическое задание по модификации алгоритма
- •6 Анализ взаимодействия и свойств объектов
- •7 Практическое задание
- •1 Цель работы
- •2 Динамические эффекты с корректировками по условиям
- •3 Практическое задание по модификации алгоритма "Волны"
- •4 Динамические эффекты с анализом состояния процесса
- •6 Синтез простых трехмерных динамических образов
- •7 Практическое задание по модификации алгоритма
- •8 Моделирование динамического процесса с анализом
- •9 Практическое задание
- •1 Цель работы
- •2 Процедуры перемещения и масштабирования фигур
- •3 Практическое задание по отображению сложного движения
- •4 Отслеживание положения и ориентации объекта
- •5 Практическое задание по моделированию движения
- •6 Модификация контурного изображения
- •7 Практическое задание
- •8 Мультипликация с чередованием видеостраниц
- •9 Практическое задание
- •1 Цель работы
- •2 Мультипликация чередованием набора образов
- •3 Практическое задание
- •4 Работа с набором взаимодействующих образов
- •3 Практическое задание
- •Часть 1
Министерство общего и профессионального образования
Российской Федерации
Уфимский государственный авиационный
технический университет
Кафедра технической кибернетики
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
к лабораторным работам
по курсу "Интерактивная машинная графика"
для подготовки инженеров по специальности 220200 "Автоматизированные системы обработки информации и управления"
Часть 1
"Синтез графических образов простыми средствами"
Уфа 1997
Составитель: О.В. Трушин
УДК 681.3.06
Методические указания к лабораторным работам по курсу
"Интерактивная машинная графика" для подготовки инженеров
по специальности 220200 "Автоматизированные системы обработки информации и управления" Часть 1. "Синтез графических образов простыми средствами" / Уфимск. гос. авиац. техн. унив-т;
Сост. О.В. Трушин. - Уфа, 1997. - 34 с.
Приведены задания для лабораторных работ по первой части курса "Интерактивная машинная графика", где рассматривается ряд классических, а также авторских методик и принципов программирования двумерных графических образов с использованием простых алгоритмов. Приводимые алгоритмы реализованы на языке Turbo-Pascal_7 в форме, позволяющей при необходимости легко адаптировать их для других систем программирования.
Ил. 15. Библиогр.: 10 наимен.
Рецензенты: В. Н. Мукасеева
М. Е. Сидоров
Содержание
Стр.
Лабораторная работа № 1.
Приемы синтеза динамических образов на плоскости ................. 4
Лабораторная работа № 2.
Синтез сложных динамических образов ....................................... 9
Лабораторная работа № 3.
Простые приемы мультипликации ................................................ 17
Лабораторная работа № 4.
Мультипликация с запоминанием части экрана .......................... 26
Список литературы ............................................ .......................... 31
Приложение А
Типовые графические функции BGI ............................................. 32
Лабораторная работа № 1
Приемы синтеза динамических образов
на плоскости
1 Цель работы
Практическое освоение типовых приемов синтеза динамических графических образов на примере создания программ управления движением набора простых графических объектов.
2 Зрительное восприятие быстрой смены образов
Синтез динамических эффектов на экране монитора проводится чередованием набора образов, в той или иной степени моделирующим моменты какого-либо реального физического процесса. При этом для достижения приемлемых результатов следует учитывать психофизические особенности восприятия глазом быстрой смены образов, а также принципы и особенности формирования образов на экране монитора.
Приводимые ниже две программы создания эффектов мерцания позволяют понять некоторые из этих принципов.
Uses Сrt, Graph;
Var Gx,Gy, Gd,Gm, x,y, x1,y1 ,i :integer;
begin
Gd:=detect; InitGraph(Gd,Gm,'c:\tp7\bgi');
Gx:=GetMaxX; Gy:=GetMaxY; randomize;
{------------------------------------------------------------------------------------
"Небо в алмазах" -
генератор точек с гашением в их окрестности набора точек
--------------------------------------------------------------------------------------}
Repeat i:=random(7)+9; x:=random(Gx); y:=random(Gy);
Putpixel(x,y,i);
for i:=0 to random(900) do
Putpixel(x-15+random(31),y-15+random(31),0)
Until KeyPressed; ReadKey; Cleardevice;
{---------------------------------------------------------------------------------------
"Мерцание" -
последовательно высвечиваются и гасятся две случайные точки, из-за инерционности зрения возникает эффект мерцающего набора точек
-------------------------------------------------------------------------------------------------------}
Repeat i:=random(7)+9; x1:=x; x:=random(Gx);
y1:=y; y:=random(Gy);
Putpixel(x,y,i);
delay(100); Putpixel(x1,y1,0) Until KeyPressed;
CloseGraph end.