Автор: Пользователь скрыл имя, 22 Декабря 2010 в 17:58, курсовая работа
Метою курсової роботи є дослідити афінні перетворення площини та простору.
Поставлена мета досягається такими завданнями:
1. Дослідити споріднені та афінні перетворення площини та простору.
2. Виразити афінні перетворення через координати.
3. Описати застосування афінних перетворень площини і простору.
ВСТУП…………………………………………………………………………..3
РОЗДІЛ 1 АФІННІ ПЕРЕТВОРЕННЯ ПЛОЩИНИ………………………….4
1.1 Споріднені та афінні відображення та їх властивості………….4
1.2 Вираз афінного перетворення через координати………….......12
1.3 Однорідні координати точки……..…………………………….17
РОЗДІЛ 2 АФІННІ ПЕРЕТВОРЕННЯ ПРОСТОРУ…………………….......21
2.1 Основні властивості афінного перетворення………..…….......21
2.2 Поворот, зрушення і масштабування…………………………..24
2.3 Перетворення в однорідних координатах……………………..28
2.4 Застосування афінних перетворень……………………………34
ВИСНОВКИ………………………………………………………………..….40
ЛІТЕРАТУРА………………………………………………………………….41
1.3
Однорідні координати
точки
Нехай М - довільна точка площини з координатами х і у, обчисленими відносно заданої прямолінійної координатної системи. Однорідними координатами цієї точки називається будь-яка трійка одночасно не рівних нулю чисел х1, х2, х3, пов'язаних із заданими числами х та у наступними співвідношеннями:
При вирішенні задач комп'ютерної графіки однорідні координати зазвичай вводяться так: довільній точці М (х, у) площини ставиться у відповідність точка МЕ (х, у, 1) в просторі.
Необхідно зауважити, що довільна точка на прямій, що сполучає початок координат, точку О (0, 0, 0), з точкою МЕ (х, у, 1), може бути задана трійкою чисел виду (hx, hy, h).
Будемо вважати, що h = 0. Вектор з координатами hx, hy, h є направляючим вектором прямої, що з'єднує точки О (0, 0, 0) і МЕ (х, у, 1). Ця пряма перетинає площину z = 1 в точці (х, у, 1), яка однозначно визначає точку (х, у) координатної площини ху.
Тим самим між довільною точкою з координатами (х, у) і безліччю трійок чисел виду (hx, hy, h), h = 0, встановлюється взаємно однозначна відповідність, що дозволяє вважати числа hx, hy, h новими координатами цієї точки.
Широко використовувані в проектній геометрії однорідні координати дозволяють ефективно описувати так звані Невласні елементи (по суті ті, якими проектна площину відрізняється від звичної евклідової площини).
У проектної геометрії для однорідних координат прийнято наступне позначення:
або, більш загально,
(Тут неодмінно потрібно, щоб числа х1, х2, х3 одночасно в нуль не оберталися).
Застосування однорідних координат виявляється зручним вже при вирішенні найпростіших завдань.
Розглянемо, наприклад, питання, пов'язані зі зміною масштабу. Якщо пристрій відображення працює тільки з цілими числами (або коли необхідно працювати тільки з цілими числами), то для довільного значення h (наприклад, h = 1) точку з однорідними координатами (0.5, 0.1, 2.5) уявити не можна. Однак при розумному виборі h можна домогтися того, щоб координати цієї точки були цілими числами. Зокрема, при h = 10 для розглянутого прикладу маємо (5, 1, 25).
Розглянемо інший випадок. Щоб результати перетворення не приводили до арифметичного переповнення для точки з координатами (80000, 40000, 1000) можна взяти, наприклад, h = 0.001. У результаті отримаємо (80, 40, 1).
Наведені приклади показують корисність використання однорідних координат при проведенні розрахунків. Однак основною метою введення однорідних координат в комп'ютерній графіці є їх безсумнівна зручність у застосуванні до геометричних перетворень.
За допомогою трійок однорідних координат і матриць третього порядку можна описати будь- які афінні перетворення площини.
Вважаючи, h = 1, порівняємо два записи:
a g 0
(x * y * 1) = (x y 1) b d 0 (1.15)
l m 1
Неважко помітити, що після перемножування виразів, які стоять у правій частині останнього співвідношення, ми отримаємо формули (1.1) і (1.2) і вірну числову рівність 1 = 1. Тим самим порівнювані записи можна вважати рівносильними.
Елементи довільної матриці афінного перетворення не несуть у собі явно вираженого геометричного сенсу. Тому щоб реалізувати те або інше відображення, тобто знайти елементи відповідної матриці по заданому геометричному опису, необхідні спеціальні прийоми. Зазвичай побудова цієї матриці відповідно до складності поставленого завдання і з описаними вище приватними випадками розбивають на кілька етапів.
На кожному етапі пишеться матриця, відповідна тому чи іншому з виділених вище випадків 1 - 4, що володіють добре вираженими геометричними властивостями.
Афінне перетворення евклідової площини
Введемо визначення афінного перетворення евклідової площини в суміжних комплексних координатах.
Перетворення евклідової площини називається афінним, якщо воно відображає кожну пряму на пряму.
Ми хочемо побудувати теорію афінних перетворень з допомогою комплексних чисел. Але для цього треба мати формулу афінного перетворення, тобто вираження комплексної координати z’ образа даної точки M(z) через координату z цієї точки М.
Відомо, що афінне перетворення площини в афінних (і в часності, в прямокутних декартових) координатах має формули:
Так як хочемо отримати формулу афінного перетворення в суміжних комплексних координатах, то потрібно отримати вираження комплексної координати z’=x’+iy’ точки M’(z’) через комплексну координату її образа z = x + iy точки M(z): в вираження z’ підставимо замість x’ і y’ їх вирази із формул : .
Розкривши душки і звівши подібні доданки в правій частині цього рівняння, отримаємо . Тепер виконаємо тотожне перетворення над коефіцієнтами при x і iy:
Згрупувавши коефіцієнти при x та iy, отримаємо слідуюче:
.
Ввівши позначення , , і враховуючи, що і , маємо вираз комплексної координати z’ точки M’ через комплексну координату її образа z точки M: .
Залишилось знайти визначник цього перетворення. Після деяких перетворень визначник прийме вигляд:
,
звідки, скориставшись введеними позначеннями коефіцієнтів афінного перетворення, маємо: .
Таким чином, формула афінного перетворення в споріднених комплексних координатах має вигляд:
РОЗДІЛ
2 АФІННІ ПЕРЕТВОРЕННЯ
ПРОСТОРУ
2.1
Поняття і властивості
афінних перетворень
Під перетворенням (трансформацією - transformation) розуміють функцію, яка приймає (точку або вектор) і відображає її на іншу точку (або вектор). Графічно сенс перетворення представлений на рис. 4.28. Для точок перетворення формально записується у вигляді
Q=T(P);
а для векторів - у вигляді
v = R(u).
При використанні однорідних координат і вектори, і точки представляються у вигляді чотиривимірних матриць-стовпців. У такому разі перетворення має однаковий вигляд і для точок, і для векторів одного і того ж фрейму:
q =f(p),
v =f(u).
Це формулювання носить занадто загальний характер, щоб його можна було використовувати на практиці, оскільки воно поширюється на будь-які однозначні відображення точок і векторів. На практиці, навіть маючи в своєму розпорядженні зручний опис функції, потрібно застосовувати перетворення до всіх точок кривої. Якщо, наприклад, трансформується відрізок прямої, узагальнене перетворення доведеться застосувати до кожної точки між двома заданими кінцями.
Ми будемо розглядати обмежений клас перетворень в чотиривимірному просторі однорідних координат. У цьому просторі і точки, і вектори представляються як вершини, тобто як набори з чотирьох чисел. Цей клас можна визначити формально, наклавши певні обмеження на вид функції. Найбільш важливе обмеження - лінійність перетворення. Функція є лінійною тоді і тільки тоді, коли для будь-яких скалярів а і в (3 і для будь-яких вершин ряд виконується співвідношення
Особливе значення такої властивості перетворень полягає в тому, що якщо відомо перетворення вершин, то завжди можна отримати і перетворення лінійної комбінації вершин, використовуючи для цього лінійну комбінацію перетворень. В результаті відпадає необхідність у повторному обчисленні перетворень вершин при визначенні перетворення їх лінійної комбінації.
У чотиривимірному просторі ми працюємо з представленнями точок і векторів. Лінійне перетворення, яке трансформує представлення точки (або вектора) в інше представлення, завжди може бути записано в термінах двох представлень u і v за допомогою множення матриць:
v = Аu,
де А - квадратна матриця.
Отже, лінійне перетворення можна розглядати з двох точок зору: як зміна подання або фрейму, що призводить до нового подання вершин, або як перетворення вершин в рамках того ж фрейму.
При виконанні операцій в однорідних координатах А є матрицею 4×4, яка залишає незмінним четвертий компонент представлення (w). Матриця А має вигляд
Дванадцять елементів матриці можуть змінюватися довільним чином, і ми говоримо про таке перетворення, що має 12 ступенів свободи (degrees of freedom). Але точки і вектори в афінному просторі мають трохи інше представлення. Будь-який вектор можна представити у вигляді
в любу точку — у вигляді
Якщо розглянути застосування довільного перетворення А по відношенню до вектора v = Au, то прийдемо до висновку, що на результат впливають тільки 9 елементів матриці А, тобто перетворення векторів володіє тільки дев'ятьма ступенями свободи. Афінні перетворення точок мають всі дванадцять ступенів свободи.
Нескладно показати, що афінне перетворення перетворює пряму лінію в пряму лінію. Припустимо, що пряма лінія записана у вигляді
де P0 - точка, а d - вектор. У певному фреймі пряма виражається за допомогою представлення p0 і d відповідно, точки P0 і вектор d в цьому фреймі:
Для будь-якої матриці афінного перетворення А справедливе співвідношення:
Таким чином, можна побудувати перетворення прямої, виконавши спочатку перетворення p0 і d, а потім скористатися будь-яким алгоритмом формування прямих. Якщо використовується форма представлення відрізка двома точками одержимо аналогічний результат - потрібно спочатку виконати перетворення Р0 і р1 а потім по них побудувати перетворений відрізок. Оскільки в матриці А є 12 елементів, які можна вибирати довільно, то афінне перетворення прямої або прямолінійного відрізка має 12 ступенів свободи.
До цих пір ми міркували в термінах абстрактного математичного простору. Однак ці міркування мають абсолютно конкретний додаток до практичних проблем комп'ютерної графіки. З них випливає, що для побудови в системі комп'ютерної графіки зображення перетвореного відрізка необхідно виконати тільки перетворення представлень в однорідних координатах кінцевих точок цього відрізка, а, отже, графічну систему можна реалізувати у вигляді конвеєра афінних перетворень представлень окремих точок в однорідних координатах.