2D Transformations Các phép biến đổi 2D

Slides:



Advertisements
Similar presentations
THIÊN ĐƯỜNG HOA TÌNH YÊU TẠI XỨ NHẬT
Advertisements

Dù muốn hay không, một ngày kia, chúng ta cũng phải chia tay thế giới này.
GV: Nguyễn Thị Thúy Hiền PHÒNG GD&ĐT PHÚ VANG TRƯỜNG THCS PHÚ THƯỢNG.
5.
CHƯƠNG III: NGÂN HÀNG VÀ CÁC NGHIỆP VỤ NGÂN HÀNG.
By Nguyen Minh Quy - UTEHY
BÀI 3. ĐƯỜNG THẲNG VÀ MẶT PHẲNG SONG SONG SỞ GD&ĐT ĐIỆN BIÊN TRƯỜNG THCS-THPT TẢ SÌN THÀNG BÀI DỰ THI SOẠN GIẢNG E-LEARNING Chương II ĐƯỜNG THẲNG VÀ MẶT.
Rèn luyện nghiệp vụ sư phạm 3
KIỂM TRA BÀI CŨ 1) Thế nào là đơn thức ? Cho ví dụ về đơn có biến là x, y, có bậc là 3. 2.a) Thế nào là bậc của đơn thức có hệ số khác 0 ? Muốn nhân hai.
Trường THPT Long Châu Sa
Orientation Các vấn đề về IT.
Giáo viên: Nguyễn Ngọc Thúy Hằng Đơn vị: Trường THPT Lê Quý Đôn
BIỆN PHÁP TRÁNH THAI TỰ NHIÊN ĐỐI TƯỢNG: CĐ HỘ SINH THỜI GIAN: 4 TIẾT.
CHƯƠNG 5. CẤU TẠO ĐƯỜNG KIẾN TẠO. Nội dung chính KHÁI NIỆM CHUNG CÁC DẠNG CẤU TẠO ĐƯỜNG KIẾN TẠO CÁCH ĐO ĐẠC VÀ THU THẬP CÁC SỐ LIỆU CẤU TẠO ĐƯỜNG.
CHƯƠNG 3: ĐẠO HÀM VÀ VI PHÂN. Đạo hàm Bài toán mở đầu 1: Xét đường cong y=f(x). t P Q Một điểm P cố định trên đường cong và cát tuyến PQ. Cho điểm Q chạy.
1 BÀI 6 BẤM CÁP VÀ CHIA SẺ DỮ LIỆU MẠNG. 2 Nội Dung  Bấm cáp xoắn đôi đúng chuẩn Phương pháp bấm cáp chuẩn A Phương pháp bấm cáp chuẩn B  Kết nối máy.
TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH C/C++
Các hệ mã truyền thống Cryptography Криптография Trần Nguyên Ngọc
Ngôn ngữ lập trình C/C++
GIÁO TRÌNH ĐÀO TẠO TRƯỜNG ĐẠI HỌC SÀI GÒN
SỬ DỤNG EXCEL ĐỂ TRÍCH KHẤU HAO TSCĐ
Bảo mật - Mã hóa dữ liệu Nội dung trình bày :
CHƯƠNG 9 PHẦN MỀM POWERPOINT
Hướng dẫn viết đề cương nghiên cứu
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG C++
Chương 8 KẾT NỐI VỚI SQL SERVER & ỨNG DỤNG TRÊN C#
Vấn đề ngôn ngữ lập trình
© 2007 Thomson South-Western
Phần 1: Ngôn ngữ lập trình C
Phân tích mô tả biến liên tục
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA VẬT LÝ
Hệ quản trị Cơ sở dữ liệu Giới thiệu
Sự tự tụ tiêu Phạm Văn Tiến Lê Minh Tiến Từ Khánh Long
Theo mặc định toàn bộ dung lượng dùng lưu trữ, các thư mục hiện có trong các Partition , các dịch vụ hệ thống đã được chia sẽ cho mọi người được phép sử.
13 August 2001 Area Filling Tô màu Chris Weigle - Comp 136.
Con trỏ Bài 8.
Cấu hình đơn giản cho Router
Sự truyền ánh sáng trong tinh thể dị hướng
Ring ? Bus ? ? Mesh ? Start ?. Ring ? Bus ? ? Mesh ? Start ?
Môn: Lập trình Hướng đối tượng (Object Oriented Programming)
KỸ THUẬT CHỤP CT ĐỘNG MẠCH CHI DƯỚI
TÀI LIỆU GIẢNG DẠY IC3 GS4 SPARK
GIÁO TRÌNH ĐÀO TẠO TRƯỜNG ĐẠI HỌC SÀI GÒN
Bài 8 (6 tiết): CÂY (TREE) A. CÂY VÀ CÂY NHỊ PHÂN (2 tiết)
HỆ ĐIỀU HÀNH MẠNG.
ỨNG DỤNG HIV INFO 3.0 QUẢN LÝ SỐ LIỆU NGƯỜI NHIỄM HIV/AIDS
GVHD: TS Lê Vũ Tuấn Hùng HV: Trịnh Thị Quỳnh Như
File Transfer Protocol (FTP) là cơ chế truyền tin dưới dạng tập tin (file). Thông qua giao thức TCP/IP FTP là dịch vụ đặc biệt vì nó dùng tới 2 port Port.
Aleksandr Mikhailovich Lyapunov ( )
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT
ÔN TẬP Chuyển các số sau từ hệ thập phân sang nhị phân, bát phân, thập lục phân: Chuyển các số sau từ hệ nhị phân.
Mảng Bài 7.
Chương 4 - CÁC MÔ ĐUN ĐiỀU KHIỂN TRONG HỆ THỐNG CƠ ĐiỆN TỬ
KHAI THÁC THỦY SẢN ĐẠI CƯƠNG
1. Đổi chỗ trực tiếp – Interchange Sort
Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU
Chaøo möøng quyù thaày coâ ñeán vôùi tieát daïy
Chương 5: Relational mapping
Lớp DH05LN GIÁO VIÊN PHỤ TRÁCH ThS. NGUYỄN QUỐC BÌNH
KỸ NĂNG LUYỆN TRÍ NHỚ ThS. Huỳnh Phạm Ngọc Lâm.
Please click through slides at your leisure
Chương 3. Lập trình trong SQL Server TRIGGER
AUDIO DROPBOX - TUTORIALS
SỞ GIÁO DỤC VÀ ĐÀO TẠO ĐIỆN BIÊN TRƯỜNG THPT MÙN CHUNG
Top 6 N ơ i Đào T ạ o SEO T ố t Nh ấ t Bài vi ế t s ử d ụ ng t ư li ệ u c ủ a NhatPhuong.Net  Ngu ồ n:
Company LOGO CĂN BẢN VỀ MẠNG NGUYEN TAN THANH Xem lại bài học tại
1 Bài tập 3D. 2 3D Modeling Line – Ray – SegmentLine – Ray – Segment SurfaceSurface –Parametric Ruled SurfaceRuled Surface Surface of RevolutionSurface.
Quản trị rủi ro Những vấn đề căn bản Nguyễn Hưng Quang 07/11/2015 NHẬT HOA IC&T.
TRƯỜNG ĐẠI HỌC NGOẠI THƯƠNG CƠ SỞ II TẠI TP. HỒ CHÍ MINH HỘI NGHỊ KHOA HỌC CƠ SỞ II “BÁO CÁO HOẠT ĐỘNG ĐI THỰC TẾ CỦA GIẢNG VIÊN CSII, NĂM HỌC ”
Presentation transcript:

