Відмінності між версіями «Технології побудови тривимірного зображення. СПК»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
Рядок 7: Рядок 7:
 
       • висновок отриманого зображення на пристрій виведення - дисплей або принтер.
 
       • висновок отриманого зображення на пристрій виведення - дисплей або принтер.
 
   
 
   
 
+
Схема проектування сцени на екран комп'ютера
 
Однак, у зв'язку зі спробами створення 3D-дисплеїв і 3D-принтерів, тривимірна графіка не обов'язково включає в себе проектування на площину.
 
Однак, у зв'язку зі спробами створення 3D-дисплеїв і 3D-принтерів, тривимірна графіка не обов'язково включає в себе проектування на площину.
  
1. Моделювання
+
1. ==Моделювання==
Схема проектування сцени на екран комп'ютера
+
  
 
Сцена (віртуальний простір моделювання) включає в себе кілька категорій об'єктів:
 
Сцена (віртуальний простір моделювання) включає в себе кілька категорій об'єктів:
  
    Геометрія (побудована за допомогою різних технік модель, наприклад будівля)
+
      • Геометрія;
    Матеріали (інформація про візуальні властивості моделі, наприклад колір стін і відбиває / заломлююча здатність вікон)
+
      • Матеріали;
    Джерела світла (налаштування напрямки, потужності, спектра освітлення)
+
      • Джерела світла;
    Віртуальні камери (вибір точки та кута побудови проекції)
