Tải bản đầy đủ (.ppt) (46 trang)

slike bài giảng đồ họa máy tính đồ họa 2d các phép biến đổi

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (337.73 KB, 46 trang )

ĐỒ HỌA 2D
ĐỒ HỌA 2D
CÁC PHÉP BIẾN ĐỔI
CÁC PHÉP BIẾN ĐỔI
Giảng viên Bùi Tiến Lên
Trang 2
Phép biến đổi là gì ?
Phép biến đổi là gì ?
Phép biến đổi là một ánh xạ từ không gian R
2
vào R
2
:
-
Biến một điểm P thành một điểm P’
-
Biến một đối tượng S thành đối tượng S’
P
P’
T
S
S’
Ảnh
Trang 3
Công thức phép biến đổi
Công thức phép biến đổi



=
=


=

)P,P(TP
)P,P(T P
hay
)P(T'P
hàm dạng đổi Biến
P' P
R R : T
xạ ánh dạng đổi Biến
yxy
'
y
yxx
'
x
22

Trang 4
Đònh nghóa biến đổi affine
Đònh nghóa biến đổi affine
Phép biến đổi affine là phép biến đổi mà các hàm biến
đổi T
x
, T
y
có dạng tuyến tính.
T
x
(x, y) = ax + cy + e

T
y
(x, y) = bx + dy + f
Trang 5
Hệ tọa độ thuần nhất
Hệ tọa độ thuần nhất
Hệ tọa độ Đề các Hệ tọa độ thuần nhất
P(P
x
, P
y
) P(P
x
, P
y
, 1)
P(P
x
, P
y
) P(wP
x
, wP
y
, w)
Trang 6
Công thức xác đònh ảnh của một điểm
Công thức xác đònh ảnh của một điểm
( )
( )











=
=



++=
++=
1fe
0dc
0ba
.1PP1PP
hoặc
M.P'P
trận ma Dạng
fdPbPP
ecPaPP
hàm Dạng
yx
'
y

'
x
yx
'
y
yx
'
x
Ma trận biến đổi
Trang 7
Công thức xác đònh ảnh của một điểm
Công thức xác đònh ảnh của một điểm















++=
+=
145

023
022
đổi biến trận ma dạng Hoặc
4 2y 2x- y) (x,T
5 –3y 2x y) (x,T
hàm dạng đổi biến thức Công
y
x
Trang 8
Caáu truùc döõ lieäu
Caáu truùc döõ lieäu
// Lưu thông tin phep bien doi affine
struct TAffine2D {
double M[3][3];
};
Trang 9
Bieỏn ủoồi ủieồm Caứi ủaởt
Bieỏn ủoồi ủieồm Caứi ủaởt
TPoint2D TransformPoint2D(TAffine2D T, TPoint2D P)
{
TPoint2D Q;
Q.x = T.M[0][0]*P.x + T.M[1][0]*P.y + T.M[2][0];
Q.y = T.M[0][1]*P.x + T.M[1][1]*P.y + T.M[2][1];
return Q;
}
Trang 10
Cài đặt
Cài đặt
void Read_Transform_Convert_Draw_2D(CDC *pDC, char *
filename

filename, TAffine2D T)
{
. . .
TPoint2D P1, P2;
CPoint Q1, Q2;
int r, g, b;
// Doc doan thang tu tap tin
f >> P1.x >> P1.y >> P2.x >> P2.y >> r >> g >> b;
// Bien doi doan thang
P1 = TransformPoint2D(T, P1);
P2 = TransformPoint2D(T, P2);
// Chuyen toa do doan thang
Q1 = ConvertWorldToScreen2D(P1);
Q2 = ConvertWorldToScreen2D(P2);
// Ve doan thang
pDC->MoveTo(Q1.x, Q1.y);
pDC->LineTo(Q2.x, Q2.y);
. . .
}
đọc
đọc
đọc
đọc
biến đổi
biến đổi
biến đổi
biến đổi
xén
xén
xén

xén
chuyển tọa độ
chuyển tọa độ
chuyển tọa độ
chuyển tọa độ
vẽ
vẽ
vẽ
vẽ
Trang 11
Tính chất phép biến đổi affine
Tính chất phép biến đổi affine
Một phép biến đổi affine luôn có 3 tính chất
-
Bảo toàn tính thẳng
-
Bảo toàn tỉ lệ
-
Bảo toàn song song
Trang 12
Baỷo toaứn tớnh thaỳng
Baỷo toaứn tớnh thaỳng
GT
d laứ ủửụứng thaỳng
d = T(d)
KL d laứ ủửụứng thaỳng
T
d d
Trang 13
Baỷo toaứn tổ leọ

Baỷo toaứn tổ leọ
GT
A, B, C laứ 3 ủieồm
thaỳng haứng
A = T(A)
B = T(B)
C = T(C)
KL A:B:C = A:B:C
A
B
C
A
B
C
T
Trang 14
Baûo toaøn song song
Baûo toaøn song song
GT
d
1
// d
2
d
1

= T(d
1
)
d

2
’ = T(d
2
)
KL
d
1

// d
2

T
d
1
d
2
d
1

d
2

Trang 15
Hệ quả
Hệ quả
-Đoạn thẳng biến thành đoạn thẳng.
-Đa giác biến thành đa giác.
-Đường cong bezier biến thành đường cong Bezier.
T
T

T
Trang 16
Bieán ñoåi ñoái töôïng
Bieán ñoåi ñoái töôïng
p
h
e
ù
p

b
i
e
á
n

ñ
o
å
i
Trang 17
Bieán ñoåi ñoái töôïng
Bieán ñoåi ñoái töôïng
Trang 18
Bieán ñoåi ñoái töôïng
Bieán ñoåi ñoái töôïng
Trang 19
Bieán ñoåi ñoái töôïng
Bieán ñoåi ñoái töôïng
Trang 20

Bieán ñoåi ñoái töôïng
Bieán ñoåi ñoái töôïng
Trang 21
Bieán ñoåi ñoái töôïng
Bieán ñoåi ñoái töôïng
Trang 22
Bieán ñoåi ñoái töôïng
Bieán ñoåi ñoái töôïng
Trang 23
Công thức xác đònh ảnh của một điểm
Công thức xác đònh ảnh của một điểm
( ) ( )
( ) ( )












=













=
145
023
022
113103
B' thành biến B
145
023
022
122145
A' thành biến A
Trang 24
Các phép biến đổi affine cơ sở
Các phép biến đổi affine cơ sở
Có 3 phép biến đổi cơ sở
-
Phép tònh tiến
-
Phép quay
-
Phép tỉ lệ
Trang 25

Phép tònh tiến (translation)
Phép tònh tiến (translation)
Dùng để thay đổi vò trí của các đối tượng từ vò trí này
sang vò trí khác.
Tham số :
- Độ dòch chuyển trên trục Ox : t
x
- Độ dòch chuyển trên trục Oy : t
y
t
x
t
y

×