Visual Fox Pro импорт-экспорт

Автор работы: Пользователь скрыл имя, 18 Ноября 2013 в 22:46, курсовая работа

Краткое описание

Целью данной курсовой работы является детальное изучение и исследование различных способов создания, представления и отображения текстур и их взаимодействия с объектами (особое внимание уделяется наложению текстур на поверхности второго порядка). А также разработка, сравнительный анализ и программная реализация загрузки текстур форматов BMP и TGA. Объектом исследования выступают проективные двухмерные (поверхностные) текстуры, но также рассмотрены одномерные и трехмерные текстуры, которые носят название линейных и объемных текстур.

Прикрепленные файлы: 1 файл

Основной текст работы.doc

— 1.26 Мб (Скачать документ)

ВВЕДЕНИЕ

 

В течение многих лет  графические программы имели  дело исключительно с геометрическими объектами, такими как прямые, многоугольники и многогранники. ………………………………………………………………………………………………………………………

Целью данной курсовой работы является детальное изучение и исследование различных способов создания, представления и отображения текстур и их взаимодействия с объектами (особое внимание уделяется наложению текстур на поверхности второго порядка). А также разработка, сравнительный анализ и программная реализация загрузки текстур форматов BMP и TGA.

Объектом исследования выступают проективные двухмерные (поверхностные) текстуры, но также рассмотрены одномерные и трехмерные текстуры, которые носят название линейных и объемных текстур.

Предмет исследования составляют способы отображения проективных текстур на различного рода объекты. В работе рассмотрены: теория наложения проективных текстур, особые варианты создания текстур в памяти в форматах TGA и BMP, текстурирование поверхности и применение вычислителей для текстур. А также некоторые дополнительные возможности OpenGL, такие как построение поверхности второго порядка и использование буфера кадра на примере теста трафарета.

Практическое значение полученных результатов работы состоит в том, что они могут быть использованы при создании и разработке игр, для которых ощутимым является количество используемой оперативной памяти. Также результаты работы могут быть использованы при построении изображений, использующих буфер кадра, кривые и поверхности Безье, с последующим наложением на них текстур. А также везде, где необходимо восстановление поверхности через ее 2х-мерное изображение (в данной работе была построена поверхность с использование черно-белой картинки в формате raw).

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

Некоторые материалы  данной курсовой работы докладывались на третьей международной научно-технической конференции молодых ученых и студентов, проводимой 11, 12 декабря 2007 г. в Донецке в ДонНТУ и опубликованной в сборнике трудов «Информатика и компьютерные технологии» [12].

 

РАЗДЕЛ 1

ПОНЯТИЕ ТЕКСТУРЫ

1.1. Теория наложения проективных текстур

 

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

…………………………………………………………………………………………………………………………………………………………………….

 

Рис. 1.1. Двухмерные координаты текстурного  пространства

 

На рис.1.1 отображено двухмерное пространство текстур. Независимые переменные и называются координатами текстуры (texture coordinates).

…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

Рис. 1.2. Карта наложения при параметрическом  задании поверхности

……………………………………………………………………………………………………………………………………………………..

1.2. Проективное  наложение текстуры в системе  OpenGL

 

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

1.3. Создание текстуры в памяти

 

Для использования текстуры необходимо сначала загрузить в  память нужное изображение и передать его OpenGL.

…………………………………………………………………………………………………………………………………

 

 

Тип

Имя

Описание

 

AUX_RGBImageRec*

 

Image

Область памяти, в которой  будет храниться загружаемое  из файла изображение

 

Unsigned

 

tex[]

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


 

1.4. Особые  варианты создание текстур в  памяти. Формат TGA

 

Формат TGA широко используется для получения высококачественных профессиональных цифровых фотографий.

1.5. Дополнительные возможности текстур OpenGL

 

В OpenGL есть функции для выполнения множества других операций с текстурами. Если получен текстурный узор (с фотографии или из другого

1.6. Трудности, связанные с наложением текстур

 

Если не вдаваться  в подробности, то процесс наложения  текстуры

 

 

 

 

РАЗДЕЛ 2

ТЕКСТУРИРОВАНИЕ ПОВЕРХНОСТЕЙ ВТОРОГО ПОРЯДКА

2.1. Использование  библиотеки GLU для построения поверхностей второго порядка.

 

Библиотека инструментов OpenGL Utility Library служит дополнением к основной библиотеке OpenGL и поддерживает операции более высокого уровня. В то время как основные средства OpenGL оперирует простыми примитивами, такими как точки, линии и закрашенные многоугольники, библиотека GLU способна создавать сферические поверхности, цилиндры и конусы.

 

 

Порядок использования квадратичных объектов следующий:

2.1.1. Автоматическое  текстурирование поверхностей второго  порядка

 

В OpenGL есть процедуры для автоматической генерации текстурных координат в определенных приложениях. Эта возможность особенно

2.2. Применение вычислителей для текстур.

Наложение текстуры на кривые и поверхности Безье

Гладкие кривые и поверхности рисуются аппроксимированными большим числом маленьких отрезков или многоугольников. Тем не менее, многие полезные кривые и поверхности могут быть описаны математически небольшим числом параметров, таких как контрольные точки.

2.2.1. Одномерные вычислители. Кривые Безье

………………………………………………………………………………………………………………………………………………………

Кривая Безье описывается  четырьмя контрольными точками. Этот массив подается на вход функции glMap1f().

РАЗДЕЛ 3

ФОРМИРОВНИЕ ИЗОБРАЖЕНИЯ  ЗАМКА

 

Данный проект ………………………………………………………………………………………………..

 

Рис. 3.1. Замок с прилегающим парком

 

В программе ландшафт реализован в виде функции Terrain.

 

void COpenGLView::DrawTerrain()

{

glPushMatrix(); 

glTranslated(0, -55, 0);  

glEnable(GL_DEPTH_TEST);

glEnable(GL_TEXTURE_2D);

 

// Построение текстурированой повехности

glBindTexture(GL_TEXTURE_2D, tex[3]);

3.4. Возможности Microsoft Visual Studio.NET 2003 и API

 

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

…………………………………………………………..

ЗАКЛЮЧЕНИЕ

 

В данной работе изложены основные теоретические сведения о представлении ………………………………

Подробно изучен процесс ………………………………….

Проведены исследования по ……………………………….

 

 Для работы с изображениями этого формата был спроектирован и реализован отдельный класс, программный код которого приведен в Приложении.




Информация о работе Visual Fox Pro импорт-экспорт