Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin
ĐỒ HỌA 2DĐỒ HỌA 2D CÁC PHÉP BIẾN ĐỔICÁC PHÉP BIẾN ĐỔI Giảng viên Bùi Tiến Lên Phép biến đổi là gì ?Phép biến đổi là gì ? Phép biến đổi là một ánh xạ từ không gian R 2 vào R 2 : -Biến một điểm P thành một điểm P’ -Biến một đối tượng S thành đối tượng S’ P’ T Trang Trang Trang Trang Trang Trang Trang Trang 2 22 22 22 2 P P’ S S’ Ảnh Công thức phép biến đổiCông thức phép biến đổi = → ) P ( T ' P hàm dạng đổi Biến P' P R R : T xạ ánh dạng đổi Biến 22 Trang Trang Trang Trang Trang Trang Trang Trang 3 33 33 33 3 = = = )P,P(TP )P,P(T P hay ) P ( T ' P yxy ' y yxx ' x Đònh nghóa biến đổi affinònh nghóa biến đổi affine Phép biến đổi affine là phép biến đổi mà các hàm biến đổi T x , T y có dạng tuyến tính. T x (x, y) = ax + cy + e T y (x, y) = bx + dy + f Trang Trang Trang Trang Trang Trang Trang Trang 4 44 44 44 4 Hệ tọa độ thuần nhấtHệ tọa độ thuần nhất Hệ tọa độ Đề các Hệ tọa độ thuần nhất P(P x , P y ) P(P x , P y , 1) P(P x , P y ) P(wP x , wP y , w) Trang Trang Trang Trang Trang Trang Trang Trang 5 55 55 55 5 Công thức xác đònh ảnh của một điểmCông thức xác đònh ảnh của một điểm ++= ++= trận ma Dạng fdPbPP ecPaPP hàm Dạng yx ' y yx ' x Trang Trang Trang Trang Trang Trang Trang Trang 6 66 66 66 6 ( ) ( ) = = 1fe 0dc 0ba .1PP1PP hoặc M.P'P trận ma Dạng yx ' y ' x Ma trận biến đổi Công thức xác đònh ảnh của một điểmCông thức xác đònh ảnh của một điểm ++= += đổi biến trận ma dạng Hoặc 4 2y 2x- y) (x,T 5 –3y 2x y) (x,T hàm dạng đổi biến thức Công y x Trang Trang Trang Trang Trang Trang Trang Trang 7 77 77 77 7 − − 145 023 022 đổi biến trận ma dạng Hoặc Caáu truùc döõ lieäuCaáu truùc döõ lieäu // Lưu thông tin phep bien doi affine struct TAffine2D { double M[3][3]; }; Trang Trang Trang Trang Trang Trang Trang Trang 8 88 88 88 8 Bieỏn ủoồi ủieồm Bieỏn ủoồi ủieồm Caứi ủaởtCaứi ủaởt TPoint2D TransformPoint2D(TAffine2D T, TPoint2D P) { TPoint2D Q; Q.x = T.M[0][0]*P.x + T.M[1][0]*P.y + T.M[2][0]; Q.y = T.M[0][1]*P.x + T.M[1][1]*P.y + T.M[2][1]; return Trang Trang Trang Trang Trang Trang Trang Trang 9 99 99 99 9 return Q; } Cài đặtCài đặt void Read_Transform_Convert_Draw_2D(CDC *pDC, char *filenamefilename, TAffine2D T) { . . . TPoint2D P1, P2; CPoint Q1, Q2; int r, g, b; // Doc doan thang tu tap tin f >> P1.x >> P1.y >> P2.x >> P2.y >> r >> g >> b; // Bien doi doan thang P1 = TransformPoint2D(T, P1); P2 = TransformPoint2D(T, P2); đọcđọc biến đổibiến đổi xénxén chuyển tọa độchuyển tọa độ vẽvẽ Trang Trang Trang Trang Trang Trang Trang Trang 10 1010 1010 1010 10 // Chuyen toa do doan thang Q1 = ConvertWorldToScreen2D(P1); Q2 = ConvertWorldToScreen2D(P2); // Ve doan thang pDC->MoveTo(Q1.x, Q1.y); pDC->LineTo(Q2.x, Q2.y); . . . } [...]... Trang 14 Hệ quả -Đoạn thẳng biến thành đoạn thẳng -Đa giác biến thành đa giác -Đường cong bezier biến thành đường cong Bezier T T T Trang 15 Biến đổi đối tượng Trang 16 Biến đổi đối tượng Trang 17 Biến đổi đối tượng Trang 18 Biến đổi đối tượng Trang 19 Biến đổi đối tượng Trang 20 Biến đổi đối tượng Trang 21 Biến đổi đối tượng Trang 22 Công thức xác đònh ảnh của một điểm A biến thành A' 2 −2 (5 4... TAffine2D BuildScaling2D(double sx, double sy) { TAffine2D T; T.M[0][0]=sx; T.M[0][1]=0; T.M[0][2]=0; T.M[1][0]=0; T.M[1][1]=sy; T.M[1][2]=0; T.M[2][0]=0; T.M[2][1]=0; T.M[2][2]=1; return T; } Trang 33 Nguyên lý kết hợp các phép biến đổi Nếu T1, T2 là phép biến đổi affine Thì - T = T1 + T2 là phép biến đổi affine - M = M1 x M2 T1, M1 T2, M2 T, M Trang 34 Nguyên lý phân rã phép biến đổi Mọi phép biến đổi. .. ảnh của một điểm A biến thành A' 2 −2 (5 4 1) = (2 2 1) 3 2 − 5 4 B biến thành B' 0 0 1 2 −2 (3 0 1) = (3 1 1) 3 2 − 5 4 0 0 1 Trang 23 Các phép biến đổi affine cơ sở Có 3 phép biến đổi cơ sở -Phép tònh tiến -Phép quay -Phép tỉ lệ Trang 24 Phép tònh tiến (translation) Dùng để thay đổi vò trí của các đối tượng từ vò trí này sang vò trí khác Tham số : - Độ dòch chuyển trên... M1 x M2 T1, M1 T2, M2 T, M Trang 34 Nguyên lý phân rã phép biến đổi Mọi phép biến đổi affine bất kỳ đều có thể phân rã thành một chuỗi các phép biến đổi cơ bản T T1 Tn T2 T3 Trang 35 Cài đặt nguyên lý kết hợp TAffine2D operator + (TAffine2D T1, TAffine2D T2) { TAffine2D T; for(int i=0; i . HỌA 2DĐỒ HỌA 2D CÁC PHÉP BIẾN ĐỔICÁC PHÉP BIẾN ĐỔI Giảng viên Bùi Tiến Lên Phép biến đổi là gì ?Phép biến đổi là gì ? Phép biến đổi là một ánh xạ từ không gian R 2 vào R 2 : -Biến một điểm P. P hay ) P ( T ' P yxy ' y yxx ' x Đònh nghóa biến đổi affinònh nghóa biến đổi affine Phép biến đổi affine là phép biến đổi mà các hàm biến đổi T x , T y có dạng tuyến tính. T x (x, y) = ax. trận biến đổi Công thức xác đònh ảnh của một điểmCông thức xác đònh ảnh của một điểm ++= += đổi biến trận ma dạng Hoặc 4 2y 2x- y) (x,T 5 –3y 2x y) (x,T hàm dạng đổi biến