You are on page 1of 27

ЛЕКЦІЯ № 3

Тема: Лінійні перетворення в векторно-параметричному


вигляді
План заняття
 Однорідні координати
 Евклідові перетворення у векторно-параметричній формі
 Афінні перетворення у векторно-параметричному вигляді
 Перетворення симетрії та масштабування
 Проективні перетворення у векторно-параметричному
вигляді
1. Однорідні координати
В основі методу однорідних координат лежить подання
про те, що кожна точка в n-вимірному просторі може
розглядатися як проекція точки з (n+1)- вимірного простору.
Точку в тривимірному просторі – в однорідних координатах
зображують у вигляді чотиривимірного вектора:
x y z  h  x y z 1  T
де Т- матриця перетворення.
Перетворення з однорідних координат у декартові задають
формулою

x *
y *
z *
  x
1 
h
y
h
z 
h 
1
Властивості однорідних координат

Властивості однорідних координат дозволяють:


 визначати за допомогою єдиної матриці всі
перетворення: зсув, повороти, аксонометричні або
центральні проекції, а також будь-які поєднання
перетворень у вигляді добутку матриць;
 застосовувати єдиний математичний апарат для
просторових перетворень (поворотів, масштабування
й перенесення) точок, прямих, квадратичних і
бікубічних поверхонь і ліній.
Приклади однорідних координат для
точки
 Нехай М – довільна точка на площині з координатами x, y
відносно заданої прямолінійної координатної системи.
Однорідними координатами цієї точки називається будь-яка
трійка одночасно нерівних нулю чисел x’, y’, w пов’язаних із
заданими числами x,y такими співвідношеннями:
x y
x ; y
w w
 Точку Т(5, 7) у двовимірному просторі, наприклад, можна
записати в однорідних координатах як Т(15, 21, 3) або як Т(500,
700, 100) і т. д. Очевидно, що позначення (x, y) являє собою
звичайний запис для точки (x, y,1) у тривимірному просторі.
Приклад знаходження точки перетину
двох паралельних прямих
Рівняння прямої у неявному вигляді: ax  by  c  0
x y
Виконаємо заміну: x   , y  
w w
Одержимо: a( x w )  b( y w )  c  0 або ax  by  cw  0
Якщо w=1, тоді з геометричної точки зору маємо площину, яка
проходить через початок системи координат на пряму лінію.
Задамо:  12 x   3 y   6  0
  2x+3y-6w=0
4 x   6 y   24  0 
Перейдемо до однорідної системи координат: 4x+6y-24w=0
Одержимо: 12 w  0 Підставимо у перше рівняння :  2 x  3 y  0
 
  w0
 w 0
Розв’язок: (3k,-2k,0), де k- будь-яке дійсне число. У тривимірному
просторі ці точки створюють пряму лінію, що проходить через точки О
і (3,-2,0)
Рівняння прямої

r  r1 (1-t)  r2 t

 Раціональний вид: r1w1(1-t)  r2 w2t


r
w1(1-t)  w2t
2. Евклідові перетворення у векторно-
параметричній формі
Евклідові перетворення поділяють на зсув й обертання.
 Зсув. У параметричному вигляді :  x  x  m;

 y   y  n;
z  z  l,

або у векторно-параметричному: r   r  t
де r (x, y, z) –координати точки об’єкта, r'(x', y', z') – координати
точки перетвореного об’єкта , t(m, n, l) – вектор зсуву.
Матриця зсуву для однорідних  1 0 0 0
 0 1 0 0
координат має вигляд: T 
 0 0 1 0
 
m n l 1
Зсув об’єкта
Обертання
Розглянемо обертання навколо координатних осей без перенесення її
початку. Виконаємо обертання навколо осі Z. Для цього позначимо: r –
довжина вектора, а  – кут між вектором і віссю Х. Вектор положення
обертається навколо осі Z на кут  і потрапляє в точку Р‘:

P  x y z 1  r cos  r sin  0 1 Y
P′
y′

P  x y z  1  r cos(  ) r sin(   ) 0 1.

y P

θ

φ
x′ x X
Використовуючи формулу для косинусів суми кутів, перепишемо
вираз для точки Р' у вигляді:
P  x y z  1  r (cos  cos   sin  sin ) r (cos  sin   sin  cos ) 0 1
Використовуючи співвідношення для x, y, z вираз для Р' :
P  x y z  1  x cos   y sin  x sin   y cos  0 1
Перетворена точка має координати:  x   x cos   y sin ,

 y   x sin   y cos ,
 z   z.

Матриці обертання
навколо осі Z навколо осі Х навколо осі Y

 cos  sin  0 0 1 0 0 0 cos  0  sin  0


 sin  cos  0 0 0 cos  sin  0  0 1 0 0
