29Mar
No comments
« Поворот площини за допомогою миші |
3D - Графіка »
| 0 0 1 -1 |
| 0 0 0 1 |
x’ = 2 * x + 1
у’ = 3 * у + 2
z’ = 1 * z - 1
w’ = 1
Дана матриця визначає наступне перетворення: розтягування по осі x в два рази, по осі у в три рази і перенесення на вектор (1, 2 -1). При цьому матриця M застосовується до вектора-стовпця зліва:
| M11 M12 M13 M14 | | px |
p’ = M * p = | M21 M22 M23 M24 | * | py |
| M31 M32 M33 M34 | | pz |
| M41 M42 M43 M44 | | 1 |
Відмітимо, що вектор p’ також є вектором-стовпцем. Насправді можливі дві, рівноправні з погляду математики, запису:
1) Вектор записується як стовпець:
| 2 0 0 1 | | x | | 2 * x + 1 |
| 0 3 0 2 | * | у | = | 3 * у + 2 |
| 0 0 1 -1 | | z | | 1 * z - 1 |
| 0 0 0 0 | | 1 | | 1 |
2) Вектор записується як рядок, матриця транспонується:
| 2 0 0 0 |
| x у z 1 | * | 0 3 0 0 |
| 0 0 1 0 |
| 1 2 -1 0 |
= | 2 * x + 1 3 * у + 2 1 * z - 1 1 |
C точки зору самого перетворення ці записи еквівалентні. Яку з них використовувати - це питання домовленості. На практиці, і в OPENGL і в DIRECTX використовується перший варіант, з урахуванням того, що матриці укладаються в пам’яті по стовпцях . Тобто матриця
| M11 M12 M13 M14 |
| M21 M22 M23 M24 |
| M31 M32 M33 M34 |
| M41 M42 M43 M44 |
в лінійній пам’яті виглядатиме таким чином:
M11 M21 M31 M41 M12 M22 M32 M42 M13 M23 M33 M43 M14 M24 M34 M44
В тривимірній математиці також прийнято використовувати перший варіант запису.
Прим. Іноді, в теоретичному розділі зустрічатимуться схожі вставки, що відносяться до практики. В основному це стосуватиметься прийнятих позначень.
Матриця не аффінного перетворення
Pages: 1 2 3
Tags:
вектор,
вектор стовпець,
координата,
крапка,
матриця,
матричне перетворення,
нелінійні перетворення,
однорідні координати,
перетворення
Схожі записи
- The GIMP - редактор растрової графіки (13.04.2009)
... Справа тут в тому, що у випадку з Windows у розробників виникають серйозні проблеми, отсутствующие на інших платформах.
Основна складність пов'язана з перенесенням в середу Windows бібліотеки gtk+, з якою тісно інтегрований код GIMP (зокрема, з її допомогою реалізований весь його інтерфейс): бібліотека проектувалася для UNIX і віконного середовища X Window System, тоді як в ...
- Реалізація апаратних модулів графічної системи (28.02.2009)
... Деякі програми здатні динамічно міняти коефіцієнт переміщення. В цьому випадку, чим швидше пересуватиметься миша, тим далі на екрані переміститься курсор.
Роздільна здатність монітора. Більше всього плутанина у використанні терміну роздільна здатність спостерігається в цій області. Річ у тому, що у монітора є не мало характеристик, які можна розглянути, як його роздільна ...
- Роздільна здатність (06.02.2009)
... Така здатність називається фіксованою і встановлюється за допомогою відстежування апаратурою фізичного переміщення.
Ця величина є різною для кожного типу пристроїв оскільки залежить від класу точності пристрою і сфери його застосування.
Безліч пристроїв введення мають також і змінну роздільну здатність яка залежить зокрема від програмного забезпечення яке у свою чергу приймає і обробляє сигнали від ...
- Поворот площини за допомогою миші (28.03.2009)
... Потім проводиться поворот на різницю направлених кутів .
В даному випадку, щоб отримати точки M0’ і M’ треба просто нормалізувати вектори OM0 і OM. Тепер повернемо площину, щоб вектор OM0’ перейшов в OM'. Виявляється це не так просто, як може показатися на перший погляд.
...
- Все про компютерну графіку (10.02.2009)
... Гра була створена на машині PDP-1.
В 1963 році американський учений Айвен Сазерленд створив програмно-апаратний комплекс Sketchpad, який дозволяв малювати крапки, лінії і кола на трубці цифровим пером. Підтримувалися базові дії з примітивами: переміщення, копіювання і ін. По суті, це був перший векторний редактор, реалізований на комп'ютері.
Також програму можна назвати першим графічним ...
Sunday, March 29th, 2009 at 09:15 and is filed under 3D теорія.
You can follow any responses to this entry through the feed.
Both comments and pings are currently closed.