итаних даних у внутрішні структури;
) закриття файлу.
3.1.2.2 Алгоритм розв'язання задачі Розрахунок відсутніх даних
Результатом виконання завдання Розрахунок відсутніх даних буде отримання нормалей в кожній вершині і до всіх граней моделі.
Зазвичай в 3D файлах зберігання нормалей необов'язково, тому є можливість їх отримання за допомогою інших даних геометрії - вершин і граней. Але для цього необхідно провести ресурсомісткі розрахунки.
Для визначення вектора нормалі до площини досить мати координати трьох точок належать цій площині. На малюнку 2.1 схематично показано отримання такої нормалі.
Рисунок 2.1 - Нормаль до площини
деталізація файл дані графічний
За визначенням векторний добуток двох векторів є вектор перпендикулярний площині певної їх координатами. Виходячи з цієї властивості потрібний нам вектор нормалі n можна представити як векторний добуток векторів ab і bc:
=(bc, ab) (1.1)
де n - вектор нормалі;, bc - вектори перпендикулярні n.
Використовуючи правило трикутника і знаючи відповідні вектора a, b і c отримаємо вектора ab і bc:
=b - a (1.2)
bc=b - c (1.3)
Таким чином, визначення нормалі до грані моделі зводиться до простих операцій над векторами.
Щоб привести вектор нормалі до одиничної довжині необхідно розділити вектор на його норму (довжину):
n1=n / | n | (1.4)
де n1 - вектор одиничної довжини; - вектор нормалі;
| n | - довжина вектора нормалі.
У разі коли необхідно знайти нормаль у вершині справа має бути небагато інакше. Для визначення нормалі в вершині потрібна пройтися по всіх гранях містить цю вершину і підсумувати їх нормалі. Після чого необхідно привести нормаль до одиничного увазі.
Як видно пошук нормалей у вершинах може зайняти деякий час, тому зберігання їх в 3DO файлі виправдано, і сильно заощадить попередню ініціалізацію.
3.1.2.3 Алгоритм розв'язання задачі Збереження даних в 3DO форматі
Результатом даної задачі буде отримання 3DO файлу, що описує більшість параметрів геометрії об'єктів (вершини, грані, нормалі).
Алгоритм рішення можна розділити на такі етапи:
) відкриття файлу для запису;
) запис геометрії об'єктів у файл з урахуванням структури 3DO формату:
a) запис координат вершин;
b) запис координат нормалей у вершинах ;) запис координат нормалей до граней ;) запис кількості вершин у кожній грані ;) запис індексів граней;
) закриття файлу.
3.1.3 Алгоритм рішення задачі Генерація шаблону
.1.3.1 Алгоритм розв'язання задачі Налаштування параметрів шаблону
Виконання даного завдання зводиться до заповнення полів відповідають за налаштування параметрів шаблону:
) ім'я шаблона;
) шлях до шаблону;
) шлях та ім'я 3DO файлу.
3.1.3.2 Алгоритм розв'язання задачі Створення та збереження шаблону
В ...