Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет по учебной практике.doc
Скачиваний:
3
Добавлен:
27.09.2019
Размер:
565.76 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Кафедра "Математическое обеспечение и применение ЭВМ"

Трёхмерная интерактивная визуализация каркасной модели полусферы

Отчет

по учебной практике

Выполнил: студент гр. 06ВП1

Карпов А.Е.

Проверил: к.т.н., доцент

Гурьянов Л.В.

Пенза 2007

Содержание

Задание на учебную практику………………………………………………….3

Реферат……………………………………………………………………………4

Введение…………………………………………………………………………..5

1. Трёхмерная интерактивная визуализация каркасной модели полусферы………………………………………………………………………...5

1.1. Анализ предметной области…………………………………………….5

1.2. Анализ требований……………………………………………………….6

1.2.1 Анализ требований к структуре данных…………………………6

1.2.2 Анализ требований к интерфейсу пользователей……………….6

1.2.3 Анализ требований к программному средству…………………..6

2. Технология разработки………………………………………………………7

3. Проектирование……………………………………………………………….8

3.1. Интерфейса……………………………………………………………….9

3.2. Структуры данных………………………………………………………9

3.3. Программного средства……………………………………………….11

4. Реализация……………………………………………………………………12

5. Схемы программы…………………………………………………………..12

6. Тестирование программы…………………………………………………..15

Заключение……………………………………………………………………...18

Список использованных источников………………………………………..18

ПРИЛОЖЕНИЕ А. Исходный текст модулей SurfaceUnit, Moya_graphica4………………………………………………………...……….18

РЕФЕРАТ

Отчёт содержит 25 листов, 13 рисунков, 6 использованных источников.

Ключевые слова: Delphi, модуль, каркас, модель, ООП, интерфейс.

Объект разработки – программа «Трёхмерная интерактивная визуализация каркасной модели полусферы»

Цель работы — приобретение практических навыков разработки программы в визуальной среде Delphi.

Технологии разработки – объектно-ориентированное и визуальное программирование.

Результаты работы – созданы компоненты математического и программного обеспечения, то есть продукт, отвечающий требованиям задания на учебную практику. Приобретены соответствующие навыки.

ПГУ 230105-2КР041.06ВП107

Изм.

Лист

докум.

Подп.

Дата

Разраб.

Карпов А. Е.

Программа «Трёхмерная интерактивная визуализация каркасной модели полусферы»

Лит.

Лист

Листов Листов

Пров.

Гурьянов Л.В.

4

1

Группа 06ВП1

Н. контр.

Утв.

Введение

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

1. Трёхмерная интерактивная визуализация каркасной модели полусферы с применением Delphi 7.0

    1. Анализ предметной области

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

— построение геометрической модели объекта в исходной (мировой) системе координат;

— ввод положения наблюдателя;

— преобразование мировых координат объекта в видовые координаты локальной системы наблюдателя;

— преобразование видовых координат в экранные координаты;

— манипулирование объектом с применением стандартного набора аффинных преобразований (поворот, перенос, зеркальное отображение, масштабирование);

— изменение атрибутов визуализации (цвета и толщины линий).

Как известно из [2,3] в машинной графике применяются следующие виды моделей 3D-объектов: каркасная модель, поверхностная модель, твердотельная модель.

Каркасная модель – наиболее простой способ представления. Объект задаётся множеством 3D-точек (вершин) и множеством соединяющих их линий (рёбер). Если форма объекта не слишком сложная, то 3D-каркас даёт более менее удовлетворительное изображение объекта для его восприятия и оценки пользователем.

Реализация поверхностной и твердотельной моделей излишне сложны для данной работы.

Каркасная модель имеет следующие параметры: Nx – число узлов сеточного каркаса вдоль оси X; Ny – число узлов сеточного каркаса вдоль оси Y; ΔX - шаг сетки по оси X; ΔY – шаг сетки по оси Y; общее число узлов такой модели равно N = Nx * Ny. Для полусферы будем использовать адаптированную модель, в которой Nx – число узлов на горизонтальном сечении (широте), Ny – число узлов на вертикальном сечении (меридиане), R – радиус сферы.

Непосредственно в программе используются следующие формулы для определения Xw и Yw - мировых координат вершин на плоскости XOY для очередной k-ой вершины, расположенной на пересечении i-ого меридиана и j-ой широты «сетки-паутины»:

k :=j*(Nx + 1) + i;

Xw[k] := Radius / Ny * j * cos(2*pi / Nx * i);

Yw[k] := Radius / Ny * j * sin(2*pi / Nx * i).

Третья мировая координата Zw[k] этой же точки на поверхности полусферы определяется как функция двух переменных Xw[k] и Yw[k] по формуле:

Zw[k] := sqrt(abs(sqr(Radius) - sqr(Xw[k]) - sqr(Yw[k]))).

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

Мировая система координат – это 3D-ортогональная система, центр которой обычно совпадает с центром так называемого «главного» объекта из множества объектов. Поскольку в данной работе исходный объект единственный, то начало мировой системы координат является и его центром.

Локальная система координат объекта – применяется для каждого из множества объектов. Так как объект единственный, то она совпадает с мировой системой координат.

Локальная система координат наблюдателя (видовая система) – 3D-ортогональная правосторонняя система, в которой ось OXe ориентирована в право, ось OYe вверх, а ось OZe ориентирована вглубь пространства на начало мировой системы координат Ow .

Локальная система координат экрана монитора – 2D-ортогональная, с ориентацией оси X вправо, а оси Y – вниз.

Рис.1. Взаимное расположение мировой и видовой систем координат.

Oz – начало мировой системы координат;

Xw, Yw, Zw – мировые оси;

Oe – начало видовой системы координат;

Xe, Ye, Ze – видовые оси.

Для визуализации будем использовать следующие преобразования [2,3]:

- объектное преобразование с помощью стандартных матриц аффинных преобразований (перенос, поворот, масштабирование, зеркальное отражение);

- видовое преобразование, заключающееся в преобразовании мировых координат, исходного объекта в видовые координаты локальной системы наблюдателя;

r, v, f – сферические мировые координаты точки Oe.

- перспективное преобразование, связанное с отображением видовых координат объекта на экранную плоскость. Экранная плоскость обычно размещается между наблюдателем и объектом. Эффект перспективы – это сокращение линейных размеров удалённых частей объекта;

Xs = d*Xe / z, Ys = d*Ye / z,

d – расстояние от наблюдателя до экранной плоскости.

- экранное преобразование, связанное с учётом локальной системы координат монитора, сводится к добавлению к перспективным координатам двух констант:

Xэкр = d*Xe / z + С1, Yэкр = d*Ye / z + С2,

где С1 – половина размера экрана по горизонтали, а С2 – по вертикали.