ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 1/16
C
C
a
a
ù
ù
c
c
p
p
h
h
e
e
ù
ù
p
p
b
b
i
i
e
e
á
á
n
n
đ
đ
o
o
å
å
i
i
t
t
r
r
o
o
n
n
g
g
đ
đ
o
o
à
à
h
h
o
o
ï
ï
a
a
h
h
a
a
i
i
c
c
h
h
i
i
e
e
à
à
u
u
D
D
a
a
ã
ã
n
n
n
n
h
h
a
a
ä
ä
p
p
• Bản chất của phép biến đổi hình học là thay đổi các
mô tả về tọa độ của đối tượng, từ đó làm đối tượng
thay đổi về hướng, kích thước, hình dạng.
• Có hai quan điểm về phép biến đổi hình học, đó là:
♦ Biến đổi đối tượng : thay đổi tọa độ của các điểm mô tả
đối tượng theo một qui tắc nào đó.
♦ Biến đổi hệ tọa độ : tạo ra một hệ tọa độ mới và tất cả
các điểm mô tả đối tượng sẽ được chuyển về hệ tọa độ
mới.
• Các phép biến đổi hình học cơ sở : tònh tiến, quay,
biến đổi tỉ lệ.
C
C
a
a
ù
ù
c
c
p
p
h
h
e
e
ù
ù
p
p
b
b
i
i
e
e
á
á
n
n
đ
đ
o
o
å
å
i
i
h
h
ì
ì
n
n
h
h
h
h
o
o
ï
ï
c
c
c
c
ơ
ơ
s
s
ơ
ơ
û
û
• Một phép biến đổi điểm là một ánh xạ T :
( ) ( )
',',
:
22
yxQyxP
RRT
a
→
• Hay T là hàm số
( )
yxT ,
theo hai biến
( )
yx,
:
( )
( )
=
=
yxgy
yxfx
,'
,'
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 2/16
• Phép biến đổi affine là phép biến đổi với
( )
yxf ,
và
( )
yxg ,
là các hàm tuyến tính. Phép biến đổi này có
dạng :
0,,,,,,,
'
'
≠−∈
++=
++=
bcadRfedcba
fdybxy
ecyaxx
• Ta chỉ khảo sát các phép biến đổi affine, nên sẽ
dùng cụm từ “phép biến đổi” thay cho “phép biến đổi
affine”
P
P
h
h
e
e
ù
ù
p
p
t
t
ò
ò
n
n
h
h
t
t
i
i
e
e
á
á
n
n
• Phép tònh tiến dùng để dòch chuyển đối tượng từ vò
trí này sang vò trí khác.
• Nếu gọi
x
tr
và
y
tr
lần lượt là độ dời theo trục hoành
và trục tung thì tọa độ của điểm mới
( )
',' yxQ
sau khi
tònh tiến điểm
( )
yxP ,
sẽ là :
+=
+=
y
x
tryy
trxx
'
'
,
( )
yx
trtr ,
được gọi là vector tònh tiến hay vector độ dời.
P
x
y
Q
tr
x
tr
y
(a)
y
x
(2,3) (4,3)
(6,1) (8,1)
(b)
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 3/16
P
P
h
h
e
e
ù
ù
p
p
b
b
i
i
e
e
á
á
n
n
đ
đ
o
o
å
å
i
i
t
t
ỉ
ỉ
l
l
e
e
ä
ä
• Phép biến đổi tỉ lệ làm thay đổi kích thước đối
tượng. Để co hay giãn tọa độ của một điểm
( )
yxP ,
theo trục hoành và trục tung lần lượt là
x
s
và
y
s
, ta
nhân
x
s
và
y
s
lần lượt cho các tọa độ của P.
=
=
ysy
xsx
y
x
.'
.'
,
x
s
và
y
s
được gọi là các hệ số tỉ lệ.
• Khi các giá trò
x
s
,
y
s
nhỏ hơn 1, phép biến đổi sẽ
thu nhỏ đối tượng, ngược lại khi các giá trò này lớn
hơn 1, phép biến đổi sẽ phóng lớn đối tượng.
• Khi
x
s
,
y
s
bằng nhau, ta gọi đó là phép đồng dạng
(uniform scaling), phép đồng dạng là phép biến đổi
bảo toàn tính cân xứng của đối tượng.
• Tâm tỉ lệ là điểm không bò thay đổi qua phép biến
đổi tỉ lệ.
• Nhận xét rằng khi phép biến đổi tỉ lệ thu nhỏ đối
tượng, đối tượng sẽ được dời về gần gốc tọa độ hơn,
tương tự khi phóng lớn đối tượng, đối tượng sẽ được
dòch chuyển xa gốc tọa độ hơn.
y
x
(2,3) (4,3)
(10,1.5)(5,1.5)
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 4/16
P
P
h
h
e
e
ù
ù
p
p
q
q
u
u
a
a
y
y
• Phép quay làm thay đổi hướng của đối tượng.
• Một phép quay đòi hỏi phải có tâm quay, góc quay.
Góc quay dương thường được quy ước là chiều ngược
chiều kim đồng hồ. Ta có công thức biến đổi của
phép quay điểm
( )
yxP ,
quanh gốc tọa độ một góc
α
:
+=
−=
yxy
yxx
.cos.sin'
.sin.cos'
αα
αα
y
x
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 5/16
H
H
e
e
ä
ä
t
t
o
o
ï
ï
a
a
đ
đ
o
o
ä
ä
t
t
h
h
u
u
a
a
à
à
n
n
n
n
h
h
a
a
á
á
t
t
• Tọa độ thuần nhất của một điểm trên mặt phẳng
được biểu diễn bằng bộ ba số tỉ lệ
( )
hyx
hh
,,
không
đồng thời bằng 0 và liên hệ với các tọa độ
( )
yx,
của
điểm đó bởi công thức :
h
y
y
h
x
x
hh
== ,
• Nếu một điểm có tọa độ thuần nhất là
( )
zyx ,,
thì nó
cũng có tọa độ thuần nhất là
( )
zhyhxh .,.,.
trong đó h
là số thực khác 0 bất kì.
• Mỗi điểm
( )
yxP ,
sẽ được biểu diễn dưới dạng tọa độ
thuần nhất là
( )
1,, yx
.
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 6/16
B
B
i
i
e
e
å
å
u
u
d
d
i
i
e
e
ã
ã
n
n
m
m
a
a
t
t
r
r
a
a
ä
ä
n
n
c
c
u
u
û
û
a
a
c
c
a
a
ù
ù
c
c
p
p
h
h
e
e
ù
ù
p
p
b
b
i
i
e
e
á
á
n
n
đ
đ
o
o
å
å
i
i
• Phép tònh tiến
( ) ( )
=
1
010
001
.11''
yx
trtr
yxyx
hay
( )
yxT
trtrMPQ ,.=
với
( )
=
1
010
001
,
yx
yxT
trtr
trtrM
• Phép biến đổi tỉ lệ
( ) ( )
=
100
00
00
.11''
y
x
s
s
yxyx
hay
( )
yxS
ssMPQ ,.=
với
( )
=
100
00
00
,
y
x
yxS
s
s
ssM
• Phép quay quanh gốc tọa độ
( ) ( )
−=
100
0cossin
0sincos
.11'' αα
αα
yxyx
hay
( )
α
R
MPQ .=
với
( )
−=
100
0cossin
0sincos
αα
αα
α
R
M