Download as pdf or txt
Download as pdf or txt
You are on page 1of 38

ĐỒ HỌA MÁY TÍNH

Chương 3: Các phép biến hình


Tại sao sử dụng phép biến hình
• Mô hình hóa:
• Sử dụng đối tượng với tọa độ tự nhiên/tiện lợi
• Nhiều cách thể hiện của cùng một hình dạng nào đó
• Tạo ra sự liên kết giữa các đối đượng nối nhau bởi khớp nối (hoạt ảnh
robot)
• Khung nhìn:
• Sự độc lập giữa cửa sổ và khung nhìn
• Camera ảo: các phép chiếu song song và chiếu phối cảnh
Tại sao sử dụng phép biến hình
Tại sao sử dụng phép biến hình
Nội dung
1. Một số khái niệm cơ bản
2. Một số kiến thức về đại số tuyến tính
3. Các phép biến hình 2D
4. Hệ tọa độ thuần nhất
5. Các phép biến hình 3D
1. Một số khái niệm cơ bản
Các phép biến hình
• Thế nào là một phép biến hình?
• P’ = T(P)
• Làm thay đổi vị trí, hình dạng, kích thước...
Các loại phép biến hình
• Liên tục (bảo toàn các hình liền nhau)
• Tương ứng 1 – 1 (có thể thực hiện ngược lại)
• Được phân chia dựa trên một số đại lượng và tính đối xứng
• Cùng kích thước (bảo toàn khoảng cách)
• Đối xứng
• Quay và tịnh tiến
• Đồng dạng (bảo toàn góc)
• Co giãn đồng nhất
• Affine (giữ nguyên tính song song của các đường)
• Co giãn k đồng nhất, kéo giãn.
• Cộng tuyến - giữ nguyên đường thẳng
• Phối cảnh
• Phi tuyến (biến đường thẳng thành đường cong)
• Xoắn, gói, uốn
Một số hệ tọa độ
• Hệ tọa độ thế giới
• Hệ tọa độ địa phương
• Hệ tọa độ máy quay
Hệ tọa độ thế giới
• Hệ tọa độ thế giới: Dùng để định nghĩa vị trí của các đối
tượng và các hệ tọa độ khác.
Hệ tọa độ địa phương
• Dùng để định nghĩa hình dạng của đối tượng cụ thể.
• Tạo thuận lợi để mô tả các đối tượng tại một vị trí xác định.
• Đối tượng được định nghĩa trong hệ tọa độ này rồi kết hợp với
các phép tịnh tiến, quay trong hệ tọa độ thế giới giúp việc định
nghĩa các đối tượng đơn giản hơn.
Hệ tọa độ máy quay
• Toàn bộ cảnh thu được thông qua phép chiếu lên một mặt
phẳng được gọi là chiếu phối cảnh.
• Vị trí của máy quay sẽ ảnh hưởng đến ảnh thu được.
• Xác định bởi
• Vị trí p
• Hướng nhìn v
• Hướng lên trên w
• Khoảng cách d đến mặt phẳng nhìn
2. Một số kiến thức ĐSTT
3. Các phép biến hình 2D
3. Các phép biến hình 2D
• Phép tịnh tiến
• Phép co giãn
• Phép kéo
• Phép quay
Phép tịnh tiến
• Xét điểm P là P(x, y)
• P(x,y) chuyển thành điểm P’(x’,y’) có khoảng cách dx theo phương
Ox, dy theo phương Oy
• x’ = x + dx; y’ = y + dy
𝑥 𝑥′ 𝑑𝑥
• Định nghĩa các vector cột: P = 𝑦 , P′ = ,T=
𝑦′ 𝑑𝑦
• Khi đó: P’ = P + T
Phép co giãn
• Điểm P: P(x,y)
• Thực hiện một phép co giãn biến P thành P’(x’,y’) bằng cách
nhân thêm giá trị sx theo trục x, sy theo trục y
x’ = x . sx, y’ = y . sy
𝑠𝑥 0
• Định nghĩa ma trận: S = 0 𝑠𝑦

𝑥′ 𝑠𝑥 0 𝑥
• Ta có: P′ = S. P - = 0 𝑠𝑦 𝑦
𝑦′
Phép kéo
𝑥′ 1 𝑏 𝑥
• Kéo theo trục x: =
𝑦′ 0 1 𝑦
𝑥′ 1 0 𝑥
• Kéo theo trục y: =
𝑦′ 𝑐 1 𝑦
Phép quay
y

P’(x’, y’)

P(x, y)
r

O x
Phép quay
y

x = r. cosϕ
P’(x’, y’)
y = r. sinϕ
x ′ , y ′ =?
r

𝜃 r
P(x, y)
y
𝜙

