Bài giảng Đồ họa máy tính: Các phép biến đổi 2D
lượt xem 29
download
Bài giảng Đồ họa máy tính: Các phép biến đổi 2D (2D Transformations) có nội dung giới thiệu về bản chất của phép biến đổi hình học, hai phương pháp để biến đổi hình học, các phép biến đổi hình học cơ bản (tịnh tiến, quay, biến đổi tỉ lệ, biến dạng).
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Đồ họa máy tính: Các phép biến đổi 2D
- 2D Transformations Các phép biến đổi 2D 1
- Giới thiệu • Bản chất của phép biến đổi hình học là thay đổi vị trí của đối tượng, làm thay đổi đối tượng về hướng, kích thước, hình dạng. • Hai phương pháp để biến đổi hình học: – Biến đổi đối tượng: thay đổi tọa độ của đối tượng. – Biến đổi hệ tọa độ: tạo hệ tọa độ mới và tất cả đố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ơ bản: tịnh tiến, quay, biến đổi tỉ lệ, biến dạng. 2
- Phép biến đổi hình học • Một phép biến đổi là một ánh xạ T: T : R2 → R2 x ' = f ( x , y ) P (x ,y ) Q(x ',y ') y ' = g ( x , y ) P(x,y) Q(x’,y’) 3
- Phép biến đổi hình học (cont.) • Phép biến đổi Affine là phép biến đổi với f(x,y) và g(x,y) là 2 hàm tuyến tính: x ' = ax + by + c y ' = dx + ey + f • Biểu diễn phép biến đổi Affine dưới dạng ma trận: x ' a b c x y ' = d e f y ⇔ Q = T .P 1 0 0 1 1 • Thông thường, chúng ta chỉ khảo sát phép biến Affine nên ta thường dùng thuật ngữ phép biến đổi để ngụ ý là phép biến đổi Affine. 4
- Phép tịnh tiến - Translation • 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. Q try P trx 5
- Phép tịnh tiến (cont.) • Gọi tr = (trx , try) là vector tịnh tiến từ điểm P đến điểm Q thì: x ' = x + tr x y ' = y + tr y • Ma trận biến đổi của phép tịnh tiến: 1 0 tr x T (tr x , tr y ) = 0 1 tr y 0 0 1 6
- Phép quay - Rotation Q • Đổi hướng đối tượng. • Phép quay gồm có tâm quay C, góc quay α. • Biến đổi điểm P thành Q sao cho: α P – P và Q nằm trên đường tròn tâm C, – Góc PCQ bằng α C • Do vị trí của tâm quay nên ta có 2 loại phép quay: – Phép quay quanh gốc tọa độ – Phép quay quanh một tâm bất kì • Góc quay theo qui ước chiều dương là ngược chiều kim đồng h ồ. + 7
- Phép quay một góc α quanh gốc tọa độ Q α P α O O cosα − sinα 0 x ' = cosα x − sinα y ⇔ T (α ) = sinα cosα 0 y ' = sinα x + cosα y 0 0 1 8
- Phép quay một góc α quanh gốc tọa độ Phép đối xứng tâm (gốc tọa độ) • P và Q đối xứng qua gốc tọa độ. Do đó, phép đối xứng tâm là phép quay quanh gốc tọa độ một góc 1800. α=1800 P O O Q − 1 0 0 x ' = − x y ' = −y ( ⇔ T 180 0 ) = 0 −1 0 0 0 1 9
- Phép quay một góc α quanh tâm bất kì Q Q’ P’ P α α C(xc,yc) O T(-xc,-yc) T(α) T(xc,yc) P P’ Q’ Q 10
- Phép quay một góc α quanh tâm bất kì (cont.) • Ta có thể chứng minh phép quay tâm C(xc, yc) một góc α là kết hợp của các phép biến đổi sau đây: – Tịnh tiến theo vector (-xc,-yc) để dịch chuyển tâm quay về gốc tọa độ: P’ = T(-xc, -yc) . P – Quay quanh gốc tọa độ một góc α : Q’ = T(α ) . P’ – Tịnh tiến theo vector (xc,yc) để đưa tâm quay về vị trí ban đầu: Q = T(xc,yc) . Q’ • Kết hợp 3 phép biến đổi trên ta được: Q = T(xc,yc) . T(α ) . T(- xc,-yc) . P • Như vậy, ma trận biến đổi của phép quay tâm bất kì là: cosα − sinα ( 1 − cosα ) x c + sinα y c T ( x c , y c , α ) = T ( x c , y c )T (α )T ( − x c , −y c ) = sinα cosα − sinα x c + ( 1 − cosα ) y c 0 0 1 11
- Phép biến đổi tỉ lệ - Scaling • Co giản đối tượng x ' = s x x sx 0 0 T (sx , sy ) = 0 sy 0 y ' = s y y 0 0 1 • sx và sy được gọi là hệ số co giản theo trục x và trục y 12
- Phép biến đổi tỉ lệ (cont.) • Khi sy = 1 thì đối tượng co giản theo trục x • Khi sx = 1 thì đối tượng co giản theo trục y 13
- Phép biến đổi tỉ lệ (cont.) • Khi sy = sy thì ta gọi đây là phép biến đổi đồng dạng – uniform scaling, bảo toàn tính cân xứng của đối tượng. • Nếu sx = sy < 1 thì đây là phép thu nhỏ, ngược lại thì đây là phép phóng to Thu nhỏ Phóng to 14
- Phép biến đổi tỉ lệ (cont.) Phép đối xứng trục • Đối xứng qua trục hoành: • Đối xứng qua trục tung: x '= x sx = 1 x ' = − x s x = −1 ⇔ ⇔ y ' = −y s y = −1 y '= y sy = 1 1 0 0 0 − 1 0 0 0 1 − 1 0 0 0 1 0 0 0 1 15
- Phép biến dạng - Shearing • Thay đổi hình dạng của đối tượng • Phép biến dạng theo trục x làm thay đổi hoành độ còn tung độ giữ nguyên. 1 sh x 0 x ' = x + sh x y ⇔ T ( sh x , 0 ) = 0 1 0 y ' = y 0 0 1 • Phép biến dạng theo trục y làm thay đổi tung độ còn hoành độ giữ nguyên. 1 0 0 x '= x ⇔ T ( 0 , sh y ) = sh y 1 0 y ' = sh y x + y 16 0 0 1
- Phép biến dạng - Shearing • Phép biến dạng tổng quát 1 sh x 0 x ' = x + sh x y ⇔ T ( sh x , sh y ) = sh y 1 0 y ' = sh y x + y 0 0 1 17
- Bài tập Biến đổi đối tượng 2D • Mô tả tính chất hình học của đối tượng points color center Hệ tọa độ đối tượng Hệ tọa độ thực – Tâm, có tọa độ so với hệ tọa độ thực : center – Dạng hình học, có dạng đa giác đối xứng qua tâm : points – Màu sắc : color 18
- Bài tập Biến đổi đối tượng 2D (cont.) • Áp dụng các phép biến đổi trên đối tượng tr Hệ tọa độ thực – Tịnh tiến đối tượng bằng vectơ tr, thực chất là tịnh tiến tâm của đối tượng – Quay đối tượng theo góc angle, thực chất là quay các đỉnh của đa giác – … 19
- Bài tập Biến đổi đối tượng 2D (cont.) • Cấu trúc dữ liệu #define MAXNUMPOINTS 10 struct Point2D { double x, y; }; struct Object { Point2D center; Point2D points[MAXNUMPOINTS]; int numOfPoints; int color; Point2D tr; double angle; // … }; 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Đồ họa máy tính: Ánh sáng
32 p | 236 | 33
-
Bài giảng Đồ họa máy tính - Ma Thị Châu
22 p | 279 | 28
-
Bài giảng Đồ họa máy tính: Các thuật toán mành hóa - Ma Thị Châu
18 p | 223 | 17
-
Bài giảng Đồ họa máy tính: Phần 1
47 p | 112 | 14
-
Bài giảng Đồ họa máy tính: Các phép biến đổi trong đồ họa hai chiều - TS. Đào Nam Anh
52 p | 135 | 13
-
Bài giảng Đồ họa máy tính: Giới thiệu đồ họa 3 chiều - TS. Đào Nam Anh
54 p | 110 | 12
-
Bài giảng Đồ họa máy tính: Các phép biến đổi trong đồ họa ba chiều - TS. Đào Nam Anh
28 p | 99 | 11
-
Bài giảng Đồ họa máy tính: Các đối tượng đồ họa cơ sở - TS. Đào Nam Anh
50 p | 100 | 10
-
Bài giảng Đồ họa máy tính: Phần 2
40 p | 101 | 8
-
Bài giảng Đồ họa máy tính: Các khái niệm đồ họa máy tính - Ma Thị Châu (2017)
31 p | 53 | 8
-
Bài giảng Đồ họa máy tính: Giới thiệu về đồ họa máy tính - TS. Đào Nam Anh
50 p | 87 | 7
-
Bài giảng Đồ họa máy tính: Phần 1 - ĐH Sư phạm kỹ thuật Nam Định
128 p | 37 | 6
-
Bài giảng Đồ họa máy tính: Giới thiệu đồ họa 3 chiều - TS. Đào Nam Anh (tt)
54 p | 91 | 6
-
Bài giảng Đồ họa máy tính - ĐH Hàng Hải VN
54 p | 40 | 6
-
Bài giảng Đồ họa máy tính: Bài 3 - Lê Tấn Hùng
39 p | 73 | 5
-
Bài giảng Đồ họa máy tính: Chương 1 - ThS. Trần Thị Minh Hoàn
44 p | 99 | 5
-
Bài giảng Đồ họa máy tính: Đồ họa ba chiều - Ngô Quốc Việt
36 p | 26 | 4
-
Tập bài giảng Đồ họa máy tính
227 p | 29 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn