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

Ортогональна проєкція

ред.

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

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

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

 
 

де вектор s — довільний масштабний коефіцієнт, а c являє собою довільне зміщення. Ці константи не є обов'язковими, і можуть бути використані, щоб правильно вирівняти вікно перегляду. При використанні матричного множення, рівняння мають такий вигляд:

 .

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

Слабка перспективна проєкція

ред.

«Слабка» перспективна проєкція використовує ті ж принципи ортогональної проєкції, але вимагає коефіцієнт масштабування, який необхідно вказати, таким чином гарантуючи, що ближчі об'єкти здаються більшими в проєкції, і навпаки. Це можна розглядати як гібрид між ортогональною і перспективною проєкціями, і описується або як перспективна проєкція з окремими глибинами точки   заміненими середнім постійним глибини  ,[1] або просто як ортогональна проєкція з масштабуванням.[2]

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

Перспективна проєкція

ред.

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

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

  •   — 3D-положення точки  , яка повинна бути спроєктована.
  •   — 3D-положення точки  , що представляє камеру.
  •   — орієнтація камери (представлена кутами Ейлера).
  •   — глядацьке положення щодо поверхні дисплея[3] яка проходить через точку  , яка представляє камеру.

Що призводить до:

  •   — 2D-проєкція  .

Коли   та   3D-вектор   проєктується на 2D вектор  .

В іншому випадку, для обчислення   ми спочатку визначимо вектор   як положення точки   стосовно системи координат, визначеній камерою, з початком в  , і повернутої на   відносно початкової системи координат. Це досягається шляхом віднімання матриці   з   і потім застосування обертання по  . Це перетворення часто називають перетворенням камери, і воно може бути виражене, висловлюючи обертання в термінах обертань навколо осей  ,  , і   (ці розрахунки мають на увазі те, що осі впорядковані як лівостороння система осей): [4] [5]

 

Це уявлення відповідає обертанню на три кута Ейлера, використовуючи конвенцію  , яку можна інтерпретувати як «обертання навколо зовнішніх осей (осі сцени) в порядку  ,  ,   (читання справа наліво)» або «поворот навколо власних осей (осі камери) в порядку  ,  ,   (читання зліва-направо)». Зверніть увагу, що якщо камера не повертається ( ), то матриці випадають (як тотожності), і це зводиться до простого зрушення:  

Як альтернатива, без використання матриць:

 
(де   =   і т. д.,   =  ,   =  ).

Це перетворення точки потім може проєктуватися на 2D площині, використовуючи формулу (тут x/у, використовується як площина проєкції; у літературі також може використовуватися x/z):[6]

 

Або в матричній формі з використанням однорідних координат, система

 

в поєднанні з аргументами, використання подібних трикутників призводить до поділу однорідними координатами, даючи

 

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

Наведені вище рівняння можна переписати таким чином:

 

В якому   — розмір дисплея,   — розмір робочої поверхні диска (наприклад CCD),   відстань від поверхні запису центру камери, та   це відстань, від 3D точки проєктування, до ока користувача.

Подальші операції відсікання і масштабування можуть бути необхідними для відображення 2D площини на будь-якому дисплеї.

Схема

ред.

 

Для того, щоб визначити, який x-координатний екран відповідає точці, в   помножимо координати точки на:

 

де

  x координата екрана.
  x координата моделі.
  фокусна відстань — осьова відстань від центра камери[en] до площини зображення.
  це відстань до об'єкта.

Примітки

ред.
  1. Subhashis Banerjee (18 лютого 2002). The Weak-Perspective Camera. Архів оригіналу за 3 березня 2016. Процитовано 26 травня 2016.
  2. Alter, T. D. (July 1992). 3D Pose from 3 Corresponding Points under Weak-Perspective Projection (PDF) (Технічний звіт). Лабораторія комп’ютерних наук і штучного інтелекту МТІ. Архів оригіналу (PDF) за 17 серпня 2017. Процитовано 4 грудня 2016.
  3. Ingrid Carlbom, Joseph Paciorek (1978). Planar Geometric Projections and Viewing Transformations (PDF). ACM Computing Surveys[en]. 10 (4): 465—502. doi:10.1145/356744.356750. Архів оригіналу (PDF) за 4 березня 2016. Процитовано 26 травня 2016..
  4. Riley, K F (2006). Mathematical Methods for Physics and Engineering. Cambridge University Press. с. 931, 942. doi:10.2277/0521679710. ISBN 0-521-67971-0.
  5. Goldstein, Herbert (1980). Classical Mechanics (вид. 2nd). Reading, Mass.: Addison-Wesley Pub. Co. с. 146–148. ISBN 0-201-02918-9.
  6. Sonka, M; Hlavac, V; Boyle, R (1995). Image Processing, Analysis & Machine Vision (вид. 2nd). Chapman and Hall. с. 14. ISBN 0-412-45570-6.

Посилання

ред.