Bài giảng Công nghệ đồ họa và hiện thực ảo - Bài 5: Các phép biến đổi mô hình - Trịnh Thành Trung

• Phép biến đổi Affine là phép biến đổi tọa độ điểm đặc

trưng của đối tượng thành tập tương ứng các điểm mới

để tạo ra các hiệu ứng cho toàn đối tượng.

– Ví dụ: phép biến đổi tọa độ với chỉ 2 điểm đầu cuối

của đoạn thẳng tạo thành 2 điểm mới mà khi nối

chúng với nhau tạo thành đoạn thẳng mới.

– Các điểm nằm trên đoạn thẳng sẽ có kết quả là điểm

nằm trên đoạn thẳng mới với cùng phép biến đổi

thông qua phép nội suy.

 

pdf 43 trang yennguyen 2660
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Công nghệ đồ họa và hiện thực ảo - Bài 5: Các phép biến đổi mô hình - Trịnh Thành Trung", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Công nghệ đồ họa và hiện thực ảo - Bài 5: Các phép biến đổi mô hình - Trịnh Thành Trung

Bài giảng Công nghệ đồ họa và hiện thực ảo - Bài 5: Các phép biến đổi mô hình - Trịnh Thành Trung
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
Trịnh Thành Trung 
trungtt@soict.hust.edu.vn 
Bài 5 
CÁC PHÉP BIẾN ĐỔI MÔ HÌNH 
1 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
NỘI DUNG 
1. Tổng quan 
2. Các phép biến đổi hình 
học hai chiều 
3. Ma trận đồng nhất 
4. Các phép biến đổi hình 
học ba chiều 
2 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
TỔNG QUAN 
1 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
4 
Tổng quan 
TỌA ĐỘ 
MÔ 
HÌNH 
TỌA ĐỘ 
THỰC 
TỌA ĐỘ 
HIỂN 
THỊ 
BIẾN ĐỔI 
MÔ HÌNH 
BIẾN ĐỔI 
GÓC NHÌN 
TỌA ĐỘ 
HÌNH 
CHIẾU 
BIẾN ĐỔI 
HÌNH CHIẾU 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
5 
• Biến đổi mô hình (Modeling Transformation) 
Tổng quan 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
6 
• Biến đổi góc nhìn (Viewing Transformation) 
Tổng quan 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
7 
• Biến đổi hình chiếu (Projection Transformation) 
Tổng quan 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
8 
Định nghĩa 
• Các phép biến đổi (Transformation) 
Là các phép ánh xạ tọa độ điểm hay vector thành 
tọa độ hay vector khác 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
9 
• Phép biến đổi Affine là phép biến đổi tọa độ điểm đặc 
trưng của đối tượng thành tập tương ứng các điểm mới 
để tạo ra các hiệu ứng cho toàn đối tượng. 
– Ví dụ: phép biến đổi tọa độ với chỉ 2 điểm đầu cuối 
của đoạn thẳng tạo thành 2 điểm mới mà khi nối 
chúng với nhau tạo thành đoạn thẳng mới. 
– Các điểm nằm trên đoạn thẳng sẽ có kết quả là điểm 
nằm trên đoạn thẳng mới với cùng phép biến đổi 
thông qua phép nội suy. 
Phép biến đổi Affine 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
10 
Các thuộc tính 
• Bảo toàn đoạn thẳng 
– Các đoạn thẳng được bảo toàn, do đó ánh xạ của 
một đoạn thẳng vẫn là một đoạn thẳng 
– Đơn giản hóa quá trình vẽ đoạn thẳng. Chúng ta 
chỉ cần xác định ánh xạ của hai điểm đầu cuối 
của đoạn thẳng và vẽ một đường thẳng nối hai 
điểm đó lại 
– Bảo đảm sự thẳng hàng, do đó các đa giác sẽ 
biến đổi thành các đa giác 
Phép biến đổi Affine 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
11 
• Bảo toàn tính song song 
– Các đoạn thẳng song song sẽ biến đổi thành 
các đoạn thẳng song song 
– Ví dụ: Hình bình hành sẽ biến đổi thành hình 
bình hành 
• Bảo toàn các khoảng cách tỉ lệ 
– Các tỉ lệ sẽ được bảo toàn. Ví dụ: Trung điểm 
của đoạn thẳng sau khi biến đổi sẽ là trung 
điểm của đoạn thẳng mới 
Phép biến đổi Affine 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
12 
• Mọi phép biến đổi phức tạp đều có thể tạo thành 
từ các phép biến đổi cơ sở như: 
– Dịch chuyển (Translation) 
– Tỉ lệ (Scaling) 
– Quay (Rotation) 
– Biến dạng (Shearing) 
Phép biến đổi Affine 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
13 
VÍ DỤ 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
CÁC PHÉP BIẾN ĐỔI 2 CHIỀU 
2 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
15 
• Việc biến đổi các đối tượng làm thay đổi các 
điểm P thành các điểm Q theo thuật toán 
• Việc biến đổi P sử dụng tọa độ của P (Px,Py) ánh 
xạ thành các tọa độ mới Q (Qx,Qy) 
• Việc biến đổi có thể biểu diễn thông qua hàm T, 
hàm ánh xạ của điểm: 
T(Px,Py) = (Qx,Qy) 
hoặc 
T(P) = Q 
Biểu diễn ma trận 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
16 
• Phép biến đổi đồ họa Afin (Affine transformation) T ánh 
xạ tập P sang tập Q: 
– với a, b, c, d, tx and ty là các hệ số 
• Biểu diễn ma trận: 
hay 
Q = MP + Tr 
Biểu diễn ma trận 
xxxx t bP aP Q 
yyyy t dP cP Q 
y
x
y
x
y
x
t
t
P
P
dc
ba
Q
Q
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
• Phương pháp biểu diễn đối tượng P = [ x y ] 
• Phép biến đổi vị trí điểm 
• Thực thi phép biến đổi đúng trên 1 điểm ảnh sẽ đúng 
trên toàn bộ đối tượng 
dc
ba
T
         '' y dybx *y * xcyax
