Bài giảng Đồ họa máy tính: Phép cắt 2D và phép chiếu

Trong 2D, thế giớ được định nghĩa là một mặt phẳng vô hạn, trong một hệ tọa độ nhất định. Chúng ta cần lấy ra một vùng trong mặt phẳng 2D này để xem, thường được gọi là ‘cửa sổ’. Trong thiết bị hiển thị của chúng ta, cần phải xác định một vùng để hiển thị, thường được gọi là ‘viewport’, và sử dụng hệ tọa độ của thiết bị. –Cắt bỏ tất cả những vật thể nằm ngoài cửa sổ. –Tịnh tiến cho khớp với viewport. –Co giãn theo hệ tọa độ của thiết bị.

pdf37 trang | Chia sẻ: haohao89 | Lượt xem: 2780 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Đồ họa máy tính: Phép cắt 2D và phép chiếu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
10/22/2007Bùi Thế Duy - Bộ môn KHMT 1 Đồ họa máy tính Phép cắt 2D (Clipping) và phép chiếu 10/22/2007Bùi Thế Duy - Bộ môn KHMT 2 Khung nhìn trong 2D z Trong 2D, thế giới được định nghĩa là một mặt phẳng vô hạn, trong một hệ tọa độ nhất định. z Chúng ta cần lấy ra một vùng trong mặt phẳng 2D này để xem, thường được gọi là ‘cửa sổ’. z Trong thiết bị hiển thị của chúng ta, cần phải xác định một vùng để hiển thị, thường được gọi là ‘viewport’, và sử dụng hệ tọa độ của thiết bị. – Cắt bỏ tất cả những vật thể nằm ngoài cửa sổ. – Tịnh tiến cho khớp với viewport. – Co giãn theo hệ tọa độ của thiết bị. 10/22/2007Bùi Thế Duy - Bộ môn KHMT 3 Khung nhìn trong 2D Cửa số trong tọa độ thế giới. 250° Viewport trong tọa độ thiết bị 250 x 250 Điểm. 45° 10/22/2007Bùi Thế Duy - Bộ môn KHMT 4 Clipping trong 2D. z Cần phải cắt những đối tượng cơ bản theo các cạnh của cửa số. – v.d. các đoạn thẳng 10/22/2007Bùi Thế Duy - Bộ môn KHMT 5 Chấp nhận đơn giản Hai đầu mút nằm trong cửa số→ chấp nhận. 10/22/2007Bùi Thế Duy - Bộ môn KHMT 6 Loại bỏ đơn giản Hai đầu mút nằm ngoài và cùng phía→ loại bỏ. 10/22/2007Bùi Thế Duy - Bộ môn KHMT 7 Thuật toán Cohen-Sutherland z Phương pháp hiệu quả để chấp nhận hoặc loại bỏ những đoạn thẳng không cắt các cạnh của cửa sổ. z Gán mã 4 bit cho mỗi đầu mút: – Bit 1: ở trên đỉnh của cửa sổ, y > ymax – Bit 2: ở phía dưới đáy, y < ymin – Bit 3 : bên phải của cạnh phải, x > xmax – Bit 4 : bên trái của cạnh trái, x < xmin – Mã 4-bit được gọi là: Outcode 10/22/2007Bùi Thế Duy - Bộ môn KHMT 8 Mã Cohen-Sutherland 2D 0000 0100 0001 1001 1000 1010 0010 01100101 10/22/2007Bùi Thế Duy - Bộ môn KHMT 9 Thuật toán Cohen-Sutherland 0000 0100 0001 1001 1000 1010 0010 01100101 Nếu cả hai đầu có mã là 0000, chấp nhận, nếu không: Thực hiện phép AND logic 2 mã 10/22/2007Bùi Thế Duy - Bộ môn KHMT 10 Thuật toán Cohen-Sutherland 0000 0100 0001 0110 1001 10101000 0010 1000 0000 0001 0000 0101 Thực hiện AND logic mã của 2 đầu mút, Loại bỏ đoạn thẳng nếu khác không. 10/22/2007Bùi Thế Duy - Bộ môn KHMT 11 Giao đoạn thẳng z Cần xác định giao điểm của các đoạn thẳng với các cạnh của cửa sổ để tiến hành cắt các đoạn thẳng. z Chọn một cạnh cửa sổ bất kỳ, cắt các đoạn thẳng, thực hiện lại thuật toán Cohen- Sutherland 10/22/2007Bùi Thế Duy - Bộ môn KHMT 12 Thuật toán Cyrus & Beck z Sử dụng phương trình tham số z Đường thẳng chứa đoạn cần xử lý sẽ cắt các đường thẳng chứa biên của cửa số ở đâu đó: 10/22/2007Bùi Thế Duy - Bộ môn KHMT 13 Thuật toán Cyrus & Beck z Sử dụng phương trình tham số z Đường thẳng chứa đoạn cần xử lý sẽ cắt các đường thẳng chứa biên của cửa số ở đâu đó: – Tìm tất cả các giao điểm, kiểm tra xem nó có nằm trên cửa số hay không. – Xem xét véctơ pháp tuyến tại một điểm. 10/22/2007Bùi Thế Duy - Bộ môn KHMT 14 Thuật toán Cyrus & Beck Cạnh Ej Nj P0 P1 PEJ 0])([ >−• EJj PtPN 0])([ =−• EJj PtPN 0])([ <−• EJj PtPN tPPPtP )()( 010 −+= 10/22/2007Bùi Thế Duy - Bộ môn KHMT 15 Thuật toán Cyrus & Beck DN PPN t PPD tPPNPPN PtPPPN PtPN tPPPtP j EJj jEJj EJj EJj •− −•= −= =−•+−• =−−+• =−• −+= ][ tính t),( 0][][ 0])([ 0])([ )()( 0 01 010 010 010 Dấu của mẫu số là quan trọng. Phải ≠ 0 (bỏ qua những đoạn song song). Phương trình tham số giúp thể hiện hướng. Mẫu số < 0 → điểm vào khu vực cửa sổ. Mẫu số > 0 → điểm ra khỏi khu vực cửa số. 10/22/2007Bùi Thế Duy - Bộ môn KHMT 16 Thuật toán Cyrus & Beck Edge Ej Nj DN PPN t j EJj •− −•= ][ 0 θ D Mẫu số < 0 → điểm vào khu vực cửa sổ, xếp vào loại PE. Mẫu số > 0 → điểm ra khỏi khu vực cửa số, xếp vào loại PL. 10/22/2007Bùi Thế Duy - Bộ môn KHMT 17 Thuật toán Cyrus & Beck Sắp xếp các điểm PE và PL theo t. PE PLPL PE t t Vẽ từ PE → PL PL < PE → không có giao điểm 10/22/2007Bùi Thế Duy - Bộ môn KHMT 18 Thuật toán Cyrus & Beck PE PL P1 PL PE P0 10/22/2007Bùi Thế Duy - Bộ môn KHMT 19 Clipping đa giác z Cắt đa giác bằng cách lần lượt sử dụng các cạnh của cửa sổ đề cắt đa giác. 10/22/2007Bùi Thế Duy - Bộ môn KHMT 20 Thuật toán Sutherland-Hodgman Kết quả Điểm kết quả thứ 1 Bốn trường hợp cắt đa giác: Trong Ngoài Trong Ngoài Trong Ngoài Trong Ngoài Trường hợp 3 Không có điểm ra nào. Trường hợp 1 Trường hợp 2. Kết quả Trường hợp 4 Điểm kết quả thứ 2 10/22/2007Bùi Thế Duy - Bộ môn KHMT 21 Thuật toán Sutherland-Hodgman z Đi vòng quanh các điểm của đa giác, kiểm tra với cạnh đang dùng để cắt của cửa số. z Chạy thuật toán lại với đa giác mới vừa được tạo ra với cạnh tiếp theo của cửa sổ z Không cần lưu trữ nhiều – Dễ dàng cài đặt. 10/22/2007Bùi Thế Duy - Bộ môn KHMT 22 Khung nhìn 3D z Tất nhiên là phức tạp hơn 2D – Thêm một chiều mới (!) – Các thiết bị hiển thị là 2D. z Cần dùng phép chiếu (projection) để chuyển vật thể hay cảnh vật 3D về thiết bị hiển thị 2D. z Cần thực hiện cắt với một khối 3D – Sáu mặt phẳng. – Hình chóp cụt. 10/22/2007Bùi Thế Duy - Bộ môn KHMT 23 Các hệ tọa độ Hệ tọa độ vật thể BIẾN ĐỔI Tọa độ thế giới CLIP Khối nhìn CHIẾU Tọa độmàn hình MÀNH HÓA Mành 10/22/2007Bùi Thế Duy - Bộ môn KHMT 24 Các phép chiếu z Chuyển một điểm từ hệ tọa độ có n chiều về hệ tọa độ có ít hơn n chiều. z Phép chiếu được xác định bởi các đường chiếu (projectors). z Các đường chiếu xuất phát từ tâm chiếu (centre of projection), đi qua mọi điểm của vật thể và giao với bề mặt chiếu để tạo nên ảnh chiếu. 10/22/2007Bùi Thế Duy - Bộ môn KHMT 25 Các phép chiếu Có hai loại phép chiếu: – Phối cảnh. – Song song. A B A′ B′ Tâm chiếu ở vô cùng Song song A A′ B′ Tâm chiếu B Phối cảnh 10/22/2007Bùi Thế Duy - Bộ môn KHMT 26 Các loại phép chiếu Các phép chiếu lên mặt phẳng Song song Phối cảnh Trực giao Xiên 1 điểm 2 điểm 3 điểm Axonometric Isometric CavalierCabinet Elevations 10/22/2007Bùi Thế Duy - Bộ môn KHMT 27 Chiếu phối cảnh z Xác định bởi mặt phẳng chiếu và tâm chiếu. – Kích thức ảnh chiếu của vật thể thay đổi theo khoảng cách đến tâm chiếu. – Giống như máy ảnh – Trông thực tế ! z Không hữu dụng để đo đạc – Các đường thẳng song song thường không song song sau phép chiếu. – Các góc chỉ được giữ trên các bề mặt song song với mặt phẳng chiếu. – Khoảng cách không được giữ. 10/22/2007Bùi Thế Duy - Bộ môn KHMT 28 Chiếu phối cảnh Bức tranh đầu tiên (Trinity with the Virgin, St. John and Donors) được thực hiện theo phép chiếu phổi cảnh bởi Masaccio, vào năm 1427. 10/22/2007Bùi Thế Duy - Bộ môn KHMT 29 Các phép chiếu phối cảnh • Tập hợp các đường thẳng không song song với mặt phẳng chiếu hội tụ tại một điểm biến mất (vanishing point). – Đó chính là ảnh chiếu của điểm ở vô cùng. – Có tọa độ đồng nhất là 0 (x,y,0) 10/22/2007Bùi Thế Duy - Bộ môn KHMT 30 Các phép chiếu phối cảnh z Các đường thẳng song song với trục tọa độ hội tụ tại điểm biến mất của trục (axis vanishing point). – Các phép chiếu phối cảnh được phân loại theo số lượng điểm biến mất này. – Tương ứng với số trục cắt các mặt phẳng chiếu. x y z z x y 10/22/2007Bùi Thế Duy - Bộ môn KHMT 31 Các phép chiếu phối cảnh z y x x y z Các đường thẳng song song với trục tọa độ hội tụ tại điểm biến mất của trục (axis vanishing point). – Các phép chiếu phối cảnh được phân loại theo số lượng điểm biến mất này. – Tương ứng với số trục cắt các mặt phẳng chiếu. z Mặt phẳng chiếu 10/22/2007Bùi Thế Duy - Bộ môn KHMT 32 Phép chiếu 1 điểm Mặt phẳng chiếu chỉ cắt 1 trục 10/22/2007Bùi Thế Duy - Bộ môn KHMT 33 Phép chiếu 1 điểm Bức tranh (The Piazza of St. Mark, Venice) thực hiện bởi Canaletto năm 1735-45 với phép chiếu 1 điểm. 10/22/2007Bùi Thế Duy - Bộ môn KHMT 34 Phép chiếu 2 điểm y z x Mặt phẳng chiếu 10/22/2007Bùi Thế Duy - Bộ môn KHMT 35 Phép chiếu 2 điểm Bức tranh chiếu 2 điểm thực hiện bởi Edward Hopper The Mansard Roof 1923 (240 Kb); màu nước trên giấy, 13 3/4 x 19 inches; The Brooklyn Museum, New York 10/22/2007Bùi Thế Duy - Bộ môn KHMT 36 Chiếu 3 điểm Bức tranh (City Night, 1926) thực hiện bởi Georgia O'Keefe, qua phép chiếu 3 điểm. y z x Mặt phẳng chiếu 10/22/2007Bùi Thế Duy - Bộ môn KHMT 37 Tổng kết z Clipping z Phép chiếu