🖼️ Перспективна проекція та точки сходу

1-точкова · 2-точкова · 3-точкова перспектива · Реальна математика проекції камери

Режим перспективи

Камера

Відображення

Точки сходу

ТС₁ (напрям x)
ТС₂ (напрям z)
ТС₃ (напрям y)

🖼️ Що демонструє

Камера чи око проєктує 3D-світ на пласку 2D картинну площину за допомогою перспективної проекції: точка з координатами (x, y, z) у просторі камери відображається на екранні координати xекран = f·x/z, yекран = f·y/z, де f — фокусна відстань (визначається кутом огляду), а z — глибина точки перед камерою. Саме це «перспективне ділення» — ділення на глибину — і є причиною того, що віддалені об'єкти виглядають меншими.

Важливий наслідок: сім'я паралельних ліній у 3D має один спільний напрямний вектор, і коли точки рухаються нескінченно далеко вздовж цього напряму, їхні спроєктовані відношення x/z та y/z збігаються до одного фіксованого значення — точки сходу цієї лінії. Сцена з ребрами, вирівняними вздовж одної, двох або трьох незалежних осей відносно камери, тому дає одну, дві або три точки сходу: одноточкова перспектива — коли камера дивиться прямо на грань коробки, двоточкова — коли камера повернута так, щоб бачити дві бічні грані під кутом, а триточкова — коли камера ще й нахилена вгору або вниз, тож вертикальні ребра також сходяться.

Як використовувати

Чи знали ви?

Лінійна перспектива з істинно математичними точками сходу була сформульована на початку 1400-х років флорентійським архітектором Філіппо Брунеллескі та популяризована трактатом Леона Баттіста Альберті 1435 року Della Pittura, що майже миттєво змінило західний живопис. До цього середньовічне мистецтво використовувало вільніші просторові прийоми без єдиної узгодженої точки зору. Та сама математика перспективного ділення — x/z, y/z — реалізована тут, є точнісінько тією операцією, яку кожен сучасний 3D-ігровий рушій та CAD-рендерер виконує мільярди разів на секунду, щоб перетворити 3D-сцени на 2D-зображення на екрані.

Про цю симуляцію

Автор: Команда MySimulator · Редакційна перевірка: Редакція MySimulator

Оновлено: 11 липня 2026 р.

Цей симулятор проєктує підлогову сітку та кілька 3D-коробок на канву за допомогою справжньої математики перспективної камери: точки світу переводяться у простір камери й діляться на власну глибину (x/z, y/z), масштабовану фокусною відстанню, отриманою з кута огляду — точнісінько так, як це робить справжня камера чи 3D-рендерер.

🔬 Що це показує

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

🎮 Як користуватися

Оберіть режим перспективи, а потім змініть кут огляду, висоту камери та відстань камери. Увімкніть побудовні лінії точок сходу, щоб побачити, як пунктирні напрямні сходяться, і лінію горизонту, щоб побачити орієнтир рівня очей, на якому лежать усі точки сходу горизонтальних напрямів.

💡 Чи знали ви?

Математично коректна лінійна перспектива була сформульована лише близько 1415 року Філіппо Брунеллескі у Флоренції — упродовж більшої частини історії мистецтва художники не мали систематичного способу зробити паралельні лінії реалістично сходящимися.

Поширені запитання

Що таке перспективне ділення?

Це операція x_screen = f·x/z, y_screen = f·y/z, яка перетворює 3D-точку у просторі камери на 2D-екранні координати. Ділення на глибину z — це те, що робить віддалені об'єкти меншими, і є основною операцією кожного перспективно-коректного 3D-рендерера.

Чому паралельні лінії, здається, сходяться в точці сходу?

Усі точки на 3D-лінії мають один спільний напрямний вектор. Коли точка рухається далі вздовж цього напряму, її відношення x/z та y/z наближаються до фіксованої межі, визначеної лише напрямом, а не початковою позицією лінії — тож кожна лінія з таким напрямом, незалежно від того, де вона починається, сходиться до тієї самої точки на екрані.

Що визначає, чи матиме сцена 1, 2 чи 3 точки сходу?

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

Що таке лінія горизонту?

Горизонт — це лінія в просторі екрана, куди проєктується власна висота рівня очей камери, оскільки точки на цій висоті відображаються на y_screen = 0 (відносно камери) незалежно від їхньої відстані. Усі точки сходу для горизонтальних (рівневих) напрямів у сцені лежать саме на цій лінії.

Чи це та сама математика, що використовується в іграх та CAD-програмах?

Так. Рушії реального часу 3D та CAD-рендерери використовують ідентичний крок перспективного ділення (ділення x та y на z, масштабоване фокусною відстанню з кута огляду) усередині своїх повних матриць проекції, лише реалізований з додатковим відсіканням та буферизацією глибини заради продуктивності.