T  T  T 
 0 0 1 0 0  sin  cos  0  sin  0 cos  0
     
 0 0 0 1 0 0 0 1  0 0 0 1
Послідовні перетворення
 Тривимірні обертання обчислюють перемноженням
матриць, тому вони не комутативні, тобто порядок
множення впливає на кінцевий результат.
 Множення матриць – це некомутативна операція, тому
порядок її виконання дуже важливий:
AB  B A
 Матриця, найближча до матриці координатного
вектора, задає перше перетворення, а остання –
останнє перетворення. Математично можна записати
це так:
X  T  X  T1  T2  T3 ...
Обертання навколо довільної точки
на площині
Обертання навколо довільної точки можна реалізувати за допомогою її
переміщення в початок координат, повороту й наступного
переміщення результату назад у початковий центр обертання.
Обертання вектора навколо точки Т(m, n) на довільний кут:
 1 0 0  cos  sin  0  1 0 0
x y  1  x y 1 0 1 0  sin  cos  0  0 1 0
   
 m  n 1  0 0 1 m n 1

 cos  sin  0
x y  1  x y 1  sin  cos  0
 
 m(cos   1)  n sin   n(cos   1)  m sin  1
Обертання навколо довільної осі
в просторі
3. Афінні перетворення у векторно-
параметричному вигляді
r   r0  rx x  ry y  rz z
Де r0 – вектор початку координат;
rx ry rz – напрямні вектори кординатних осей нової
системи координат; Y′
x, y, z – початкові координати об’єкта;

r - радіус-вектор точки
перетворенного об’єкта X′
ry
rx
Умови для того, щоб афінні перетворення
стали евклідовими:

 умова одиничності
 x x2  y x2  z x2  1,
 2
 y
x  y 2
y  z y  1,
2

 x 2  y 2  z 2  1;
 z z z

 умова ортогональності  x x x y  y x y y  z x z y  0,

 x y x z  y y y z  z y z z  0,
 x x  y y  z z  0.
 x z x z x z
Афінні перетворення в матричному
вигляді

 xx yx zx 0
x yy zy 0 
T  y 
 xz yz zz 0
 
 x0 y0 z0 1
4. Перетворення симетрії та
масштабування
 Симетрія відносно

площини XY площини YZ площини XZ

1 0 0 0  1 0 0 0 1 0 0 0
0 1 0 0  0 1 0 0   0 1 0 0 
T  T  T 
0 0 1 0 0 0 1 0 0 0 1 0
     
0 0 0 1 0 0 0 1 0 0 0 1
Тривимірне масштабування

Всі коефіцієнти Мi однакові, то це звичайне


масштабування.
Якщо Мi > 1 – збільшення, 0< Мi <1 – зменшення.
Якщо Мi = 1 – то без зміни, якщо –1 < Мi < 0 – точкова
 Mx 0 0 0
симетрія відносно початку координат і зменшення,  0 My 0 0
якщо Мi < –1 – точкова симетрія і збільшення. T 
Якщо всі Мi різні, тоді масштабування нерівномірне  0 0 Mz 0
в напрямі відповідних осей. Якщо одне з Мi = 1, тоді  
це площинне масштабування, якщо два М i
 0 0 0 1
дорівнюють одиниці, то це однокоординатне
масштабування.
 
1 0 0 0
Рівномірне масштабування: 0 1 0 0 
T 
0 0 1 0 
 
 0 0 0 s 
5. Проективні перетворення у векторно-
параметричному вигляді
 Векторно-параметричний вигляд:
r0 w0  rx wx x  ry w y y  rz wz z
r 
w0  wx x  w y y  wz z
 Параметричний вигляд:
 x0 w0  x x wx x  x y w y y  x z wz z
 x  ,
 w0  wx x  w y y  wz z
 y0 w0  y x wx x  y y w y y  y z wz z
 y  ,
 w0  wx x  w y y  wz z
 z0 w0  z x wx x  z y w y y  z z wz z
 z  ,
 w0  wx x  w y y  wz z
ry

r( x, y, z ) – координати точки вихідного об’єкта;


r ( x, y , z ) – координати точки перетвореного об’єкта;
r0 ( x0 , y 0 , z 0 ) - координати початку перетвореної rx
системи координат з «вагою» w0
rx ( x x , y x , z x ) ry ( x y , y y , z y ) rz ( x z , y z , z z ) r0

– координати кінців векторів осей Х, Y, Z перетвореної системи


координат з відповідними «вагами» wx w y wz
В однорідних координатах проективні перетворення мають вигляд:
 x x wx y x wx z x wx wx 
x w y y wy z y wy wy 
T  y y 
 x z wz y z wz z z wz wz 
 
 x0 w0 y0 w0 z0 w0 w0 

You might also like