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

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





ординати вершин куба

Номер вершіниКоордіната ХКоордіната YКоордіната ZОснованіе куба40-60-50-6541-60-50-11542-10-50-11543-10-50-65Верхняя грань44-600-6545-+600-11546-100- 11547-100-65

Модель куба збирається за аналогічним принципом моделювання склянки, спочатку формуємо грань підстави, потім верхню межу, а потім створюємо бічні грані. Кожна грань куба задається 4 вершинами. Так як ці дві моделі утворюють єдину сцену, то координати відлічуються за єдиною системою, а також номери вершин задаються по порядку. Надалі до розроблюваних об'єктів сцени буде застосовано зафарбовування граней, введення прозорості та створення освітлення усієї сцени. p align="center"> 2. Опис використовуваних алгоритмів


.1 Перетворення координат


У попередньому розділі для побудови тривимірних об'єктів були задані координати вершин об'єктів у світовій системі координат. Необхідно отримати із заданих координат видові (і екранні для ортогональної проекції) координати. Для видових координат слід застосувати перспективні перетворення для додачі розроблюваним об'єктам реалістичності. Звичайно, можна зібрати тривимірну модель без використання перспективного перетворення, але тоді можливий так званий обман зору, що виникає через ракурсу моделі, але застосувавши перспективні перетворення, даний ефект зникне. Екранні координати вершин отримаємо після того, як до видовим координатам застосуємо перспективні перетворення, в даному випадку і будемо збирати наши моделі. br/>

// Видові координати: [i]. x = 20 * (int) Math. Round (Vertex [i]. X * (-Math. Sin (teta)) + Vertex [i]. Y * Math. Cos (teta)); [i]. y = 20 * (int) Math. Round (Vertex [i]. X * (-Math. Cos (phi) * Math. Cos (teta)) - Vertex [i]. Y * (Math. Cos (phi) * Math. Sin (teta)) + Vertex [i]. z * Math. Sin (phi)); [i]. z = - 20 * (int) Math. Round (Vertex [i]. X * (-Math. Sin (phi) * Math. Cos (teta)) - Vertex [i]. Y * (Math. Sin (phi) * Math. Sin (teta)) - Vertex [i]. z * (Math. Cos (phi)) + R0);

// Перспективний перетворення

Perspective [i]. X = pictureBox1. Width/2 + (int) Math. Round (D0 * (View [i]. X/View [i]. Z)); [i]. Y = pictureBox1. Height/2 + (int) Math. Round (D0 * (View [i]. Y/View [i]. Z));

// Отримання екранних координат

Scrn [i]. X = (int) Perspective [i]. X + pictureBox1. Width/2; [i]. Y = (int) Perspective [i]. Y + pictureBox1. Height/2;

Рисунок 1 - Отримання екранних координат


Більш докладний алгоритм можна показаний в додатку А, де вказано лістинг програми.

2.2 Алгоритм видалення невидимих ​​граней


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


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





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

  • Реферат на тему: Розрахунок початкових координат об'єктів Raketa і Sputuik
  • Реферат на тему: Розробка програми для створення і перетворення графічних об'єктів
  • Реферат на тему: Перспективні технології перетворення відновлюваної енергії
  • Реферат на тему: Пристрій перетворення аналогових сигналів двійковий код і його перетворення ...
  • Реферат на тему: Система координат