Computer Graphics 2 D Transformations
-
Upload
malinka-ivanova -
Category
Spiritual
-
view
3.100 -
download
4
description
Transcript of Computer Graphics 2 D Transformations
Компютърна графикаКомпютърна графика
Двумерни координатни Двумерни координатни трансформациитрансформации
доц. М. Иванова
Технически университет - София
Двумерни координатни Двумерни координатни трансформациитрансформации
Транслация
M X
y
x
P(X,Y)
0
Y
N
P’(X’,Y’)
Двумерни координатни Двумерни координатни трансформациитрансформации
Ротация
x
y
P’(P’,Y’)
P(X,Y)
0
Двумерни координатни Двумерни координатни трансформациитрансформации
Мащабиране
X
P(X,Y)
Kx X
Ky Y
Y
P’(X’,Y’)
y
x0
Двумерни координатни Двумерни координатни трансформациитрансформации
Симетрия относно началото на координатната система
0
P(X,Y)
P’(X’,Y’)x
y
Двумерни координатни Двумерни координатни трансформациитрансформации
Симетрия относно остта ОХ
P(X,Y)
P’(X’,Y’)
x
y
0
Двумерни координатни Двумерни координатни трансформациитрансформации
Симетрия относно остта ОУ
P(X,Y)P’(X’,Y’)
x
y
0
Двумерни координатни Двумерни координатни трансформациитрансформации
Симетрия относно права с уравнение
y = x
Y=X
0
P’(X’,Y’)
P(X,Y)
y
Двумерни координатни Двумерни координатни трансформациитрансформации
В компютърната графика една точка се представя матрично като
вектор-ред [X Y 1] – хомогенни координати
Двумерните трансформации се представят чрез матрици с размерност 3 * 3
Двумерни координатни Двумерни координатни трансформации – матрично трансформации – матрично представянепредставяне
Трансформация над точка с координати (X, Y) в нова точка (X’, Y’) чрез прилагане на всяка последователност от транслации, ротации и други се реализира чрез следното матрично умножение
[
Матрицата
с размери 3 * 3, представяща произволна двумерна трансформация, се нарича обобщена трансформационна матрица и тя еднозначно и напълно определя трансформацията
Координатите на новополучената точка след прилагане на обобщена трансформация се получават в следния вид:
Транслация с вектор (M, N)
Двумерни координатни трансформации – матрично представяне
Двумерни координатни Двумерни координатни трансформации – матрично трансформации – матрично представянепредставянеРотация на ъгъл относно
началото на координатната система
Двумерни координатни Двумерни координатни трансформации – матрично трансформации – матрично представянепредставянеМащабиране с коефициенти Кx и
Ky
Двумерни координатни Двумерни координатни трансформации – матрично трансформации – матрично представянепредставянеСиметрия относно началото на
координатната система
Двумерни координатни Двумерни координатни трансформации – матрично трансформации – матрично представянепредставянеСиметрия относно оста OX
Двумерни координатни Двумерни координатни трансформации – матрично трансформации – матрично представянепредставянеСиметрия относно оста OY
Двумерни координатни Двумерни координатни трансформации – матрично трансформации – матрично представянепредставянеСиметрия относно права y = x
Двумерни координатни Двумерни координатни трансформации – матрично трансформации – матрично представянепредставяне
Описаните по-горе трансформации са афинни трансформации, т.е. трансформации, които запазват топологията на преобразуваните елементи: ◦ права се трансформира в права; ◦ средата на отсечка - в среда на новата отсечка;◦ успоредни прави след трансформиране остават
успоредни; ◦ две пресичащи се прави след трансформиране
остават пресичащи се, като пресечната им точка се трансформира в пресечната точка на трансформираните прави
Двумерни координатни Двумерни координатни трансформации – матрично трансформации – матрично представянепредставяне
Последователното прилагане на трансформации може да се запише във вид на матрица, получена чрез умножение на матриците, представящи отделните трансформации
Матрицата, представяща ротация около произволен центьр в равнината, се получава чрез умножение на матриците, представящи трите трансформации: транслация до началото на координатната система (транслация с параметри –Xc и -Yc), ротация около началото на координатната система на ъгъл α и транслация обратно до точката C (транслация с Xc и Yc )
1
010
001
*
100
0cossin
0sincos
*
1
010
001
YcXcYcXc
Ротация около произволна точка
x
y
О
C(Xc,Yc)
x
y
О x
y
О
C(Xc,Yc)
x
y
О