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

Реферат Альфа-змішування: алгоритм виконання





янь:


В 

Перетворимо дану систему в матрицю розміром 4Х4.


В 

Знайдемо визначник даної матриці по першому рядку. Так як дана система рівнянь має нетривіальне рішення, то визначник даної матриці дорівнює 0. В результаті отримуємо:


Nx =, Ny =, Nz =.


Значення d для визначення координат вектора не потрібно. Отже, координати вектора нормалі мають вигляд:


Nx = Ay (Bz - Cz) + By (Cz - Az) + Cy (Az - Bz);

Ny = Az (Bx - Cx) + Bz (Cx - Ax) + Cz (Ax - Bx);

Nz = Ax (By - Cy) + Bx (Cy - Ay) + Cx (Ay - By).


Залишилось привести вектор нормалі до одиничної довжині, так як для визначення косинуса кута між векторами простіше використовувати одиничні вектори. Для цього слід визначити довжину вектора і розділити на неї кожну координату. Для кожної грані при ініціалізації об'єкту потрібно порахувати вектор нормалі, привести до одиничної довжині і зберегти його координати в структурі відповідної грані. Крім того, при кожному повороті сцени вектори нормалі потрібно теж перераховувати (але перспективну проекцію знаходити не слід). p> Для реалізації даного алгоритму нам буде потрібно тільки координата Nz. Значення отримаємо за формулою: Nz = Nz/(Корінь (Nx * Nx + Ny * Ny + Nz * Nz)). p> Якщо Nz> 0, то грань не видно, якщо Nz <0, то грань видна. Так як у нас на сцені є прозорий об'єкт, у якого повинні промальовуватися всі грані, то виконаємо обидві умови на перевірку видимості граней. br/>

2.4 Зафарбування тривимірного об'єкта з використанням простої моделі висвітлення


Так як розрахунок нормалей в нашій сцені ми вже реалізували, то додати освітлення до наших об'єктів вже не складе великих проблем. Крім освітленості будемо одночасно зафарбовувати отримані поверхні об'єктів. Ідея алгоритму полягає в наступному: будемо зафарбовувати кожну грань об'єкта, помноживши значення заданого колірного каналу (A, R, G, B) на значення координати Z вектора нормалі. Колір і налаштування прозорості у об'єктів різне, але система кольорів одна, тому задамо попередньо значення альфа-каналу для граней куба повністю непрозорими - 255, а для граней склянки значення визначимо такі: 80 для бічних граней, і 100 для підстави склянки. Чим більше значення Nz буде наближатися до одиниці, тим менше буде кут між нормаллю і променем світла і тим відповідно більше буде інтенсивність кольору. p align="justify"> Для зафарбовування полігонів скористаємося стандартною функцією зафарбовування - FillPolygon. Дана функція заповнює внутрішню частину полігону, що визначається масивом точок, один з двох параметрів даної функції відповідає за колір зафарбовування. У підсумку отримуємо найпростішу, але ефектну систему освітлення. br/>

3. Опис програми


3.1 Введені типи даних та їх призначення



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





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

  • Реферат на тему: Власні вектора і власні значення лінійного оператора
  • Реферат на тему: Значення об'єкта злочину для визначення характеру і ступеня суспільної ...
  • Реферат на тему: Поняття алгоритму. Обчислення значення функції
  • Реферат на тему: Значення об'єктів атракції туріндустрії
  • Реферат на тему: Податок на майно організацій, його регулює значення і роль в регіональному ...