Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив2 / курсовая docx17 / Moya_kursovaya (2).docx
Скачиваний:
30
Добавлен:
07.08.2013
Размер:
2.62 Mб
Скачать

«Северный (Арктический) Федеральный Университет имени м.В. Ломоносова»

Кафедра информационных технологий

(наименование кафедры)

ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ

по

Компьютерной геометрии и графике

(наименование дисциплины)

студенту

ИМИКТ

3

курса

3

группы

Вингерцеву Олег Игоревичу

(фамилия, имя, отчество студента)

ТЕМА:

Альфа-смешение

ИСХОДНЫЕ ДАННЫЕ:

Данные согласно теме работы

Срок проектирования с

«

»

2012 г. по

«

»

2012 г.

Руководитель проекта

ст. преп.

В.А. Колесов

(должность)

(подпись)

(и.о. фамилия)

ЛИСТ ЗАМЕЧАНИЙ

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ

5

1 ПОСТАНОВКА ЗАДАЧИ

7

2 ОПИСАНИЕ ИСПОЛЬЗУЕМЫХ АЛГОРИТМОВ

10

2.1 Преобразование координат

10

2.2 Алгоритм удаления невидимых граней

11

2.3 Определение лицевых и не лицевых граней с помощью вектора нормали

12

2.4 Закраска трехмерного объекта с использованием простой модели освещения

13

3 ОПИСАНИЕ ПРОГРАММЫ

15

3.1 Введенные типы данных и их предназначение

15

3.2 Основные переменные и их предназначение

15

3.3 Описание основных процедур и функций

16

3.4 Алгоритм взаимодействия процедур и функций

17

4 ТЕСТИРОВАНИЕ ПРОГРАММЫ

18

4.1 Описание интерфейса

18

4.2 Руководство по использованию программы

19

4.3 Результат

20

ЗАКЛЮЧЕНИЕ

23

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

24

ПРИЛОЖЕНИЕ А. Листинг основных компонентов

25

ВВЕДЕНИЕ

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

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

Растровая графика всегда оперирует двумерным массивом (матрицей) пикселей. Каждому пикселю сопоставляется значение - яркости, цвета, прозрачности - или комбинация этих значений. Растровый образ имеет некоторое число строк и столбцов. Без особых потерь растровые изображения можно только лишь уменьшать, хотя некоторые детали изображения тогда исчезнут навсегда, что иначе в векторном представлении, при увеличении наблюдается пиксельная сетка. В растровом виде представимо любое изображение, однако этот способ хранения имеет свои недостатки: больший объём памяти, необходимый для работы с изображениями, потери при редактировании.

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

Трёхмерная графика оперирует с объектами в трёхмерном пространстве. Обычно результаты представляют собой плоскую картинку, проекцию. В трёхмерной компьютерной графике все объекты обычно представляются как набор поверхностей или частиц. Минимальную поверхность называют полигоном. В качестве полигона обычно выбирают треугольники. Любой полигон можно представить в виде набора из координат его вершин. Так, у треугольника будет 3 вершины. Координаты каждой вершины представляют собой вектор (x, y, z). Умножив вектор на соответствующую матрицу (поворота/сдвига/масштабирования), мы получим новый вектор. Сделав такое преобразование со всеми вершинами полигона, получим новый полигон, а преобразовав все полигоны, получим новый объект. В данной работе предстоит создать трехмерную сцену посредством Microsoft Visual Studio, а конкретнее с помощью программирования на языке высокого уровня C#.

Соседние файлы в папке курсовая docx17