+
      • Віртуальні камери;
    Сили і впливу (налаштування динамічних спотворень об'єктів, застосовується в основному в анімації)
+
      • Сили і впливу;
    Додаткові ефекти (об'єкти, що імітують атмосферні явища : світло в тумані, хмари, полум'я і пр.)
+
      • Додаткові ефекти;
  
 
Задача тривимірного моделювання - описати ці об'єкти і розмістити їх в сцені з допомогою геометричних перетворень відповідно до вимог до майбутнього зображенню.
 
Задача тривимірного моделювання - описати ці об'єкти і розмістити їх в сцені з допомогою геометричних перетворень відповідно до вимог до майбутнього зображенню.
  
2. Рендеринг
+
2. ==Рендеринг==
  
На цьому етапі математична (векторна) просторова модель перетворюється на плоску (растрову) картинку. Якщо потрібно створити фільм, то рендерится послідовність таких картинок - кадрів. Як структура даних, зображення на екрані представлено матрицею пікселів, де кожна точка визначена принаймні трьома числами: інтенсивністю червоного, синього і зеленого кольору. Таким чином рендеринг перетворить тривимірну векторну структуру даних в плоску матрицю пікселів. Цей крок часто вимагає дуже складних обчислень, особливо якщо потрібно створити ілюзію реальності. Найпростіший вид рендеринга - це побудувати контури моделей на екрані комп'ютера за допомогою проекції, як показано вище. Зазвичай цього недостатньо і потрібно створити ілюзію матеріалів, з яких виготовлені об'єкти, а також розрахувати спотворення цих об'єктів за рахунок прозорих середовищ (наприклад, рідини у склянці).
+
На цьому етапі математична (векторна) просторова модель перетворюється на плоску (растрову) картинку. Якщо потрібно створити фільм, то рендерится послідовність таких картинок - кадрів. Як структура даних, зображення на екрані представлено матрицею пікселів, де кожна точка визначена принаймні трьома числами: інтенсивністю червоного, синього і зеленого кольору. Таким чином рендеринг перетворить тривимірну векторну структуру даних в плоску матрицю пікселів.
  
 
Існує декілька технологій візуалізації, часто комбінованих разом. Наприклад:
 
Існує декілька технологій візуалізації, часто комбінованих разом. Наприклад:
  
    Z-буфер (використовується в OpenGL і DirectX 10);
+
      • Z-буфер (використовується в OpenGL і DirectX 10);
    Сканлайн (scanline) - він же Ray casting ("кидання променя", спрощений алгоритм зворотного трасування променів) - розрахунок кольору кожної точки картинки побудовою променя з точки зору спостерігача через уявне отвір в екрані на місці цього пікселя "в сцену" до перетину з першою поверхнею. Колір пікселя буде таким же, як колір цієї поверхні (іноді з урахуванням освітлення і т. д.);
+
      • Сканлайн (scanline) - він же Ray casting ("кидання променя", спрощений алгоритм зворотного трасування променів) - розрахунок кольору кожної точки картинки побудовою променя з точки зору спостерігача через уявне отвір в екрані на місці цього пікселя "в сцену" до перетину з першою поверхнею. Колір пікселя буде таким же, як колір цієї поверхні (іноді з урахуванням освітлення і т. д.);
    Трасування променів (рейтрейсінг, англ. raytracing ) - Те саме, що і сканлайн, але колір пікселя уточнюється за рахунок побудови додаткових променів (відображення, заломлення і т. д.) від точки перетину променя погляду. Незважаючи на назву, застосовується тільки зворотній трасування променів (тобто саме від спостерігача до джерела світла), пряма вкрай неефективна і споживає занадто багато ресурсів для отримання якісної картинки;
+
      • Трасування променів (рейтрейсінг, англ. raytracing ) - Те саме, що і сканлайн, але колір пікселя уточнюється за рахунок побудови додаткових променів (відображення, заломлення і т. д.) від точки перетину променя погляду. Незважаючи на назву, застосовується тільки зворотній трасування променів (тобто саме від спостерігача до джерела світла), пряма вкрай неефективна і споживає занадто багато ресурсів для отримання якісної картинки;
    Глобальне освітлення ( англ. global illumination , Radiosity) - розрахунок взаємодії поверхонь і середовищ у видимому спектрі випромінювання за допомогою інтегральних рівнянь.  
+
      • Глобальне освітлення ( англ. global illumination , Radiosity) - розрахунок взаємодії поверхонь і середовищ у видимому спектрі випромінювання за допомогою інтегральних рівнянь.
  
Грань між алгоритмами трасування променів в даний час практично стерлася. Так, в 3D Studio Max стандартний визуализатор називається Default scanline renderer, але він вважає не тільки внесок дифузного, відбитого та власного (кольори самосвеченія) світла, а й згладжені тіні. З цієї причини, частіше поняття Raycasting відноситься до зворотної трасуванні променів, а Raytracing - до прямої.
 
  
Найбільш популярними системами рендеринга є:
+
Внаслідок великого обсягу однотипних обчислень рендеринг можна розбивати на потоки (распараллелівать). Тому для рендеринга вельми актуально використання багатопроцесорних систем.
  
    PhotoRealistic RenderMan (PRMan)
+
3. ==Програмне забезпечення==
    mental ray
+
    V-Ray
+
    FinalRender
+
    Brazil R / S
+
    BusyRay
+
    Turtle
+
    Maxwell Render
+
    Fryrender
+
    Indigo Renderer
+
    LuxRender
+
    YafaRay
+
    POV-Ray
+
 
+
Внаслідок великого обсягу однотипних обчислень рендеринг можна розбивати на потоки (распараллелівать). Тому для рендеринга вельми актуально використання багатопроцесорних систем. Останнім часом активно ведеться розробка систем рендеринга використовують GPU замість CPU, і вже сьогодні їх ефективність для таких обчислень набагато вище. До таких систем відносяться:
+
 
+
    Refractive Software Octane Render
+
    AAA studio FurryBall
+
    RandomControl ARION (гібридна)
+
 
+
Багато виробників систем візуалізації для CPU також планують ввести підтримку GPU (LuxRender, YafaRay, mental images iray).
+
 
+
Найбільш передові досягнення та ідеї тривимірної графіки (і комп'ютерної графіки взагалі) доповідаються і обговорюються на щорічному симпозіумі SIGGRAPH, традиційно проведеному в США.
+
 
+
3. Програмне забезпечення
+
  
 
Програмні пакети, що дозволяють створювати тривимірну графіку, тобто моделювати об'єкти віртуальної реальності і створювати на основі цих моделей зображення, дуже різноманітні. Останні роки стійкими лідерами в цій галузі є комерційні продукти: такі як 3D Studio Max, Maya, Lightwave 3D, Softimage, Sidefx Houdini, Maxon Cinema 4D і порівняно нові Rhinoceros 3D, Nevercenter Silo або ZBrush. Крім того, існують і відкриті продукти, поширювані вільно, наприклад, пакет Blender (дозволяє створювати 3D моделі, c подальшим рендерингом (комп'ютерної візуалізацією)), K-3D і Wings3D.
 
Програмні пакети, що дозволяють створювати тривимірну графіку, тобто моделювати об'єкти віртуальної реальності і створювати на основі цих моделей зображення, дуже різноманітні. Останні роки стійкими лідерами в цій галузі є комерційні продукти: такі як 3D Studio Max, Maya, Lightwave 3D, Softimage, Sidefx Houdini, Maxon Cinema 4D і порівняно нові Rhinoceros 3D, Nevercenter Silo або ZBrush. Крім того, існують і відкриті продукти, поширювані вільно, наприклад, пакет Blender (дозволяє створювати 3D моделі, c подальшим рендерингом (комп'ютерної візуалізацією)), K-3D і Wings3D.
 