dc
ba
xTP 
y 
x 
z 
pM 
pW 
Biểu diễn ma trận 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
PHÉP BẤT BIẾN 
• Phép bất biến 
x’ = x 
y’ = y 
• Ma trận biến đổi của phép bất 
biến 
10
01
T
         '' y 1y0x 01
10
01
*y * xyxxTP 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
PHÉP TỊNH TIẾN 
• Phép tịnh tiến (Translate) 
x’ = x + a 
y’ = y + b 
• Ma trận dịch chuyển 
 baTr 
         y' 'b y xaxTrP 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
PHÉP TỈ LỆ 
• Phép tỉ lệ (Scale) 
x’ = a*x 
y’ = b*y 
• Ma trận biến đổi của phép tỉ lệ 
b
a
T
0
0
         '' y 0 0
0
0
*y * xbyxyax
b
a
xTP 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
PHÉP BIẾN DẠNG 
• Phép biến dạng (Shear) 
• Ma trận biến dạng 
Trục x: Trục y: 
1
01
a
T 
10
1 b
T
         '' y 1ybx 01
10
1
*y * xyx
b
xTP 
Theo chiều x 
x’ = x + ay 
y’ = y 
Theo chiều y 
x’ = x 
y’ = y + bx 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
PHÉP XOAY 
x = r cos , y = r sin 
x’ = r cos ( + ), y’ = r sin ( + ) 
x’ = r ( cos cos - sin sin ) 
 = x cos - y sin 
y’ = r ( sin cos + cos sin ) 
 = x sin + y cos 
[x' y']= [xcos - ysin xsin + ycos] 
• Phép xoay (Rotate) 
x’ = xcos - ysin 
y’ = xsin + ycos 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
• Ma trận biến đổi của phép bất 
biến 


