Адабиётлар: иловадаги [1], [2],[3],[4],[5]
Интернет: www.referat.ru
МАЪРУЗА № 2
Икки улчамли геометрик узгартиришлар.
Режа:
1. Икки улчамли геометрик узгартиришлар( Силжитиш матрицаси, масштаблаштириш
матрицаси, буриш матрицаси)
2. Геометрик узгартиришларда бир турли координаталарни куллаш.
3. Икки улчамли узгартиришлар композицияси.
Таянч иборалар:
силжитиш матрицаси, масштаблаштириш матрицаси, буриш матрицаси,
бир турли координаталар.
Текисликда бирор Р(х,у) нуктани бирор жойга силжитиш учун X координатасига
dx ни, Y координатасига dy ни кушиш керак.
x
1
=x+dx , y
1
=y+dy (1)
вектор куринишда куйидагича ёзиш мумкин:
Р=[х,у], P’=[x’,y’], T=[dx,dy], P’=P+T,
[x’,y’]=[x,y]+[dx,dy] (2)
P’=P+T,
(3)
(1)
тенгламани объектни хар бир нуктасига кулаш мумкин. Тугри чизикни факат
боши ва охирига кулласангиз хам объект силжийди. Бу коида масштаблаштириш
(кенгайтириш ва сикиштириш) учун хам уринли.
Нуктани Х уки буйича Sx марта, Y уки буйича Sy марта масштаблаштириш
мумкин.
x’=x*Sx ; y’=y*Sy (4)
Sx 0
[x’,y’]=[x,y]* 0 Sy
(5)
P’=P*S
(6)
Масштаблаштириш координата бошига нисбатан бажарилади. Масштаб
коэффициенти 1 дан кичик булса, объект кичраяди. Агар Sx
Sy булса, объектни
пропорцияси узгаради. Хар кандай нуктани координата бошига нисбатан бирор бурчакка
буриш мумкин:
x’=xcos
- ysin
,
y’=xsin
+ycos
(7)
5
cos 0 sin0
[x' y'] = [x y]* - sin 0 cos0 (8)
Р' = Р*R
(9)
Cоат стрелкаси буйича буриш манфий буриш булади. Соат срелкасига карши буриш
мусбат буриш булади.
cos (- 0) = cos 0
sin (- 0) = - sin 0
Еттинчи тенгламани куйидаги расмдан хосил килинишни киламиз.
Буриш координата бошига нисбатдан бажарилади. Р ва Р1 координата бошидан бир
хил масофада жойлашган. Оддий тригонометрик койидалардан куйидагиларни ёзиш
мумкин.:
х = r*cos a
y = r* sin a (10)
x'=r*cos (0+a) = r*cosa* cos0 - r*sina*sin0
y'= r*sin(0+a) = r*cosa* sin 0 +r*sina* cos 0 (10)
10 –чи тенгламани 11 – га куйиб 7 –чи тенгламани чикариш мумкин.
Бир турли координаталарни геометрик узгартиришларда куллаш.
Аввалги мавзуда силжитиш, масштаблаштириш ва буришлардан алохида
бажарилар эди. Буни программалаштириш нокулай. Агар бир турли координаталарни
кулласак, шу уч амални бир йул билан бажариш мумкин. Бир турли координаталар
6
геометрияда киритилган булиб, хозирда компьютер графикасида кенг
кулланилади. Куп график пакетларда дисплей процессори бир турли координаталар билан
ишлайди. Бунда нукта уч улчам билан киритилади.
Р(х,у) нукта учта элементли вектор катор билан таърифланади:
P(w*x,w*y,w) ; w
0
P(X,Y,w) бир турли координаталар билан берилса, уни декарт координаталарини
куйидагича топиб олиш мумкин:
x=X/w, y=Y/w, w=1
Бир турли координаталарни w коэфициент билан уч улчамли фазога киритилган
икки улчамли нукта деб тушуниш мумкин. Геометрик узгартириш матрицаларини 3х3
матрицалар билан алмаштириш мумкин. Силжитиш тенгламасини матрица оркали
куйидагича ёзиш мумкин:
1 0 0
[X ‘ , Y ‘, 1]=[X, Y, 1]* 0 1 0
dx dy 1
Масштаблаштириш матрицасини куйидаги куринишда ёзишимиз мумкин:
Sx
0 0
[X ‘ , Y ‘, 1]=[X, Y, 1]* 0 Sy 0
0 0 1
Буриш тенгламасини матрица куринишида куйидагича ёзиш мумкин:
CosA SinA 0
[X ‘ , Y ‘, 1]=[X, Y, 1] * -SinA Cos A 0
0 0 1
Икки улчамли узгартиришлар композицияси.
Аввалги мавзудаги R, Т, S матрицалари купайтиришини бир йула бажариш
мумкин. Бу ерда асосий максад бирор объектни харакатлантириб, узгартиришлар
композициясини куришдир.
Бирор бир Р нукта устида куйидаги композицияни бажарамиз:
1). Р
1
нуктани координата бошига кучирамиз;
7
2). Бирор бир бурчакка бурамиз;
3). Яна аввлги жойига кайтарамиз.
Бу амаллар матрица куринишида куйидагича ёзилади:
1 0 0
CosA SinA 0
1 0 0
0 1 0 * -SinA CosA 0 * 0 1 0 =
-x -y 1 0 0 1 x y 1
CosA SinA 0
= -SinA CosA 0
X*(1-CosA)+y*SinA y*(1-CosA)-x*SinA 1
Аналогик равишда, объектни катталаштириб, бирор бир масофага силжитиб, яна
кайтариб жойига куйиш мумкин. Бу амаллар куйидаги матрица билан ёзилади:
1 0 0 S
X
0 0 1 0 0
0 1 0 * 0 S
Y
0 * 0 1 0 =
-x –y 1 0 0 1 x y 1
S
X
0 0
= 0 S
Y
0
X(1-S
X
) Y(1-S
Y
) 1
Композиция ишлатиш мультипликация кадрлар яратишда кулланилади.
Назорат саволлари.
1.
Силжитиш матрицасини тушунтиринг?
2.
Масштаблаштириш матрицасини тушунтиринг?
3.
Буриш матрицасини тушунтиринг?
4.
Бир турли координаталарни куллаш афзаллигини тушунтиринг?
5.
Композиция ишлатишни тушунтиринг?
Do'stlaringiz bilan baham: |