Курс лекций по компьютерной геометрии и графике
  256Компьютерная графикаКГиГЛабораторная работа № 2

Лабораторная работа № 2

Страницы: 1 2 3 4 5 6

Лабораторная работа 2

ЦЕЛЬ РАБОТЫ: Изучение методов преобразований двухмерных графических объектов, связанных с их перемещением и деформацией, приобретение навыков использования средств преобразований при составлении графических программ.

1. Введение

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

2. Кодирование объектов для задач преобразования

Двухмерные объекты будут определяться с помощью k- точек (x[i],y[i], i=1…k), которые определяют k-1 отрезков прямых. Отрезок номер j соединяет точки (x[j],y[j]) и (x[j+1],y[j+1]). Если (x[0],y[0])=(x[k-1],y[k-1]), то объект замкнут.

3. Вращение плоских объектов

Объект, определенный так, может быть повернут в пространстве вокруг произвольной оси, что приведет к созданию нового массива из k элементов (нового объекта), который тоже может быть вычерчен соединением тех же точек. Если этот же поворот выполняется последовательно на один и тот же угол на каждое изменение кадра, то создается эффект вращения плоского объекта в трехмерном пространстве.

4. Деформация плоских объектов

Два плоских объекта определяются двумя множествами вершин: {x1[k],y1[k],k=1..n}, {x2[k],y2[k],k=1..n}. Первый объект вычерчивается в первом кадре, второй- в (m+1)- м. Промежуточные m кадров постепенно изменяют очертания объекта, преобразуя его из одной формы в другую. Пусть соответствующие пары определяющих вершин преобразуются из одного вида в другой вдоль прямой: k-я вершина объекта 1 в k-ю вершину объекта 2. Тогда промежуточные фигуры определяются множеством: {x[k],y[k] k=1…n}, где в первом кадре (x[k],y[k])=(1-t)*(x1[k],y1[k])+t*(x2[k],y2[k]), t=(i-1)/m.
В каждом кадре объект вычерчивается соединением определяющих вершин отрезками прямых.

5. Порядок выполнения работы

5.1 Ознакомиться по методическим указаниям и литературе с методами преобразования двухмерных графических объектов.
5.2 Составить на языке Паскаль программу вращения графика функции согласно варианту задания из табл. 2. (прил. 2.4).
5.3 Составить функцию для деформации графика согласно варианту задания из табл. 2. Результирующий график, полученный по окончанию процесса деформации, должен соответствовать номеру варианта +1 из того же приложения (для варианта 15-номер 1)

Таблица 2

Варианты заданий

№ варианта График функции Диапазон
1 Sin(x) 0 ... ?
2 Ctg(x) 0... ?/2 – ?/1000, ?/2 + ?/1000 ... 0
3 Sin(2x) 0 ... ?
4 Ln(x) 0 ... ?
5 Cos(3x) 0 ... ?
6 Tg(x/2) ?/1000 ... ? – ?/1000
7 Sin(x/2) 0 ... ?
8 ex/6 0 ... ?
9 Cos(2x) 0 ... ?
10 Tg(x/3) ?/1000 ... ? – ?/1000
11 Cos(x/2) 0 ... ?
12 x2/4 0 ... ?
13 Sin(3x) 0 ... ?
14 Ctg(x/2) 0... ?/2 – ?/1000, ?/2 + ?/1000 ... 0
15 Cos(x) 0 ... ?

5.4 Отладить программу в среде Турбо Паскаль 7.0.

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

6.1 Сущность и назначение задач преобразования объектов
6.2 Методы решения задач с преобразованием объектов.
6.3 Алгоритмы выполнения задач преобразования

Страницы: 1 2 3 4 5 6

Рекламный блок

Информационный блок