Đồ họa máy tính Các phép biến đổi

• Một số đối tượng hình học cơ bản – Đại lượng vô hướng s – Vec-tơ v – Điểm p’ = p + s * v • Các phép biến đổi – Các loại biến đổi: quay, tịnh tiến, co dãn. – Biểu diễn ma trận – Thứ tự • Mô hình hóa hình học – Mô hình hóa phân cấp – Các bề mặt đa diện.

pdf31 trang | Chia sẻ: lylyngoc | Lượt xem: 1656 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đồ họa máy tính Các phép biến đổi, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
9/27/2011 Ma Thị Châu - Bộ môn KHMT 1 Đồ họa máy tính Các phép biến đổi 9/27/2011 Ma Thị Châu - Bộ môn KHMT 2 Một số khái niệm cơ bản • Một số đối tượng hình học cơ bản – Đại lượng vô hướng s – Vec-tơ v – Điểm p’ = p + s * v • Các phép biến đổi – Các loại biến đổi: quay, tịnh tiến, co dãn. – Biểu diễn ma trận – Thứ tự • Mô hình hóa hình học – Mô hình hóa phân cấp – Các bề mặt đa diện. 9/27/2011 Ma Thị Châu - Bộ môn KHMT 3 Các phép biến đổi Thế nào là một phép biến đổi?  P=T(P) Tại sao phải sử dụng các phép biến đổi?  Mô hình hóa - Tạo ra các đối tượng với các tọa độ tự nhiên/ tiện lợi - Nhiều phiên bản khác nhau của cùng một mẫu hình - Các mối nối/khung xương – tạo hoạt ảnh robot  Tầm nhìn – Cửa sổ và thiết bị độc lập với nhau – Camera ảo: Các phép chiếu song song và chiếu phối cảnh (perspective) 9/27/2011 Ma Thị Châu - Bộ môn KHMT 4 Các loại phép biến đổi Liên tục (Bảo tồn lân cận) Một – một, có nghịch đảo Phân chia theo các tính chất bất biến và tính chất đối xứng Isometry (bảo tồn khoảng cách) – Phản xạ (Reflections) – đảo hai bên trái và phải – Quay + Tịnh tiến Similarity (bảo tồn góc) – Co dãn đồng nhất (Uniform scale) Affine (bảo tồn các đường thẳng song song) – Co dãn không đồng nhất (Non-uniform scales), shears or skews Collineation (đường thẳng giữ là đường thẳng) – Chiếu phối cảnh (Perspective) Non-linear (đường thẳng trở thành đường cong) – Vặn (Twists), biến hình, ... 9/27/2011 Ma Thị Châu - Bộ môn KHMT 5 Tịnh tiến 2D                      y x ,, d d T y x P y x P P P’ Xét điểm P là P(x,y), Tịnh tiến điểm P’(x’,y’) một khoảng cách dx theo trục x, dy theo trục y: x’ = x + dx y’ = y + dy Viết theo dạng véc-tơ Như vậy P’ = P + T 9/27/2011 Ma Thị Châu - Bộ môn KHMT 6 Co dãn 2D theo gốc tọa độ                             y x . 0 0 y x hay đó Do 0 0 y x y x s s PSP s s S P P’ Xét điểm P là P(x,y), Co dãn điểm P’(x’,y’) với tỉ lệ sx theo trục x, sy theo trục y: x’ = x * sx y’ = y * sy Đặt 9/27/2011 Ma Thị Châu - Bộ môn KHMT 7 Quay 2D quanh tâm y x r r P’(x’,y’) P(x,y)  9/27/2011 Ma Thị Châu - Bộ môn KHMT 8 Quay 2D quanh tâm y x r r P’(x’,y’) P(x,y)   y   sin. cos. ry rx   x 9/27/2011 Ma Thị Châu - Bộ môn KHMT 9 Quay 2D quanh tâm y x r r P’(x’,y’) P(x,y)   y   sin. cos. ry rx   x   cos.sin.sin.cos.)sin(. sin.sin.cos.cos.)cos(. rrry rrrx   9/27/2011 Ma Thị Châu - Bộ môn KHMT 10 Quay 2D quanh tâm   sin. cos. ry rx     cos.sin.sin.cos.)sin(. sin.sin.cos.cos.)cos(. rrry rrrx   Thay : Cho ta :   cos.sin. sin.cos. yxy yxx   9/27/2011 Ma Thị Châu - Bộ môn KHMT 11 Quay 2D quanh tâm   cos.sin. sin.cos. yxy yxx   Viết lại dưới dạng ma trận :                      y x y x . cossin sincos   PRPR         , cossin sincos   9/27/2011 Ma Thị Châu - Bộ môn KHMT 12 Nhiều phép biến đổi cùng lúc  Tịnh tiến – P=T + P  Co dãn – P=S  P  Quay – P=R  P  Chúng ta muốn các phép biến đổi thể hiện bằng phép nhân để có thể ghép với nhau được  thể hiện điểm bằng tọa độ đồng nhất. 9/27/2011 Ma Thị Châu - Bộ môn KHMT 13 Tọa độ đồng nhất  Thêm một thành phần tọa độ nữa, W, cho một điểm. – P(x,y,W).  Hai tọa độ đồng nhất cùng thể hiện một điểm nếu chúng là tích của nhau với một hằng số – (2,5,3) và (4,10,6) thể hiện một điểm.  Phải có ít nhất một thành phần khác không  (0,0,0) không xác định.  Nếu W 0 , chia các tọa độ còn lại cho nó để có tọa độ Đề-Cát (x/W,y/W,1).  Nếu W=0, điểm đó coi như ở vô cùng. 9/27/2011 Ma Thị Châu - Bộ môn KHMT 14 Tọa độ đồng nhất (…)  Nếu ta thể hiện (x,y,W) trong không gian 3 chiều, tất cả các tọa độ đồng nhất thể hiện một điểm 2D tạo thành một đường thẳng đi qua gốc tọa độ.  Nếu ta đồng nhất hóa một điểm, ta thu được điểm có dạng (x,y,1) – Các điểm đồng nhất tạo thành mặt phẳng W=1. P X Y W W=1 plane 9/27/2011 Ma Thị Châu - Bộ môn KHMT 15 Các phép biến đổi với tọa độ đồng nhất  Ma trận cho phép tịnh tiến 2D.                                  1 . 100 10 01 1 y x d d y x y x 11    y x dyy dxx 9/27/2011 Ma Thị Châu - Bộ môn KHMT 16 Kết hợp các phép biến đổi (Concatenation)  Nếu ta thực hiện 2 phép tịnh tiến trên với cùng một điểm: ),(),(),( :đó Do ),(),(),( ),( ),( 21212211 21212211 22 11 yyxxyxyx yyxxyxyx yx yx ddddTddTddT ddddTPddTddTPP ddTPP ddTPP     9/27/2011 Ma Thị Châu - Bộ môn KHMT 17 Kết hợp các phép biến đổi (…)                                   100 10 01 100 10 01 . 100 10 01 : là ),(),( 21 21 2 2 1 1 2211 yy xx y x y x yxyx dd dd d d d d ddTddT 9/27/2011 Ma Thị Châu - Bộ môn KHMT 18 Tính chất của các phép tịnh tiến ),(),(T 4. ),(),(),(),( 3. ),(),(),( 2. )0,0( 1. 1- yxyx yxyxyxyx yyxxyxyx ssTss ssTttTttTssT tstsTttTssT IT     9/27/2011 Ma Thị Châu - Bộ môn KHMT 19 Dạng đồng nhất của phép co dãn        y x yx s s ssS 0 0 ),( Ma trận phép co dãn :            100 00 00 ),( y x yx s s ssS Trong tọa độ đồng nhất : 9/27/2011 Ma Thị Châu - Bộ môn KHMT 20 Kết hợp các phép co dãn                                   100 0ss0 00ss 100 0s0 00s . 100 0s0 00s : ),(),( y2y1 x2x1 y2 x2 y1 x1 2211 yxyx ssSssS 9/27/2011 Ma Thị Châu - Bộ môn KHMT 21 Dạng đồng nhất của phép quay                                   1 . 100 0cossin 0sincos 1 y x y x   )()( ).()( 1 1   TRR RR     9/27/2011 Ma Thị Châu - Bộ môn KHMT 22 Dạng đồng nhất của phép quay (…)                        100 0cossin 0sincos )( , 100 0cossin 0sincos )(      TRR                         100 0cossin 0sincos 100 0cossin 0sincos )(     R 9/27/2011 Ma Thị Châu - Bộ môn KHMT 23 Các tính chất khác của phép quay )()()()( và )()()( )0(   RRRR RRR IR    9/27/2011 Ma Thị Châu - Bộ môn KHMT 24 Kết hợp các loại phép biến đổi  Quay và tịnh tiến – Góc và khoảng cách được giữ nguyên  Quay, tịnh tiến và co dãn – Góc và khoảng cách không được giữ nguyên – Đường thẳng song song vẫn song song – Gọi là các phép biến đổi Affine 9/27/2011 Ma Thị Châu - Bộ môn KHMT 25 Biến đổi 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) z (hướng ra ngoài) y x 9/27/2011 Ma Thị Châu - Bộ môn KHMT 26 Tịnh tiến 3D.              1000 100 010 001 ),,( z y x zyx d d d dddT Giống như trong 2D: 9/27/2011 Ma Thị Châu - Bộ môn KHMT 27 Co giãn 3D.              1000 000 000 000 ),,( z y x zyx s s s sssS Giống như trong 2D: 9/27/2011 Ma Thị Châu - Bộ môn KHMT 28 Quay 3D  Cần xác định trục quay.  Quay quanh trục z tương tự như 2D               1000 0100 00cossin 00sincos )(   zR 9/27/2011 Ma Thị Châu - Bộ môn KHMT 29 Quay 3D  Quay quanh trục x và y:                             1000 0cos0sin 0010 0sin0cos )( , 1000 0cossin0 0sincos0 0001 )(       yx RR 9/27/2011 Ma Thị Châu - Bộ môn KHMT 30 Quay quanh một trục bất kỳ?  Khó!  Tuy nhiên, chúng ta đã biết cách quay quanh trục chính.  Biến thành phép quay quanh trục chính.  Cần tịnh tiến một trục quay a bất kỳ để đi qua gốc tọa độ, quay nó để trùng với một trục chính, thực hiện phép quay cần thực hiện, và quay và tịnh tiến lại vị trí ban đầu. 9/27/2011 Ma Thị Châu - Bộ môn KHMT 31 Tổng kết  Phép tịnh tiến, quay và co dãn 2D, 3D  Tọa độ đồng nhất  Kết hợp các phép biến đổi
Tài liệu liên quan