O x x
Phép quay
cos 𝜃 − sin 𝜃
• Ma trận R =
sin 𝜃 cos 𝜃
• Phép quay:
x′ cos 𝜃 − sin 𝜃 x
P′ = R. P - =
𝑦′ sin 𝜃 cos 𝜃 𝑦
4. Hệ tọa độ đồng nhất
Ma trận của các phép biến hình
• Tịnh tiến
• P’ = T + P
• Co giãn, kéo
• P’ = S . P
• Quay
• P’ = R . P
• Ta mong muốn là các phép biến hình này đều có thể biểu diễn
bằng phép nhân, như vậy ta có thể dễ dàng ghép các phép
biến hình => sử dụng tọa độ đồng nhất.
Hệ tọa độ đồng nhất
• Ta thêm một giá trị tọa độ W vào biểu diễn một điểm: P(x, y, W)
• Hai điểm của hệ tọa độ đồng nhất biểu diễn cùng một điểm nếu
chúng là bội số của nhau:
• (2,1,4) và (4,2,8) biểu diễn cùng một điểm
• Ít nhất một trong 3 phần tử phải là khác không - (0, 0, 0) coi là
không có nghĩa
• Nếu W ≠ 0: ta chia x và y cho nó để đưa về dạng W = 1
• Nếu W = 0: coi như điểm ở vô cùng
Hệ tọa độ đồng nhất
• Nếu biểu diễn (x, y, W) trong không gian 3 chiều, các cặp 3
điểm biểu diễn cùng một điểm sẽ thuộc về 1 đường thẳng đi
qua gốc tọa độ
• Nếu ta đồng nhất các điểm này ta sẽ có một điểm có dạng (x,
y,1)
• Điểm đồng nhất nằm trên mặt W = 1
Phép biến hình với tọa độ đồng nhất
• Ma trận phép tịnh tiến 2D
𝑥′ 1 0 𝑑𝑥 𝑥
𝑦′ = 0 1 𝑑𝑦 𝑦
1 0 0 1 1
Phép biến hình với tọa độ đồng nhất
• Ma trận phép co giãn 2D
𝑥′ 𝑠𝑥 0 0 𝑥
𝑦′ = 0 𝑠𝑦 0 𝑦
1 0 0 1 1
Phép biến hình với tọa độ đồng nhất
• Ma trận phép quay 2D
𝑥′ cos 𝜃 − sin 𝜃 0 𝑥
𝑦′ = sin 𝜃 cos 𝜃 0 𝑦
1 0 0 1 1
Kết hợp các phép biến đổi
• Cho điểm P, thực hiện lần lượt 3 phép biến đổi: quay (R), tịnh
tiến (T), co giãn (S). Ma trận phép biến đổi như thế nào?
5. Các phép biến hình 3D
Các phép biến hình 3D
• Sử dụng tọa độ đồng nhất, giống như trong 2D
• Các ma trận biến đổi có kích thước 4x4
• Sử dụng hệ tọa độ thuận ( z hướng ra ngoài)
y

z
Phép tịnh tiến
• Thêm một phần tử nữa vào ma trận
1 0 0 𝑑𝑥
0 1 0 𝑑𝑦
𝑇 𝑑𝑥 , 𝑑𝑦 , 𝑑𝑧 =
0 0 1 𝑑𝑧
0 0 0 1
Phép co giãn
• Thêm một phần tử nữa vào ma trận
𝑠𝑥 0 0 0
0 𝑠𝑦 0 0
𝑆 𝑑𝑥 , 𝑑𝑦 , 𝑑𝑧 =
0 0 𝑠𝑧 0
0 0 0 1
Phép kéo
• Ma trận đồng nhất:
1 𝑏 𝑐 0
𝑑 1 𝑓 0
𝑔 ℎ 1 0
0 0 0 1
Phép quay
• Cần xác định trục quay
• Với trục quay Oz
cos 𝜃 − sin 𝜃 0 0
sin 𝜃 cos 𝜃 0 0
𝑅𝑧 𝜃 =
0 0 1 0
0 0 0 1
Phép quay
• Với trục quay Ox và Oy
1 0 0 0 cos 𝜃 0 sin 𝜃 0
0 cos 𝜃 − sin 𝜃 0 0 1 0 0
𝑅𝑥 𝜃 = và 𝑅𝑦 𝜃 =
0 sin 𝜃 cos 𝜃 0 −sin 𝜃 0 cos 𝜃 0
0 0 0 1 0 0 0 1
Quay quanh một trục bất kỳ
• Suy ra từ cách quay quanh 3 trục chính
• Bài tập: Tìm ma trận cho phép quay quanh một trục bất kỳ?
• Cần tịnh tiến trục cần quay đi qua gốc toạ độ, quay để chuyển
sang trục chính, thực hiện phép quay rồi quay và tịnh tiến về vị
trí ban đầu
Bài tập
1. Tìm ma trận cho phép quay 2D với tâm quay (a, b)
2. Quay quanh trục bất kỳ:
Xác định một điểm có toạ độ là A(a,b,c)
Và quay quanh trục OA
3. Xác định 2 điểm toạ độ: A(a1, b1, c1) B(a2, b2, c2)
Và quay quanh trục AB.

You might also like