Курсовая работа: Построение трехмерной модели вазы

Содержание

1. Постановка задачи

2. Описание используемых алгоритмов

2.1 Построение перспективной проекции

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

Возможно вы искали - Реферат: Компьютерный анализ текста

2.3 Алгоритм получения изменений формы и движения объекта

3. Описание программы

3.1 Обобщенная структурная диаграмма программы

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

3.3 Введенные основные переменные и их предназначение

Похожий материал - Курсовая работа: Комплексная защита информации

3.4 Текстовое описание основных процедур и функций и их блок-схемы

3.5 Алгоритм взаимодействия процедур

4. Тестирование программы

Список литературы

Приложение

проекция алгоритм диаграмма переменная


1. Постановка задачи

Очень интересно - Реферат: Язык Paskal. Основные элементы языка. Структура программы

Целью данной работы является построение трехмерной модели вазы. Моделируемая сцена представляет собой поверхность, образованную полигонами. Координатная модель представляет собой набор координат нескольких окружностей различных радиусов, центром лежащими на вертикальной оси вазы и координаты центра дна вазы.

Для каркасного изображения вазы можно рисовать сетку параллелей и меридианов. Для этого удобно воспользоваться известными формулами параметрического описания. Координаты точек поверхности вазы определяются как функции от двух переменных (параметров) — высоты (h) и долготы (l).

х= R sin l

у = R cos l (1)

z = H h,

Вам будет интересно - Курсовая работа: Экспертная система. Анализ передачи телеметрических данных со спутника

где R— радиус соответствующей параллели, l— долгота (от -180° до +180° или от 0° до 360°),h— высота (изменяется от -0,5 до +0,5), Н—высота вазы.

Параллель – это линия, состоящая из точек из точек с постоянной широтой. Меридиан — это линия, представляющая точки с постоянной долготой. В каркасной модели вазы меридианы - это криволинейная линия.

Ваза в данной работе состоит из 30 меридианов и 10 параллелей. Сначала вычисляются мировые координаты вершин стенок вазы. В данной модели их 300. После этого рассчитываются номера вершин полигонов для стенок вазы. Аналогичным образом вычисляются мировые координаты вершины дна вазы и номера полигонов дна вазы.

Далее производится видовое преобразование координат точек плоскостей, то есть выполняется преобразование мировых координат (x, y, z) в экранные координаты (X,Y) с добавлением перспективной проекции.

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

Похожий материал - Учебное пособие: Установка и настройка Windows XP

Для расчёта освещённости полигона рассчитывается координаты вектора нормали к нему и, исходя из направления вектора нормали, задаётся цвет заливки для полигона.


2. Описание используемых алгоритмов

2.1 Построение перспективной проекции

Точки в двухмерном и трехмерном пространствах представляются координатами (X, Y) и (х, у, z) соответственно. При необходимости получения перспективной проекции задается большое количество точек P(x, у, z), принадлежащих объекту, для которых предстоит вычислить координаты точек изображения Р'(Х, Y) на картинке. Для этого нужно только преобразовать координаты точки Р из мировых координат (х, у, z) в экранные координаты (X, Y) ее центральной проекции Р'. Предположим, что экран расположен между объектом и глазом Е. Для каждой точки Р объекта прямая линия РЕ пересекает экран в точке Р'.