Bài giảng Bài 4: Các phép biến đổi đồ họa - Affine Transformations (Phần b) - Lê Tấn Hùng
lượt xem 7
download
Bài giảng "Bài 4: Các phép biến đổi đồ họa Affine Transformation - Phần b: Phép biến đổi trong không gian" trình bày các nội dung: Ma trân biển đổi 3 chiều, các phép biến đổi hình học 3 chiều, phép quay 3 chiều, quay số biến dạng, hệ tọa độ,... Đây là một tài liệu tham khảo hữu ích dành cho các bạn sinh viên Công nghệ thông tin và thiết kế đồ họa dùng làm tài liệu học tập và nghiên cứu.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Bài 4: Các phép biến đổi đồ họa - Affine Transformations (Phần b) - Lê Tấn Hùng
- Bài 4B: Phép biến đổi trong không gian (c) SE/FIT/HUT 2002 1
- Ma trận biến đổi 3 chiều 3D Matrix Transformations Các phép biến đổi chuyển vị - translation, tỉ lệ-scaling và quay-rotation sử dụng trong không gian 2D đều co thể mở rộng trong không gian 3D Again, using homogeneous coordinates it is possible to represent each type of transformation in a matrix form In 3D, each transformation is represented by a 4x4 matrix (c) SE/FIT/HUT 2002 2
- Các phép biến đổi hình học 3 chiều Biểu diễn điểm trong không gian 3 chiều • [ x* y* z* h ] = [ x y z 1 ]. [ T ] • [x' y' z' 1 ]= [ x*/h y*/h z*/h 1 ][ T ] Ma trận biến đổi a b c p d e f q [T ] = g i j r l m n s (c) SE/FIT/HUT 2002 3
- Phép tịnh tiến [X'] = [ X ] . [ T(dx,dy,dz) ] [ x' y' z' 1 ] = [ x y z 1 ].[ T(dx,dy,dz) ] = [ x+dx y+dy z+dz 1 ] (c) SE/FIT/HUT 2002 4
- Phép tỉ lệ = [x .s 1 y .s 2 z .s 3 1] • s1, s2, s3 là các hệ số tỉ lệ tương ứng trên các trục toạ độ (c) SE/FIT/HUT 2002 5
- Rotation y y y x x x z z z (c) SE/FIT/HUT 2002 6
- Phép quay 3 chiều Quay quanh các trục toạ độ • Quay quanh trục x • Quay quanh trục z (c) SE/FIT/HUT 2002 7
- Quay quanh trục y cos θ 0 − sin θ 0 0 1 0 0 [Ty ] = sin θ 0 cos θ 0 0 0 0 1 (c) SE/FIT/HUT 2002 8
- Phép biến dạng (secondary translation) 1 b c 0 d 1 f 0 [ x' y ' z ' 1] = [ x y z 1] g i 1 0 0 0 0 1 (c) SE/FIT/HUT 2002 9
- Phép lấy đối xứng (reflections-secondary translation) (c) SE/FIT/HUT 2002 10
- Quay quanh một trục bất kỳ song song với các trục tọa độ 1 0 0 0 1 0 0 0 0 0 cos φ sin φ 0 1 0 0 [ Tr ] = [T (φ )] = 0 0 1 0 0 − sin φ cos φ 0 , , 0 y z 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 [Tth]= 0 cosφ sinφ 0 0 0 0 −sinφ cosφ 0 [Tr] −1 = 0 0 1 0 0 y(1−cosφ)+zsinφ z(1−cosφ)−ysinφ 1 0 − y − z 1 (c) SE/FIT/HUT 2002 11
- Quay quanh một trục bất kỳ (c) SE/FIT/HUT 2002 12
- Solution Chuyển P1 về gốc tọa độ. Quay quanh trục y sao cho P1P2 nằm trên mặt phẳng (y, z) Quay quanh trục x sao cho P1P2 trùng với trục z. Quay quanh trục z sao cho P1P3 nằm trên mặt phẳng (y, z) Euler’s Theorem: Every rotation around the origin can be decomposed into a rotation around the x-axis followed by a rotation around the y-axis followed by a rotation around the z-axis. (c) SE/FIT/HUT 2002 13
- Bước 1: Chuyển P1 về gốc tọa độ 1 0 0 0 0 1 0 0 [T (− x1,− y1,− z1)] = 0 0 1 0 − x1 − y1 − z1 1 y y P3 P3 P2 P1 P2 p P1 z z x x (c) SE/FIT/HUT 2002 14
- Bước 2: Quay quanh trục y cos( - 90 + φ) = sinφ = z'2/L = ( z2 - z1)/L sin( - 90 + φ) = - cosφ = x'2/L = ( x2 - x1)/L y L = (z'2 )2 (x'2 )2 = (z2 − z1 )2 (x2 − x1 )2 P3 [ P''2 ] = [ P'2 ][ T(φ-90) ] P'2(x'2,y'2,z'2) = [ 0 y2-y1 L ] P'1 L φ z(x'2,0,z'2)x (c) SE/FIT/HUT 2002 15
- Bước 3: Quay quanh trục x. cos ϕ = z''2/N, sin ϕ = y''2/N y Với N = | P''1P''2| là độ dài của đoạn P''1P''2 P''2 N P''1 ϕ [P'''2] = [P''2][T(ϕ)] = [P'2][T(φ-90)][T(ϕ)] x = [P2 ][T(-x1,-y1,-z1 ][T(φ-90)][T(ϕ)] z = [ 0 0 |P1P2| 1 ] (c) SE/FIT/HUT 2002 16
- Bước 4: Quay quanh trục z [P'''3]= [P3 ][T(-x1,-y1,-z1 ][T(φ-90)][T(ϕ)] Với góc quay dương ψ trên trục z cos ψ = y3'''/M; sin ψ = x3'''/M; Ma trận tổng hợp của các phép biến đổi [ T ] có dạng sau đáp ứng toàn bộ quá trình biến đổi quay đối tượng quanh một trục bất kỳ. y y'''3 [ T ] = [T(-x1,-y1,-z1)][T(φ-90)][T(ϕ)][T(ψ)] P'''3 ψ M x'''3 P'''2P'''1 x z (c) SE/FIT/HUT 2002 17
- Kết quả sau biến đổi cần phải đưa về vị trí ban đầu qua các phép biến đổi ngược. [Tth]= [T(-x1,-y1,-z1)]x[T(φ-0)]x[T(ϕ)]x [T(ψ)]x[T(ψ)]x[T(ϕ)]x [T(φ-90)]x[T(-x1,-y1,-z1)] (c) SE/FIT/HUT 2002 18
- Hệ toạ độ Coordinate Frame y j φ i k z x Coordinate frame is given by origin φ and three mutually orthogonal unit vectors, i, j, k. Mutually orthogonal (dot products): i•j = ?; i•k = ?; j•k = ?. Unit vectors (dot products): i•i = ?; j•j = ?; k•k = ?. (c) SE/FIT/HUT 2002 19
- Orientation Right handed coordinate system: Left handed coordinate system: k y y j j φ i i φ k z x z x Cross product: i x j = ? Cross product: i x j = ? (c) SE/FIT/HUT 2002 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
BÀI GIẢNG LẬP TRÌNH C CĂN BẢN (CHƯƠNG 4) - Th.S: Dương Thị Thùy Vân
38 p | 342 | 106
-
Bài giảng - Bài 4: Ngôn ngữ đại số quan hệ
40 p | 383 | 97
-
Bài giảng môn Cơ sở dữ liệu: Chương 4 - ĐH KHTN
0 p | 185 | 35
-
Bài giảng CSDL: Chương 4 - Ngôn ngữ thao tác dữ liệu
22 p | 272 | 18
-
Bài giảng Bài 4: Các phép biến đổi đồ họa - Transformations - Lê Tấn Hùng
16 p | 186 | 13
-
Bài giảng Bài 4: Các phép biến đổi đồ họa - Affine Transformations - Lê Tấn Hùng
41 p | 100 | 9
-
Bài giảng đồ họa : Các phép biến đổi trong đồ họa hai chiều part 4
4 p | 93 | 8
-
Bài giảng Cơ sở dữ liệu: Chương 4 - Đại số quan hệ và phép tính quan hệ
0 p | 127 | 8
-
Bài giảng Cơ sở dữ liệu: Chương 4 - GV. Đỗ Thị Kim Thành
36 p | 73 | 8
-
Bài giảng Ngôn ngữ lập trình C - Chương 4: Biểu thức
11 p | 91 | 7
-
Bài giảng Chương 4: Đại số quan hệ
59 p | 120 | 5
-
Bài giảng môn học Cơ sở dữ liệu - Chương 4: Đại số quan hệ và phép tính quan hệ
35 p | 148 | 5
-
Bài giảng Lập trình C căn bản: Chương 4 - Phạm Thế Bảo
34 p | 12 | 5
-
Bài giảng Cơ sở dữ liệu: Chương 4 - Nguyễn Minh Thư
81 p | 61 | 4
-
Bài giảng Lập trình C: Chương 4 - Biểu thức và phép toán
31 p | 88 | 4
-
Bài giảng Cơ sở dữ liệu: Chương 4 - Đỗ Thị Mai Hường
79 p | 32 | 3
-
Bài giảng Digital system: Chương 4 - Trần Ngọc Thịnh
34 p | 2 | 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