cossin
sincos
][T
PHÉP XOAY 
     
    '' y cos.x.sin sin.x.cos
cossin
sincos
*y *
xyy
xTP



©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
• Thông thường chúng ta cần phải thực hiện một 
phép biến đổi phức tạp từ nhiều phép biến đổi cơ 
bản 
– Ví dụ: Đồng thời tịnh tiến một đối tượng, xoay 
và thay đổi tỉ lệ 
• Phép biến đổi này gọi là phép biến đổi tổ hợp 
• Tổ hợp của 2 hay nhiều các phép biến đổi affine 
cũng là một phép biến đổi affine 
Phép biến đổi tổng hợp 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
• Phép xoay quanh một điểm gốc (pivotal point) 
• Thực hiện phép tịnh tiến tất cả các điểm theo 
vector (-xc,-yc) 
• Xoay quanh gốc trục tọa độ 
• Thực hiện phép tịnh tiến tất cả các điểm về vị trí 
ban đầu theo vector (xc,yc) 
Phép biến đổi tổng hợp 
(xc,yc) 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
• Vấn đề gặp phải 
– Các biến đổi affine được thực hiện bằng các phép 
biến đổi tuyến tính, sau đó là phép tịnh tiến 
– Tuy nhiên, phép tịnh tiến được thực hiện bằng một 
phép cộng thay vì một phép nhân ma trận 
– Cần tìm cách thực hiện các phép biến đổi bằng cách 
chỉ cần nhân các ma trận lại với nhau 
Phép biến đổi tổng hợp 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
HỆ TỌA ĐỘ ĐỒNG NHẤT 
3 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
TỌA ĐỘ ĐỒNG NHẤT 
Tọa độ đồng nhất (Homogeneous 
Transform) 
• Phương pháp biểu diễn mở rộng 
thông qua tọa độ đồng nhất của 
các vector vị trí 
• Với ứng dụng của phép chiếu hình 
học mà ở đó tọa độ điểm được mô 
tả dưới ma trận [ x* y* h] 
– với x = x*/h, y = y*/h, z = z*/h và h là 
một số thực tuỳ ý 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
TỌA ĐỘ ĐỒNG NHẤT 
• Ðưa ra cái nhìn hợp nhất của các 
phép biến đổi dưới phép nhân ma 
trận, hỗ trợ cho việc xử lý bằng cả 
phần cứng và phần mềm 
• Cho phép kết hợp với cả các phép 
biến đổi đặc biệt không tuyến tính 
khác (non-affine) như: 
– Phép chiếu phối cảnh 
(Perspective projections) 
– Uốn (bends), vuốt (tapers)... 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
• Kết hợp các các phép biến đổi tạo thành ma trận tích 
đơn giản duy nhất. Tránh nhầm lẫn về thứ tự của các 
phép nhân khi sử dụng. 
– Chú ý khi nhân ma trận: AB cho kết quả khác BA 
– Ví dụ: 
1. Scale → Translate 
2. Translate → Scale 
Tọa độ đồng nhất 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
• Ma trận biến đổi đồng nhất 
Ma trận đồng nhất 
1
0
0
][
nm
dc
ba
T
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
PHÉP TỊNH TIẾN 
• Ma trận đồng nhất 
]1[
1
010
001
]1[]1''[ nymx
nm
yxyx 
1
010
001
][
nm
T
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
PHÉP TỈ LỆ 
• Ma trận đồng nhất 
100
020
001
][ S
S
T
]12.1.[
100
020
001
]1[]1''[ SySxS
S
yxyx 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
PHÉP XOAY 
• Ma trận đồng nhất 
100
0cossin
0sincos
]1[]1''[ 

yxyx
]1cos.sin.sin.cos.[  yxyx 
100
0cossin
0sincos
][ 

T
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
CÁC PHÉP BIẾN ĐỔI 3 CHIỀU 
4 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
BIẾN ĐỔI TRONG 
KHÔNG GIAN BA CHIỀU 
• Biểu diễn điểm trong không 
gian 3 chiều 
– [ x* y* z* h ] = [ x y z 1 ]. [ T ] 
– [x' y' z' 1 ]= [ x*/h y*/h z*/h 1 ][ 
T ] 
• Ma trận biến đổi 
snml
rjig
qfed
pcba
][T
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
PHÉP TỊNH TIẾN 
• Ma trận đồng nhất 
1
0100
0010
0001
][
dzdydx
T
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
PHÉP TỈ LỆ 
• Ma trận đồng nhất 
1000
000
000
000
][
z
y
x
S
S
S
T
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
PHÉP BIẾN DẠNG 
• Ma trận đồng nhất 
1000
01
01
01
][
ig
fd
cb
T
]1[]1'''[ zfycxizybxgzydxzyx 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
• Trong 2D, phép xoay chỉ được thực hiện xung quanh gốc 
tọa độ 
• Trong 3D, một đối tượng có thể xoay theo 3 trục: trục x, 
trục y, trục z 
• Xoay theo chiều dương là ngược chiều kim đồng hồ và 
xoay theo chiều âm là theo chiều kim đồng hồ 
«Mọi phép xoay xung quanh gốc tọa độ đều có thể chia 
thành phép quay quanh trục x, sau đó quay quanh trục y 
và sau đó quay quanh trục z» 
– Định lý Euler 
Phép xoay 
x 
y 
z 
x 
y 
z 
x 
y 
z 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
PHÉP XOAY 
• Ma trận đồng nhất 
– Theo trục x 
1000
00
00
0001


cossin
sincos
][Tx
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
PHÉP XOAY 
– Theo trục y 
– Theo trục z 
1000
0cos0sin
0010
0sin0cos
][


Ty
1000
0100
00cossin
00sincos
][
Tz
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
– Theo trục (ux, uy, uz) bất kỳ 
với 
• c = cos θ 
• s = sin θ 
Phép xoay 

File đính kèm:

  • pdfbai_giang_cong_nghe_do_hoa_va_hien_thuc_ao_bai_5_cac_phep_bi.pdf