Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Створення 3D-моделі лабіринту з вертикальними стінами

Реферат Створення 3D-моделі лабіринту з вертикальними стінами





Введення


В даний час одними з пріоритетних напрямків інформаційних технологій є тривимірна графіка і 3D-моделювання. Тривимірна графіка оперує з об'єктами в тривимірному просторі, відображеними, як правило, на двовимірному пристрої.

Комп'ютерна графіка знайшла широке практичне застосування. Мова йде про комп'ютерні ігри, просторових моделях, зручному поданні зображень деталей пристроїв і машин, вирішенні математичних завдань, пов'язаних з властивостями поверхонь і геометричних тіл, і т.д.

Інженери і архітектори використовують тривимірну графіку для створення віртуальних моделей. Кінематографісти і розробники комп'ютерних ігор створюють спецефекти і анімацію, реалістичні ландшафти та інші зображення об'єктів реального світу.

При розробці 3D-моделей в даний час часто застосовується програмний інтерфейс OpenGL, який стандартизує доступ до графічної апаратурі шляхом зміщення відповідальності за створення апаратного драйвера на виробника графічного пристрою. [1] Це дозволяє розробникам програмного забезпечення використовувати більш високий рівень абстракції від графічного обладнання, що значно прискорило створення нових програмних продуктів і знизило на них витрати. Наприклад, не потрібно передбачати функції проектування тривимірних об'єктів на двовимірну систему координат пристрою виводу [3], що довелося б робити, наприклад, якщо виконувати розробку, використовуючи чисто функції GDI.

У даному проекті розглядається робота з 3D-моделлю лабіринту за допомогою OpenGL, а також створення деяких спецефектів - туману, снігу, динамічного освітлення.


1. Технічне завдання


У рамках даного курсового проекту потрібно створити 3D-модель лабіринту з вертикальними стінами. Розробка програми повинна здійснюватися в будь візуальної середовищі з обов'язковим використанням графічних бібліотек OpenGL або аналогічних (наприклад, DirectX). Необхідно забезпечити можливість розглянути сцену з різних сторін.


2. Розробка структур даних


.1 Ієрархія об'єктів у просторі


Модель лабіринту доцільно представити як ієрархічну, тобто складається з двох типів об'єктів: 1) окремі полігони; 2) моделі частин лабіринту, що складаються з полігонів або моделей більш малих частин. При такому формулюванні природно представити модель лабіринту у вигляді дерева (див. Рис. 2.1). Окремі полігони в даному випадку зберігаються в листках. Корінь відповідає всій моделі.

дана тип графічний алгоритм

Рис. 2.1 - Дерево моделі лабіринту


2.2 Користувальницькі типи даних


Доцільно запровадити ряд користувацьких типів даних.

. Структура даних точка - в принципі не надає деяких нових функцій, але дозволяє працювати з координатами точки як з даними одного об'єкта, а не розрізненими даними, а також задіяти елементи об'єктно-орієнтованого програмування для більш зручної роботи з 3D-моделями.


struct Point3D/* структура ТОЧКА */

{x, y, z;

/* основні методи */

/* заповнення полів структури */

void FillFields (double x, double y, double z)

{ gt; x=x; gt; y=y;

this- gt; z=z;

}

/* отрисовка точки або вибір вершини полігону */

void Vertex () {glVertex3f (x, y, z); }

.../* інші методи */

};


Структура дані про клітці лабіринту - зберігає дані про те, які саме зображення будуть використовуватися на кожному з 4 шматків стін, відповідних даній клітині. Кожному зображенню відповідає його номер, а якщо відповідного шматка стіни немає (наприклад, якщо дана клітина знаходиться біля входу в лабіринт, то як мінімум одного шматка немає), то в якості номера береться спеціальне значення.

FieldInfo/* структура ДАНІ ПРО КЛЕТКЕ ЛАБІРИНТУ */

{

/* номер зображень кожної зі стінок

(0, якщо стінки немає) */

int TextureBack, TextureRight, TextureFront, TextureLeft;

.../* методи */

};

Структура дані про модель лабіринту - зберігає дані про всі клітинах лабіринту. Містить розміри лабіринту і матрицю типу FieldInfo. Така організація даних може на перший погляд здатися надмірною - якщо у двох клітин лабіринту є загальна стіна, то факт її наявнос...


сторінка 1 з 4 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Автоматизована система побудови лабіринту і пошуку виходу з нього
  • Реферат на тему: Символіка лабіринту у філософському трактаті Я.А. Коменського "Лабіри ...
  • Реферат на тему: Комп'ютерні дані: типи даних, обробка та управління
  • Реферат на тему: Розробка програми з використанням OpenGL для динамічного зображення тривимі ...
  • Реферат на тему: Створення програмного продукту, що дозволяє синхронізувати дані вже наявної ...