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

Bài giảng Đồ họa máy tính: Chương 5 - ThS. Trần Thị Minh Hoàn

Chia sẻ: Caphesuadathemduong | Ngày: | Loại File: PDF | Số trang:29

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

Bài giảng Đồ họa máy tính: Chương 5 Biến đổi ba chiều cung cấp cho người học những kiến thức như: Nhắc lại đại số với véctơ; Các phép biến đổi 3D cơ sở; Biến đổi 3D gộp;...Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Bài giảng Đồ họa máy tính: Chương 5 - ThS. Trần Thị Minh Hoàn

  1. Chương V. Biến đổi ba chiều  I. Nhắc lại đại số với véctơ  II. Các phép biến đổi 3D cơ sở  III. Biến đổi 3D gộp 1
  2. Đại số véctơ P2 V  Biểu diễn véctơ  Đoạn thẳng có hướng giữa hai điểm xác định P1  Cộng hai véctơ V1  V2  ( x1  x 2 , y1  y 2 , z1  z 2 )  Nhân hai véctơ y  Tích vô hướng hay tích điểm V1+V2 V1 .V2  x1 x 2  y1 y 2  z1 z 2 V2=(x2,y2,z2)  Độ dài véctơ V1=(x1,y1,z1) V  V.V  ( x 2  y 2  z 2 ) x V2 z V1  V1 .V 2  V1 V 2 cos  Chiếu V2 trên V1 2
  3. Đại số véctơ  Tích có hướng của hai véctơ  Kết quả là véctơ vuông góc với mặt phẳng V1 x V2 V2 tạo ra bởi hai véctơ u  V1  Véctơ đơn vị u  Có độ dài bằng 1  Xác định hướng của véctơ kết quả  Quy tắc bàn tay phải  Nắm tay phải, để cong các ngón tay từ V1 đến V2 (nếu V1xV2), lòng bàn tay hướng về gốc, ngón cái sẽ trỏ theo hướng của u  Véctơ kết quả V1 xV2  u V1 V2 sin  3
  4. Đại số véctơ  Véctơ đơn vị theo các trục tọa độ: ux , u y , uz  Tích có hướng của hai véctơ được biểu diễn như sau: y ux uy uz uy V1 xV2  x1 y1 z1 uz x x2 y2 z2 ux z V1 x V2  u x ( y1 z 2  z1 y 2 )  u y ( z1 x 2  x1 z 2 )  u z ( x1 y 2  x 2 y1 )  Cosine hướng y  Cho trước véctơ p. Cosine hướng là cosine của các góc ,  và  P(x, y, z) p  u p j  y = r cos  u= i cos  + j cos  + k cos  O k i x cos2  + cos2  + cos2  = 1 z  (x, 0, z) 4
  5. Các phép biến đổi 3D cơ sở  Dịch chuyển  Co dãn  Xoay  Các phép biến đổi khác 5
  6. Các phép biến đổi 3D cơ sở  Dịch chuyển điểm (x, y, z) đến (x’, y’, z’) 1 0 0 0 y 0 1 0 0 (x', y',z') x' y ' z ' 1  x y z 1 (x, y,z) 0 0 1 0   x Tx Ty Tz 1  z  Co dãn  Sx 0 0 0  0 Sy 0 0 x' y ' z ' 1  x y z 1 0 0 Sz 0   0 0 0 1 6
  7. Các phép biến đổi 3D cơ sở  Xoay  Chọn trục xoay và góc xoay  Qui ước: Xoay ngược chiều kim đồng hồ theo trục sẽ tạo thành góc dương nếu nhìn về gốc tọa độ từ nửa trục dương.  Trục dễ quản lý: song song trục tọa độ y x z  Xoay quanh trục z x '  x cos   y sin  y '  x sin   y cos   cos  sin  0 0  sin  cos  0 0 z'  z x' y ' z ' 1  x y z 1  0 0 1 0    0 0 0 1 7
  8. Các phép biến đổi 3D cơ sở  Xoay quanh trục x 1 0 0 0 y '  y cos   z sin  0 cos  sin  0 z '  y sin   z cos  x' y ' z ' 1  x y z 1 0  sin  cos  0 x'  x   0 0 0 1  Xoay quanh trục y z '  z cos   x sin  x'  z sin   x cos  y'  y cos  0  sin  0  0 1 0 0 x ' y ' z ' 1  x y z 1  sin  0 cos  0    0 0 0 1 8
  9. Xoay quanh trục bất kỳ  Trường hợp đặc biệt  Trục xoay song song trục tọa độ  Các bước thực hiện  Dịch đối tượng sao cho trục xoay về trục tọa độ song song với nó  Thực hiện xoay  Dịch đối tượng sao cho trục xoay về vị trí ban đầu  Trường hợp tổng quát  Yêu cầu bổ sung một vài biến đổi  Xác định ma trận chuyển đổi bằng đại số véctơ  Xác định ma trận chuyển đổi bằng hình học 9
  10. Các bước xoay quanh trục bất kỳ 1. Dịch đối tượng sao cho trục xoay đi qua gốc tọa độ. 2. Xoay đối tượng sao cho trục xoay trùng với một trong các trục tọa độ. 3. Thực hiện xoay đối tượng. 4. Áp dụng xoay ngược để trục xoay trở về hướng xoay ban đầu. 5. Áp dụng chuyển dịch ngược để đem trục xoay về vị trí ban đầu. 10
  11. Tìm ma trận chuyển đổi bằng hình học (x2,y2,z2)  Giả sử trục xoay được xác định bởi hai điểm (x1, y1, l z1) và (x2, y2, z2), có độ dài l (x1,y1,z1)  Bước 1: Tịnh tiến sao cho đầu cuối của nó trùng với gốc tọa độ.  Tọa độ hai đầu đoạn thẳng sẽ là (0, 0, 0) và (x0, y0, z0).  Bước 2: Thực hiện xoay quanh trục x và y để trục bất kỳ (x0, y0, z0) trùng với trục z  Bước 3: Xoay quanh trục z góc  y  Bước 4: Xoay ngược lại quanh trục y và x  Bước 5: Tịnh tiến ngược để đưa trục về vị trí ban đầu. (x0, y0, z0) l  Ma trận biến đổi cuối cùng  l x T R ARB  T TR T R x T R y T R z T R  T R  T TR      y  x 1  l z 11
  12. Thực hiện tính toán  Bước 1: Ma trận tịnh tiến  1 0 0 0 (x2,y2,z2)  0 1 0 0  l TTR     0 0 1 0 (x1,y1,z1)    x1  y1  z1 1 12
  13. Thực hiện tính toán y  Bước 2: (0, y0, z0) (x0, y0, z0)  Tính góc  cho ma trận xoay. Chiếu trục xoay d l lên mặt phẳng yz   x y0 y l sin    0 y02  z 02 d k z0 z0 z cos    y 2 y z 0 2 0 d (x0, y0, z0)  Ma trận xoay quanh x một góc  l d  x 1 0 0 0  1 0 0 0 k  l 0 cos  sin  0  0 z 0 / d y0 / d 0 TR x   z 0  sin  cos  0  0  y 0 / d z0 / d 0     0 0 0 1  0 0 0 1 13
  14. Thực hiện tính toán y  Bước 3:  Tìm góc quay  xung quanh trục y (x0, y0, z0) l x d sin   0 cos   l l d  x k  l 2 2 2 l x y z 0 0 0 z 2 2 2 2 2 2 2 l  x y z 0 0 0 l  x d 0 d y 02  z 02  Ma trận xoay quanh y một góc   cos  0 sin  0  d / l 0 x0 / l 0  0 1 0 0   0 1 0 0  TR y     sin  0 cos  0    x0 / l 0 d /l 0      0 0 0 1  0 0 0 1 14
  15. Thực hiện tính toán  Bước 4:  Xoay xung quanh trục đã trùng với trục z y  cos  sin  0 0   sin  cos  0 0  (x0, y0, z0) TR z  l  0 0 1 0 d  x     0 0 0 1 k l z  Tìm ma trận biến đổi ngược trước khi tính toán ma trận cuối cùng 15
  16. Tìm ma trận xoay bằng đại số véctơ  Trục xoay đi qua hai điểm P1 (x1, y1, z1) y (x2,y2,z2) và P2 (x2, y2, z2). u  P1 và P2 xác định véc tơ V: (x1,y1,z1) V  ( x 2  x1 , y 2  y1 , z 2  z1 ) z x  Véc tơ đơn vị u theo trục xoay sẽ là V x2  x1 y  y1 z z u  a, b, c  a , b 2 , c 2 1 V V |V| |V|  Giả sử chọn trục z để biến đổi trục xoay theo nó 16
  17. Tìm ma trận xoay bằng đại số véctơ  Các bước thực hiện  Bước 1: Dịch đối tượng sao cho P1 về gốc tọa độ  1 0 0 0 y  0 1 0 0  T   0 0 1 0 u   z x   x1  y1  z1 1  Biến đổi sao cho trục xoay trùng trục z  Xoay quanh trục x sao cho véc tơ u trong mặt phẳng xz  Xoay quanh trục y để đem u về trục z 17
  18. Tìm ma trận xoay bằng đại số véctơ  Bước 2: Tìm ma trận xoay quanh x để u về mặt phẳng xz  Góc xoay: giữa ánh xạ véctơ u vào mặt yz và trục dương z  Tìm góc xoay ? u x x z z u Biến đổi sao cho trục xoay trùng trục z 18
  19. Tìm ma trận xoay bằng đại số véctơ  Tìm cos  y u'.u z c cos    , u' u z d u=(a,b,c) u'=(0,b,c) u'  0 2  b 2  c 2  b 2  c 2  d  x uz  1 z uz=(0,0,1) u'.u z  0.0  b.0  c.1  c  Tính sin  u ' xu z  u x . u' . u z .sin   u x b 2  c 2 sin   u x d sin  u' = (0, b, c) và uz = (0, 0, 1) ux uy uz b sin   u ' xu z  0 b c  u xb d 0 0 1 19
  20. Tìm ma trận xoay bằng đại số véctơ  Ma trận xoay quanh trục x 1 0 0 0 1 0 0 0 0 cos  sin  0 0 c / d b/d 0 Rx ( )    0  sin  cos  0  0  b / d c/d 0     0 0 0 1  0 0 0 1 y2  y1 z 2  z1 d  b2  c2 b , c |V| |V| V  V.V  ( x 2  y 2  z 2 ) 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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