3.1. SketchUp
 
 
Безкоштовна програма SketchUp дозволяє створювати моделі, сумісні з географічними ландшафтами ресурсу Google Планета Земля, а також переглядати в інтерактивному режимі на комп'ютері користувача кілька тисяч архітектурних моделей, які викладені на безкоштовному постійно поповнювати ресурси Google Cities in Development (видатні будівлі світу), створені спільнотою користувачів.
 
 
Тривимірна графіка активно застосовується в системах автоматизації проектних робіт (САПР) для створення твердотільних елементів: будівель, деталей машин, механізмів, а також в архітектурної візуалізації (сюди відноситься і так звана "віртуальна археологія"). Широко застосовується 3D графіка і в сучасних системах медичної візуалізації.
 

Версія за 22:33, 20 листопада 2013

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

Для отримання тривимірного зображення на площині потрібні наступні кроки:

     •	моделювання - створення тривимірної математичної моделі сцени і об'єктів в ній.
     •	рендеринг (візуалізація) - побудова проекції відповідно до обраної фізичною моделлю.
     •	висновок отриманого зображення на пристрій виведення - дисплей або принтер.

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

1. ==Моделювання==

Сцена (віртуальний простір моделювання) включає в себе кілька категорій об'єктів:

     •	Геометрія;
     •	Матеріали;
     •	Джерела світла;
     •	Віртуальні камери;
     •	Сили і впливу;
     •	Додаткові ефекти;

Задача тривимірного моделювання - описати ці об'єкти і розмістити їх в сцені з допомогою геометричних перетворень відповідно до вимог до майбутнього зображенню.

2. ==Рендеринг==

На цьому етапі математична (векторна) просторова модель перетворюється на плоску (растрову) картинку. Якщо потрібно створити фільм, то рендерится послідовність таких картинок - кадрів. Як структура даних, зображення на екрані представлено матрицею пікселів, де кожна точка визначена принаймні трьома числами: інтенсивністю червоного, синього і зеленого кольору. Таким чином рендеринг перетворить тривимірну векторну структуру даних в плоску матрицю пікселів.

Існує декілька технологій візуалізації, часто комбінованих разом. Наприклад:

     •	Z-буфер (використовується в OpenGL і DirectX 10);
     •	Сканлайн (scanline) - він же Ray casting ("кидання променя", спрощений алгоритм зворотного трасування променів) - розрахунок кольору кожної точки картинки побудовою променя з точки зору спостерігача через уявне отвір в екрані на місці цього пікселя "в сцену" до перетину з першою поверхнею. Колір пікселя буде таким же, як колір цієї поверхні (іноді з урахуванням освітлення і т. д.);
     •	Трасування променів (рейтрейсінг, англ. raytracing ) - Те саме, що і сканлайн, але колір пікселя уточнюється за рахунок побудови додаткових променів (відображення, заломлення і т. д.) від точки перетину променя погляду. Незважаючи на назву, застосовується тільки зворотній трасування променів (тобто саме від спостерігача до джерела світла), пряма вкрай неефективна і споживає занадто багато ресурсів для отримання якісної картинки;
     •	Глобальне освітлення ( англ. global illumination , Radiosity) - розрахунок взаємодії поверхонь і середовищ у видимому спектрі випромінювання за допомогою інтегральних рівнянь.


Внаслідок великого обсягу однотипних обчислень рендеринг можна розбивати на потоки (распараллелівать). Тому для рендеринга вельми актуально використання багатопроцесорних систем.

3. ==Програмне забезпечення==

Програмні пакети, що дозволяють створювати тривимірну графіку, тобто моделювати об'єкти віртуальної реальності і створювати на основі цих моделей зображення, дуже різноманітні. Останні роки стійкими лідерами в цій галузі є комерційні продукти: такі як 3D Studio Max, Maya, Lightwave 3D, Softimage, Sidefx Houdini, Maxon Cinema 4D і порівняно нові Rhinoceros 3D, Nevercenter Silo або ZBrush. Крім того, існують і відкриті продукти, поширювані вільно, наприклад, пакет Blender (дозволяє створювати 3D моделі, c подальшим рендерингом (комп'ютерної візуалізацією)), K-3D і Wings3D.