Chương 3: Các phép biến đổi ba chiều (Kỹ thuật đồ hoạ)
lượt xem 99
download
Trong 2D, phép quay theo chiều ngược chiều kim đồng hồ trong mặt phẳng Oxy. Trong 3D, chúng ta có thể quay trên nhiều mặt phẳng: Oxy, Oxz, Oyz, Mặt phẳng bất kì. Chúng ta có thể xác định mặt phẳng quay bằng vetơ vuông góc với nó. Trục z, Trục y, Trục x, Trục bất kì.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Chương 3: Các phép biến đổi ba chiều (Kỹ thuật đồ hoạ)
- 3D Transformations Các phép biến đổi 3 chiều 1
- Biểu diễn điểm trong không gian 3D • Ma trận tổng quát trong không gian 3D được biểu diễn : • Biểu diễn dưới dạng ma trận thuần nhất a d g 1 a d g tx b b e i m e i ty [T ] = [T ] = c f j n c f h tz p q r s 0 0 0 1 2
- Translation - Tịnh tiến x' = x + t x y' = y + ty (x’,y’,z’) T=(tx,ty,tz) z' = z + tz (x,y,z) 3
- Translation - Tịnh tiến dạng ma trận thuần nhất x' 1 0 0 tx x y ' 0 1 y 0 ty = ⋅ z ' 0 0 1 tz z 1 0 0 0 1 1 4
- Scaling – Biến đổi tỉ lệ x' = x.s x y' = y.s y z' = z.s z x' s x 0 0 0 x y ' 0 sy 0 0 y = ⋅ z' 0 0 sz 0 z 1 0 0 0 1 1 5
- Shearing – phép biến dạng - Tất cả các phần tử nằm trên đường chéo chính bằng 1 - Các phần tử chiếu và tịnh tiến bằng 0 x' 1 d g 0 x x' = x + yd + gz y ' b 1 i 0 y y ' = bx + y + iz = × z ' = cx + fy + z z ' c f 1 0 z 1 0 0 0 1 1 6
- Phép lấy đối xứng 7
- Rotation - Quay Trong 2D, phép quay theo chiều ngược chiều kim đồng hồ trong mặt phẳng Oxy. Trong 3D, chúng ta có thể quay trên nhiều mặt phẳng: Oxy, Oxz, Oyz, Mặt phẳng bất kì. Chúng ta có thể xác định mặt phẳng quay bằng vetơ vuông góc với nó. Trục z, Trục y, Trục x, Trục bất kì. 8
- Quay quanh trục tọa độ z x' cosθ − sin θ 0 0 x y ' sin θ cosθ 0 0 y = ⋅ θ P’(x’,y’,z’) z' 0 0 1 0 z 1 0 0 0 1 1 P(x,y,z) y O θ P1’(x’,y’,0) x P1 (x,y,0) Quay quanh trục oz 9
- Quay quanh trục tọa độ y x' cosθ 0 sin θ 0 x y ' 0 1 0 0 y = ⋅ P’(x’,y’,z’) z ' − sin θ 0 cosθ 0 z θ 1 0 0 0 1 1 P(x,y,z) x O θ P1’(x’,0, z’) z P1 (x,0,z) Quay quanh trục oy 10
- Quay quanh trục tọa độ x x' 1 0 0 0 x y ' 0 cosθ − sin θ y 0 = ⋅ θ P’(x’,y’,z’) z ' 0 sin θ cosθ 0 z 1 0 0 0 1 1 P(x,y,z) z O θ P1’(0,y’, z’) y P1 (0,y,z) Quay quanh trục ox 11
- Quay quanh trục bất kì 12
- Các bước thực hiện phép quay B1. Tịnh tiến trục quay sao cho trục quay đi qua gốc tọa độ B2. Quay trục quay để nó nằm trên một trục tọa độ (Oz). B3. Áp dụng phép quay góc θ theo trục tọa độ. B4. Áp dụng phép quay ngược để trở về trục ban đầu. B5. Tịnh tiến ngược trục quay về vị trí ban đầu 13
- Phân tích - Xác định Vector trục quay V = B-A = (xb-xa, yb-ya, zb-za) - Xác định Vector đơn vị u dọc theo trục quay như sau: V u= = (a, b, c) V Với a, b, c là hướng Cosine của các trục quay a= (x b − xa ) b= (y b − ya ) c= (z b − za ) V V V 14
- Bước 1. Tịnh tiến trục quay sao cho đi qua gốc tọa độ Ta tiến hành tịnh tiến trục quay AB (A(xa, ya, za ), B(xb, yb, zb )) sao cho A trùng với gốc tọa độ. Ma trận tịnh tiến được xác định như sau: x' 1 0 0 − xa x x y ' 0 1 0 − ya y y = ⋅ = T . z ' 0 0 1 − za z z 1 0 0 0 1 1 1 15
- Bước 2 Quay trục quay u=AB sao cho trục AB nằm trên một trục tọa độ nào đó (Oz). - Quay trục quay quanh trục x sao cho vector u nằm trên mặt phẳng xz - Quay trục u quanh y sao cho nó trùng với trục z Xác định hướng hợp lý cho u - Chiếu u lên mặt phẳng yz ta được u’=(0, b, c), khi đó cosine của góc quay α được xác định theo tích của u’ và vector đoen vị k dọc theo trục z y y u α x β x u' u’’ u’ z z 16
- Bước 2 Khi đó: u '.k c cos α = = u'. k d Với d là chiều dài của vector u’ d = b2 + c2 Tương tự ta tính được sin α b sin α = d Khi đó ma trận phép quay như sau: 1 0 0 0 0 c / d −b/d 0 Quay u quanh trục x sao Rx (α ) = cho nó nằm trong mặt 0 b / d c/d 0 phẳng xz 0 0 0 1 17
- Bước 2 Tiếp theo xác định ma trận chuyển đổi của vector đơn vị ngược chiều kim đồng hồ quanh trục y trong mặt phẳng xz để nó trùng với chiều dương của trục oz: u ' '.k cos β = =d u' '. k Tương tự ta tính được sin β sin β = −a Khi đó ma trận phép quay như sau: d 0 −a 0 0 1 0 0 Quay u’ quanh trục y sao Ry ( β ) = cho nó nằm trùng với chiều a 0 d 0 dương của oz 0 0 0 1 18
- Bước 3. Quay quanh trục z một góc θ z x' cosθ − sin θ 0 0 x y ' sin θ cosθ 0 0 y = ⋅ θ P’(x’,y’,z’) z' 0 0 1 0 z 1 0 0 0 1 1 P(x,y,z) y O θ P1’(x’,y’,0) x P1 (x,y,0) Quay quanh trục oz 19
- Bước 4. Quay ngược trở về trục ban đầu Áp dụng phép quay ngược trở lại vị trí ban đầu ta được Rx-1(α) và Ry-1(β ) 1 0 0 0 d 0 a 0 0 c / d 0 0 Rx−1 (α ) = b/d 1 0 0 0 − b / d c/d 0 Ry−1 ( β ) = − a 0 d 0 0 0 0 1 0 0 0 1 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Đồ họa máy tính - ĐH Hàng hải
54 p | 534 | 109
-
Xử lý tín hiệu số_Chương 3
22 p | 237 | 102
-
Tín Hiệu và Hệ Thống - Bài 1: Giới thiệu chung về tín hiệu và hệ thống
55 p | 462 | 98
-
Chương 3: Các phép biến đổi hai chiều (Kỹ thuật đồ hoạ)
23 p | 424 | 93
-
Vẽ kỹ thuật với AutoCad 2004 - Chương 3
19 p | 154 | 66
-
Giáo trình kỹ thuật đồ họa - Chương 3
11 p | 189 | 32
-
Chương 5 " Biến đổi các truy vấn toàn cục thành các truy vấn mảnhChương 5. Biến đổi truy vấn toàn cục thành các truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT 1.Nội dungBiểu thức đại số quan hệ. Cây toán tử của truy vấn. Các phép biến đổi tương đương"
46 p | 206 | 31
-
Đồ họa máy tính - Chương 2 Các phép biến đổi hình trên hệ toạ độ - Bài 5
7 p | 136 | 17
-
Giáo trình Đồ họa Máy tính - TS. Nguyễn Đức Cường
25 p | 128 | 16
-
Bài giảng Lập trình web - Chương 3: Lập Trình JavaScript
40 p | 97 | 13
-
Bài giảng Xử lý ảnh: Chương 3 - Hoàng Văn Hiệp (p2)
37 p | 123 | 10
-
Đồ họa máy vi tính - Chương 3
15 p | 91 | 9
-
Bài giảng Xử lý ảnh: Chương 3 - Hoàng Văn Hiệp (p1)
103 p | 91 | 9
-
Bài giảng Xử lý tín hiệu nâng cao - Chương 3: Biến đổi Fourier của tín hiệu rời rạc
44 p | 101 | 8
-
Giáo trình Đồ họa máy tính: Phần 1 - Bùi Thế Duy
86 p | 34 | 7
-
Tập bài giảng Đồ họa máy tính
227 p | 30 | 4
-
Bài giảng Kỹ thuật lập trình: Chương 3 - Trần Quang
52 p | 10 | 2
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