Bài giảng Đồ họa máy tính: Các phép biến đổi hai chiều - Ngô Quốc Việt

27 12 0
Bài giảng Đồ họa máy tính: Các phép biến đổi hai chiều - Ngô Quốc Việt

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Đồ họa máy tính: Các phép biến đổi hai chiều cung cấp cho người học những kiến thức như: Giới thiệu; Các phép biến đổi cơ bản; Biểu diễn ma trận; Bài tập; Giải đáp thắc mắc. Mời các bạn cùng tham khảo!

BÀI GIẢNG ĐỒ HỌA MÁY TÍNH CÁC PHÉP BIẾN ĐỔI HAI CHIỀU NGƠ QUỐC VIỆT 2009 Nội dung • • • • • Giới thiệu Các phép biến đổi Biểu diễn ma trận Bài tập Giải đáp thắc mắc Giới thiệu • Định nghĩa: biến đổi ánh xạ điểm (x,y) từ hệ tọa độ thành (x’, y’) hệ tọa độ khác Một số thuật ngữ Các biến đổi Biến đổi tỉ lệ • Scaling: giá trị tọa độ nhân với tỉ lệ khác • Uniform scaling: giá trị tọa độ nhân với tỉ lệ  Biến đổi tỉ lệ • Non-uniform scaling: different scalars per component: X  2, Y  0.5 • Có thể biểu diễn phép biến đổi ma trận? Biến đổi tỉ lệ • Biến đổi tỉ lệ • Dạng ma trận  x' ax   y '  by       x' a  y '  0    0  x     b  y  Ma trận tỉ lệ Phép quay (x’, y’) (x, y)  x’ = x cos() - y sin() y’ = x sin() + y cos() Phép quay (x’, y’) (x, y)  f x = r cos (f) y = r sin (f) x’ = r cos (f + ) y’ = r sin (f + ) Trig Identity… x’ = r cos(f) cos() – r sin(f) sin() y’ = r sin(f) sin() + r cos(f) cos() Substitute… x’ = x cos() - y sin() y’ = x sin() + y cos() 10 Các biến đổi • Translation: – x’ = x + tx – y’ = y + ty • Scale: – x’ = x * sx – y’ = y * sy • Shear: – x’ = x + hx*y – y’ = y + hy*x • Rotation: – x’ = x*cosQ - y*sinQ – y’ = x*sinQ + y*cosQ 13 Các biến đổi • Translation: – x’ = x + tx – y’ = y + ty • Scale: – x’ = x * sx – y’ = y * sy (x,y) (x’,y’) • Shear: – x’ = x + hx*y – y’ = y + hy*x • Rotation: – x’ = x*cosQ - y*sinQ – y’ = x*sinQ + y*cosQ x’ = x*sx y’ = y*sy 14 Các biến đổi • Translation: – x’ = x + tx – y’ = y + ty • Scale: – x’ = x * sx – y’ = y * sy • Shear: – x’ = x + hx*y – y’ = y + hy*x • Rotation: – x’ = x*cosQ - y*sinQ – y’ = x*sinQ + y*cosQ (x’,y’) x’ = (x*sx)*cosQ - (y*sy)*sinQ y’ = (x*sx)*sinQ + (y*sy)*cosQ 15 Các biến đổi • Translation: – x’ = x + tx – y’ = y + ty • Scale: – x’ = x * sx – y’ = y * sy (x’,y’) • Shear: – x’ = x + hx*y – y’ = y + hy*x • Rotation: – x’ = x*cosQ - y*sinQ – y’ = x*sinQ + y*cosQ x’ = ((x*sx)*cosQ - (y*sy)*sinQ) + tx y’ = ((x*sx)*sinQ + (y*sy)*cosQ) + ty 16 Các biến đổi • Translation: – x’ = x + tx – y’ = y + ty • Scale: – x’ = x * sx – y’ = y * sy • Shear: – x’ = x + hx*y – y’ = y + hy*x • Rotation: – x’ = x*cosQ - y*sinQ – y’ = x*sinQ + y*cosQ x’ = ((x*sx)*cosQ - (y*sy)*sinQ) + tx y’ = ((x*sx)*sinQ + (y*sy)*cosQ) + ty 17 Biểu diễn ma trận • Biểu diển biến đổi hai chiều ma trận a b   c d  • Thực biến đổi cách nhân ma trận cho tọa độ điểm  x'   a b   x   y'  c d   y  x'  ax  by y '  cx  dy 18 Biểu diễn ma trận • Các biến đổi kết hợp phép nhân ma trận  x'   a b   e  y'  c d   g f  i h  k j x l   y  Matrices are a convenient and efficient way to represent a sequence of transformations! 19 Biểu diễn ma trận • Các phép biến đổi tỉ lệ, quay, đối xứng, biến dạng biểu diễn ma trận 2x2, ngoại trừ phép tịnh tiến  x '  s x  y '       x s y   y   x ' cos Q  sin Q  x   y '   sin Q cos Q   y        x '     0  x   x '      y '  1  y   y '   x '   y '   sh    y sh x   x    y   x  1  y  20 Sử dụng hệ tọa độ đồng • Tọa độ đồng nhất: biểu  x diễn tọa độ chiều  x  homogeneous coords   vector thành phần  y      y      • Có vẻ khơng trực quan, hiệu cho tính tốn 21 Biểu diễn biến đổi ma trận 3x3 • Tịnh tiến: 1  Translation  0 0  tx   ty    x ' 1 t x   x   x  t x   y '  0 t   y    y  t  y   y       0      tx = ty = 22 Biểu diễn biến đổi ma trận 3x3  x ' 1  y '  0      0 t x  x t y   y      x '  s x  y '         Translate  x' cos Q  y '   sin Q       Rotate sy 0  x  0  y  1   Scale  sin Q cos Q 0  x  0  y  1    x '   y '   sh    y    sh x 0  x  0  y  1   Shear 23 Biến đổi Affine • Là biến đổi tuyến tính & tịnh tiến • Các tính chất của biến đổi Affine – Bảo tồn tính song song – Bảo tồn tỉ lệ • Có thể kết hợp nhiều biến đổi thơng qua nhân ma trận  x'   1  y '    0  w'  0  p’ = T(tx,ty) tx  cos Q ty   sin Q   R(Q)  sin Q cos Q 0  sx 0  1  S(sx,sy) sy 0   x  0   y  1   w p 24 Biến đổi Affine • Chú ý: nhân ma trận khơng có tính giao hốn • Ví dụ: a a a Sai R(45) Đúng T(-3) R(45) T(3) 1  3 cos(45)  sin(45) 0 1 3  a x   a' x  0   sin(45) cos(45) 0 0 0 a   a'      y   y  0   0 1 0 1     25 Bài tập • Bài 7, 8, 9, 10 trang 98 giáo trình Đồ họa máy tính-Dương Anh Đức • Thực hành: cài đặt phép biến đổi, thừa kế chương trình vẽ giảng trước để biến đổi hình vẽ 26 Hỏi đáp 27 ... 1     25 Bài tập • Bài 7, 8, 9, 10 trang 98 giáo trình Đồ họa máy tính-Dương Anh Đức • Thực hành: cài đặt phép biến đổi, thừa kế chương trình vẽ giảng trước để biến đổi hình vẽ 26 Hỏi... thiệu Các phép biến đổi Biểu diễn ma trận Bài tập Giải đáp thắc mắc Giới thiệu • Định nghĩa: biến đổi ánh xạ điểm (x,y) từ hệ tọa độ thành (x’, y’) hệ tọa độ khác Một số thuật ngữ Các biến đổi Biến. .. 1   Shear 23 Biến đổi Affine • Là biến đổi tuyến tính & tịnh tiến • Các tính chất của biến đổi Affine – Bảo tồn tính song song – Bảo tồn tỉ lệ • Có thể kết hợp nhiều biến đổi thơng qua nhân

Ngày đăng: 26/10/2021, 13:24

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan