Mục tiêu - Sinh viên cần hiểu được các phép biến đổi cơ bản trong không gian hai chiều. Nắm vững công thức tổng quát của phép biến đổi Affine, từ đó suy ra các phép tịnh tiến, quay... - Có khả năng lập trình tạo một hình ảnh động trên máy tính • Kiến thức cơ bản cần thiết Kiến thức toán học : hiểu biết về ma trận, định thức. Các phép toán trên ma trận.
Nội dung trích xuất từ tài liệu:
Giáo trình kỹ thuật đồ họa - Chương 3 Chương 3: Phép biến đổi trong đồ họa hai chiều Chương 3 : PHÉP BIẾN ĐỔI TRONG ĐỒ HỌA HAI CHIỀU 3.1. Tổng quan • Mục tiêu - Sinh viên cần hiểu được các phép biến đổi cơ bản trong không gian hai chiều. Nắm vững công thức tổng quát của phép biến đổi Affine, từ đó suy ra các phép tịnh tiến, quay... - Có khả năng lập trình tạo một hình ảnh động trên máy tính • Kiến thức cơ bản cần thiết Kiến thức toán học : hiểu biết về ma trận, định thức. Các phép toán trên ma trận. • Tài liệu tham khảo Computer Graphics . Donald Hearn, M. Pauline Baker. Prentice-Hall, Inc., Englewood Cliffs, New Jersey , 1986 (chapters 5, 106-122). • Nội dung cốt lõi Bản chất của phép biến đổi hình học là thay đổi các mô tả về tọa độ của đốitượng như thay đổi về hướng, kích thước, hình dạng. Do đó, chương này trình bày cácphép biến đổi như tịnh tiến, tỉ lệ, phép quay, đối xứng, biến dạng. 3.2. Phép tịnh tiến (translation) Có hai quan điểm về phép biến đổi hình học, đó là : - Biến đổi đối tượng : thay đổi tọa độ của các điểm mô tả đối tượng theo mộtqui tắc nào đó. - Biến đổi hệ tọa độ : Tạo ra một hệ tọa độ mới và tất cả các điểm mô tả đốitượng sẽ được chuyển về hệ tọa độ mới. Các phép biến đổi hình học cơ sở là : tịnh tiến, quay, biến đổi tỉ lệ. Phép biến đổi Affine hai chiều (gọi tắc là phép biến đổi) là một ánh xạ T biếnđổi điểm P(Px, Py) thành điểm Q(Qx, Qy) theo hệ phương trình sau: Qx = a*Px + c*Py + trx Qy = b*Px + d*Py + try Trang 47 Chương 3: Phép biến đổi trong đồ họa hai chiềuHay ⎛a b ⎞ (Qx, Qy) = (Px, Py). ⎜ ⎟ + (trx, try) ⎜ c d⎟ ⎝ ⎠ ⇒ Q = P.M + trDùng để dịch chuyển đối tượng từ vị trì này sang vị trí khác.Nếu gọi trx và try lần lượt là độ dời theo trục hoành và trục tung thì tọa độ điểm mớiQ(x, y) sau khi tịnh tiến điểm P(x,y) sẽ là : x = x + trx y = y + try(trx, try) được gọi là vector tịnh tiến hay vector độ dời (xem hình 3.1).Hay Q = P*M +tr ⎛1 0⎞ M= ⎜ ⎟, tr = (trx, try) ⎜ ⎟ ⎝0 1⎠ Q(x,y) y try P(x,y) y O x x trx Hình 3.1 : Phép biến đổi tịnh tiến điểm P thành Q. 3.3. Phép biến đổi tỷ lệ Phép biến đổi tỉ lệ làm thay đổi kích thước đối tượng. Để co hay giãn tọa độ củamột điểm P(x,y) theo trục hoành và trục tung lần lượt là Sx và Sy (gọi là các hệ số tỉlệ), ta nhân Sx và Sy lần lượt cho các tọa độ của P. x = x.Sx y = y.Sy - Khi các giá trị Sx , Sy nhỏ hơn 1, phép biển đổi sẽ thu nhỏ đối tượng. Ngượclại, khi các giá trị này lớn hơn 1, phép biến đổi sẽ phóng lớn đối tượng. Trang 48 Chương 3: Phép biến đổi trong đồ họa hai chiều - Khi Sx = Sy , người ta gọi đó là phép đồng dạng (uniform scaling). Đây là phépbiến đổi bảo toàn tính cân xứng của đối tượng. Ta gọi là phép phóng đại nếu |S|>1 vàlà phép thu nhỏ nếu |S| Chương 3: Phép biến đổi trong đồ họa hai chiều• Phép quay quanh một điểm bất kỳ Q y P Q P θ O x Hình 3.3 : Phép quay quanh một điểm bất kỳ. Xét điểm P(P.x,P.y) quay quanh điểm V(V.x, V.y) một góc θ đến điểmQ(Q.x,Q.y). Ta có thể xem phép quay quanh tâm V được kết hợp từ phép các biến đổicơ bản sau: - Phép tịnh tiến (-V.x, -V.y) để dịch chuyển tâm quay về gốc tọa độ - Quay quanh gốc tọa độ O một góc θ - Phép tịnh tiến (+V.x, +V.y) để đưa tâm quay về vị trí ban đầuTa cần xác định tọa độ của điểm Q (xem hình 3.3).- Từ phép tịnh tiến (-V.x,-V.y) biến đổi điểm P thành P ta được: P = P + V hay P.x = P.x - V.x ...