intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Đồ hoạ máy tính- các phép biến đổi trong đồ họa 2 chiều

Chia sẻ: ™——† Lvlr. DK †——™ »»» V.I.P ««« | Ngày: | Loại File: PDF | Số trang:11

478
lượt xem
42
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Các loại biến đổi 2D * Biến đổi tuyến tính - Đường thăng giữ nguyên thẳng - Thí dụ: Toàn bộ các biến đổi trên đây là biến đổi tuyến tính.

Chủ đề:
Lưu

Nội dung Text: Đồ hoạ máy tính- các phép biến đổi trong đồ họa 2 chiều

  1. Chương 3 Các phép biến đổi hình học Các phép toán cơ sở với ma trận Cộng, trừ ma trận  Chỉ thực hiện cho hai ma trận cùng bậc  [A(m, n)] + [B(m, n)] = [C(m, n)] c   a   b  ij ij ij Nhân hai ma trận  Ma trận bậc n1xm1 và ma trận bậc n2xm2 nhân được với nhau  nếu m1=n2 [A(m, n)] [B(n, p)]= [C(m, p)] n a c jk  b ik j=1,...,m và k=1,...,p ji i 1 18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 2/22
  2. Các phép toán cơ sở với ma trận (tt) Đảo ma trận vuông  Không có phép chia ma trận  nếu [A][X]=[Y] thì [X]=[A] -1 [Y], trong đó [A] -1 là ma trận  đảo của ma trận vuông [A] [A][A] -1 = [I] trong đó [I] là ma trận đơn vị  A1  1 A T det  A Tính ||A||: Thay các phần tử của [A] bằng các phần phụ đại số  c ủa nó  1i  j M ij  Phần phụ đại số của phần tử (aij) là:  [Mij] được tạo ra nhờ xóa hàng i, cột j của [A].  18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 3/22 Ứng dụng biến đổi 2D Mô hình hóa (modeling)  Định vị và thay đổi kích thước các phần của đối tượng phức tạp  Quan sát (viewing)  Định vị và quan sát camera ảo  Animation  Xác định đối tượng chuyển động và thay đổi theo thời gian như  thế nào. 18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 4/22
  3. Các thí dụ biến đổi 2D 18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 5/22 Các thí dụ biến đổi 2D (tt) 18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 6/22
  4. Các loại biến đổi 2D Biến đổi tuyến tính  Đường thẳng giữ nguyên thẳng  Thí dụ: Toàn bộ các biến đổi trên đây là biến đổi tuyến tính  Biến đổi affine  Các đường thẳng song song giữ nguyên song song  Thí dụ: Toàn bộ các biến đổi trên đây là biến đổi tuyến tính  Biến đổi tuyến tính và non-affine  Thí dụ: Phép chiếu viễn cảnh.  Biến đổi trực giao  Bảo toàn khoảng cách, dịch chuyển đối tượng.  Xoay, dịch chuyển và phản chiếu là biến đổi affine.  18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 7/22 Các phép biến đổi cơ sở Tịnh tiến (Translation)  100 x' = x + Tx 50 y' = y + Ty (Tx, Ty) là véc tơ tịnh tiến 50 150 Định nghĩa: P= [x y], P'=[x' y'] và T= [Tx Ty]   x ' y '  x y   Tx Ty Co dãn (Scaling)  Sx là thừa số co dãn chiều x x' = x.Sx Sy là thừa số co sãn chiều y. y‘ = y.Sy S x 0 x ' y '  x y  Sy  0  18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 8/22
  5. Các phép biến đổi cơ sở (tt) Xoay hình (Rotation)  x '  r cos(   )  r cos  cos   r sin  sin  y '  r sin(   )  r sin  cos   r cos  sin   Góc xoay (x', y') x  r cos  , y  r sin  r x '  x cos   y sin  (x, y) r  y '  x sin   y cos    cos  sin   x ' y '  x y  cos     sin   18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 9/22 Tọa độ thuần nhất Các biến đổi cơ sở có cách xử lý khác nhau  P' = P + T (tịnh tiến); P' = P. S (co dãn); P' = P.R (xoay) Thực tế: Nhu cầu tổ hợp các chuyển đổi cơ sở  Cần cách xử lý nhất quán để dễ dàng tổ hợp  Giải pháp: Sử dụng hệ thống tọa độ thuần nhất (Homogeneous  Coordinates) Bổ sung thêm một trục W vào điểm 2D: P(x, y, W).  Thí dụ: 2 tập (2,5,3) và (4,10,6) sẽ biểu diễn cùng một điểm.  Nếu W  0, hãy chia cho W để có điểm trong tọa độ Đề các (x/W,  y/W, 1). Nếu W=0 ta có điểm vô cực.  18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 10/22
  6. Tọa độ thuần nhất (tt) Thay thế các điểm 2D bằng các điểm 3D  với tọa độ cuối có giá trị 1. Với điểm 3D (x, y, w) thì điểm 2D tương  ứng sẽ là (x/w, y/w) và w khác không. Mỗi điểm 2D (x,y) tương ứng với đường  thẳng 3D, mọi điểm trên đường thẳng này Đường thẳng tương ứng với [x,y] có thể viết thành (kx, ky, k) trong đó k là tham số. y z (x, y, 0) không tương ứng với điểm 2D mà  tương ứng với hướng. [x, y] Về hình học: Các điểm 3D ánh xạ thành z=1  điểm 2D bằng cách chiếu chúng từ gốc lên mặt phẳng z=1. x 18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 11/22 Ma trận biến đổi 2D Biểu diễn tọa độ 2D (x,y) trong  hệ tọa độ thuần nhất là bộ ba y z (x, y, 1) (x, y,1) Các điểm là véctơ hàng 3 phần tử  (x+Tx, y+Ty,,1) Các ma trận biến đổi 2D sẽ có kích z=1  thước 3x3 x Dịch chuyển   1 0 0 Từ hình trên, dịch chuyển: y 1. 0 1 0 x' y ' 1  x x’=x+Tx=x+Tx.1   Tx Ty 1 y’=y+Ty=y+Ty.1   w’=1  1 0 0 T (Tx , Ty )   0 1 0   Tx Ty 1    18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 12/22
  7. Ma trận biến đổi 2D (tt) Co dãn   Sx 0 0  Sx 0 0 y 1. 0 Sy 0 x' y ' 1  x S ( Sx, Sy )   0 Sy 0       0 0 1  0 0 1    Xoay   cos  sin  0  cos  sin  0 R ( )   sin  0 y 1. sin  0 x' y ' 1  x cos  cos      0 1 0 0 1 0     Biến đổi affine tổng quát  a d 0 x '  ax  by  c y 1.b 0 x' y ' 1  x e   y '  dx  ey  f c 1 f   18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 13/22 Các tính chất của biến đổi hình học 1. T (0,0)  I 2. T ( s x , s y )  T (t x , t y )  T ( s x  t x , s y  t y ) 3. T ( s x , s y )  T (t x , t y )  T (t x , t y )  T ( s x , s y ) 4. T -1 ( s x , s y )  T ( s x , s y ) 18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 14/22
  8. Chuyển đổi gộp Giải pháp:  Tính ma trận kết quả của các chuyển đổi thành phần trong chuyển  đổi gộp Dịch chuyển 2 lần  1 0 0  1 0 0  1 0 0 0 1 0. 0 1 0   0 0 1     Tx1 Ty1 1  Tx 2 Ty 2 1  Tx1  Tx 2 Ty1  Ty 2 1      T(Tx1, Ty1).T(Tx2, Ty2)=T(Tx1+Tx2, Ty1+Ty2) Co dãn hai lần  S(Sx1, Sy1).S(Sx2, Sy2)=S(Sx1.Sx2, Sy1.Sy2) Xoay hai lần  R(1).R(2)=R(1+2) 18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 15/22 Co dãn đối tượng theo điểm cố định Vấn đề  Cho trước tứ giác ABCD, tọa độ chốt (xF, yF) và tỷ lệ co dãn Sx, Sy (a)  Thực hiện biến đổi để có kết quả (d)  Các bước thực hiện  Dịch đối tượng (tứ giác) sao cho điểm chốt trùng gốc tọa độ  Thực hiện co dãn theo tỷ lệ cho trước  Dịch ngược đối tượng sao cho điểm chốt về vị trí ban đầu.  x F , yF x F , yF d) a) b) c) 18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 16/22
  9. Co dãn đối tượng theo điểm cố định (tt) Ma trận chuyển đổi được tính:  0  S x Sx 1 0 0 0  1 0 0  0 0 0 0 . 0 0 . 0 0   0 Sy Sy 1 1 0      1  1  Sx x F 1  Sy  y F  xF 1  0 1  xF 1  yF yF 0      x F , yF x F , yF d) a) b) c) 18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 17/22 Xoay đối tượng quanh điểm cố định (tt) Vấn đề  Cho trước tam giác ABC, tọa độ chốt (xF, yF) và góc xoay  (a)  Thực hiện biến đổi để có kết quả (d)  Các bước thực hiện  Dịch đối tượng sao cho điểm chốt trùng gốc tọa độ  Thực hiện xoay theo góc cho trước  Dịch ngược đối tượng sao cho điểm chốt về vị trí ban đầu  x F , yF x F , yF d) a) b) c) 18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 18/22
  10. Xoay đối tượng quanh điểm cố định Ma trận chuyển đổi được tính:  0   cos  sin  1 0 0  1 0 0 0 0 .  sin  0  . 0 0 cos  1 1      xF 1  0 1  xF 1  yF yF 0     cos  sin  0   0  sin  cos     1  cos  x F  y F . sin  1  cos   y F  x F . sin   1  x F , yF x F , yF d) a) b) c) 18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 19/22 Co dãn theo hướng tùy ý Ma trận biến đổi co dãn cơ bản  Tỷ lệ Sx và Sy áp dụng cho co dãn theo chiều trục x và y  Co dãn theo hướng tùy ý  Thực hiện chuyển đổi gộp: xoay và co dãn  Vấn đề  Cho trước hình vuông ABCD, hãy co dãn nó theo hướng như  biểu diễn trên hình a) và theo tỷ lệ S1, S2. y S2 (1/2,3/2) (2, 2) (1, 1) (0,1) x (3/2,1/2)  (0, 0) (1, 0) (0,0) a) S1 18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 20/22
  11. Co dãn theo hướng tùy ý (tt) Giải pháp  Xoay hướng S1, S2 sao cho trùng với trục x và trục y (góc  xoay ) Áp dụng biến đổi co dãn theo tỷ lệ S1, S2  Xoay trả lại hướng ban đầu  Ma trận tổ hợp   S1  S 2  sin  cos   S 1 . cos 2   S 2 . sin 2  0     S 1  S 2  sin  cos  S 1 . sin   S 2 . cos  2 2 0  1 0 0   18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 21/22 Một số biến đổi cơ sở khác Phép đối xứng (reflection )   1 0 0   1 0 0 1 0 0   0  1 0  0 1 0 0  1 0        0 0 1    0 0 1 0 0 1      Đối xứng qua Đối xứng qua Đối xứng qua gốc tọa độ trục y trục x 1 1 1’ 1 3 2 3 2 2 3 3’ 2’ 2’ 2’ 3’ 1’ 3’ 1’ 18/05/2010 Chương 4. Các phép biến đổi trong đồ họa 2 chiều 22/22
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2