2D Transformations Các phép biến đổi 2D 13 August 2001 2D Transformations Các phép biến đổi 2D Chris Weigle - Comp 136

Giới thiệu Bản chất của phép biến đổi hình học là thay đổi vị trí của đối tượng, làm thay đổi đối tượng về hướng, kích thước, hình dạng. Hai phương pháp để biến đổi hình học: Biến đổi đối tượng: thay đổi tọa độ của đối tượng. Biến đổi hệ tọa độ: tạo hệ tọa độ mới và tất cả đối tượng sẽ được chuyển về hệ tọa độ mới. Các phép biến đổi hình học cơ bản: tịnh tiến, quay, biến đổi tỉ lệ, biến dạng.

Phép biến đổi hình học Một phép biến đổi là một ánh xạ T: P(x,y) Q(x’,y’)

Phép biến đổi hình học (cont.) Phép biến đổi Affine là phép biến đổi với f(x,y) và g(x,y) là 2 hàm tuyến tính: Biểu diễn phép biến đổi Affine dưới dạng ma trận: Thông thường, chúng ta chỉ khảo sát phép biến Affine nên ta thường dùng thuật ngữ phép biến đổi để ngụ ý là phép biến đổi Affine.

Phép tịnh tiến - Translation Phép tịnh tiến dùng để dịch chuyển đối tượng từ vị trí này sang vị trí khác. trx try P Q

Phép tịnh tiến (cont.) Gọi tr = (trx , try) là vector tịnh tiến từ điểm P đến điểm Q thì: Ma trận biến đổi của phép tịnh tiến:

Phép quay - Rotation Q Đổi hướng đối tượng. Phép quay gồm có tâm quay C, góc quay α. Biến đổi điểm P thành Q sao cho: P và Q nằm trên đường tròn tâm C, Góc PCQ bằng α Do vị trí của tâm quay nên ta có 2 loại phép quay: Phép quay quanh gốc tọa độ Phép quay quanh một tâm bất kì Góc quay theo qui ước chiều dương là ngược chiều kim đồng hồ. P α C +

Phép quay một góc α quanh gốc tọa độ  P Q O

Phép quay một góc α quanh gốc tọa độ Phép đối xứng tâm (gốc tọa độ) P và Q đối xứng qua gốc tọa độ. Do đó, phép đối xứng tâm là phép quay quanh gốc tọa độ một góc 1800. =1800 P Q O

Phép quay một góc α quanh tâm bất kì  P Q O C(xc,yc) P’ Q’ T(-xc,-yc) T(α) T(xc,yc) P P’ Q’ Q

Phép quay một góc α quanh tâm bất kì (cont.) Ta có thể chứng minh phép quay tâm C(xc, yc) một góc α là kết hợp của các phép biến đổi sau đây: Tịnh tiến theo vector (-xc,-yc) để dịch chuyển tâm quay về gốc tọa độ: P’ = T(-xc, -yc) . P Quay quanh gốc tọa độ một góc : Q’ = T() . P’ Tịnh tiến theo vector (xc,yc) để đưa tâm quay về vị trí ban đầu: Q = T(xc,yc) . Q’ Kết hợp 3 phép biến đổi trên ta được: Q = T(xc,yc) . T() . T(-xc,-yc) . P Như vậy, ma trận biến đổi của phép quay tâm bất kì là:

Phép biến đổi tỉ lệ - Scaling Co giản đối tượng sx và sy được gọi là hệ số co giản theo trục x và trục y

Phép biến đổi tỉ lệ (cont.) Khi sy = 1 thì đối tượng co giản theo trục x Khi sx = 1 thì đối tượng co giản theo trục y

Phép biến đổi tỉ lệ (cont.) Khi sy = sy thì ta gọi đây là phép biến đổi đồng dạng – uniform scaling, bảo toàn tính cân xứng của đối tượng. Nếu sx = sy < 1 thì đây là phép thu nhỏ, ngược lại thì đây là phép phóng to Thu nhỏ Phóng to

Phép biến đổi tỉ lệ (cont.) Phép đối xứng trục Đối xứng qua trục hoành: Đối xứng qua trục tung:

Phép biến dạng - Shearing Thay đổi hình dạng của đối tượng Phép biến dạng theo trục x làm thay đổi hoành độ còn tung độ giữ nguyên. Phép biến dạng theo trục y làm thay đổi tung độ còn hoành độ giữ nguyên.

Phép biến dạng - Shearing Phép biến dạng tổng quát

Bài tập Biến đổi đối tượng 2D Mô tả tính chất hình học của đối tượng Tâm, có tọa độ so với hệ tọa độ thực : center Dạng hình học, có dạng đa giác đối xứng qua tâm : points Màu sắc : color points color center Hệ tọa độ đối tượng Hệ tọa độ thực

Bài tập Biến đổi đối tượng 2D (cont.) Áp dụng các phép biến đổi trên đối tượng Tịnh tiến đối tượng bằng vectơ tr, thực chất là tịnh tiến tâm của đối tượng Quay đối tượng theo góc angle, thực chất là quay các đỉnh của đa giác … tr Hệ tọa độ thực

Bài tập Biến đổi đối tượng 2D (cont.) Cấu trúc dữ liệu #define MAXNUMPOINTS 10 struct Point2D { double x, y; }; struct Object Point2D center; Point2D points[MAXNUMPOINTS]; int numOfPoints; int color; Point2D tr; double angle; // …

Bài tập Biến đổi đối tượng 2D (cont.) Vẽ đối tượng đối tượng: void drawObject(Object &o); Vẽ đa giác xác định bởi points, lưu ý các điểm points[i] có tọa độ thực là: points[i] + center Đối tượng được vẽ bằng màu color Tịnh tiến đối tượng: void translateObject(Object &o); Tịnh tiến tâm của đối tượng theo vectơ tịnh tiến : center = center + tr Lưu ý trường hợp đối tượng vượt khỏi khung nhìn: Tính lại tâm của đối tượng Tính lại vectơ tịnh tiến tr

Bài tập Biến đổi đối tượng 2D (cont.) Quay đối tượng: void roatateObject(Object &o); Quay các đỉnh của đa giác của đối tượng theo theo góc angle : rotatePoints(o.points[i], o.angle); Chương trình chính: Object o; initObject(o); while (!kbhit()) { o.color = CYAN; drawObject(o); delay(50); o.color = BLACK; translateObject(o); ratateObject(o); // … }