Đồ họa máy tính - Chương 5: Thư viện đồ họa 2D, 3D
Số trang: 19
Loại file: pdf
Dung lượng: 337.64 KB
Lượt xem: 11
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Thư viện đồ họa 2D, 3DTrong chương này chúng ta sẽ khảo sát thư viện đồ họa lấy từ cuốn “GRAPHICSME DANS LE PLAN ET DANS L’ESPACE AVEC TURBO PASCAL”, R.DONY, 1990.1. Nguyên tắc thiết kế của thư viện 1. Chúng ta sẽ xây dựng những công cụ chuyển đổi từ hệ tọa độ Toán học (hệ Decac thuận, tọa độ là số thực không giới hạn) sang hệ tọa độ màn hình (hệ Decac ngược, tọa độ là số nguyên). Bộ công cụ đó gồm các thủ tục sau: Thủ tục Procedure CAT( ) Chức năng ...
Nội dung trích xuất từ tài liệu:
Đồ họa máy tính - Chương 5: Thư viện đồ họa 2D, 3D Chương V. Thư viện đồ họa 2D, 3DTrong chương này chúng ta sẽ khảo sát thư viện đồ họa lấy từ cuốn “GRAPHICSME DANSLE PLAN ET DANS L’ESPACE AVEC TURBO PASCAL”, R.DONY, 1990.1. Nguyên tắc thiết kế của thư viện1. Chúng ta sẽ xây dựng những công cụ chuyển đổi từ hệ tọa độ Toán học (hệ Decac thuận,tọa độ là số thực không giới hạn) sang hệ tọa độ màn hình (hệ Decac ngược, tọa độ là sốnguyên). Bộ công cụ đó gồm các thủ tục sau: Thủ tục Chức năng Procedure CAT( ) - đảo tung độ y, - chiếu “cửa sổ” lên màn hình, - cắt những phần nằm ngoài phạm vi cửa sổ Procedure CUASO( ) thiết lập nên “cửa sổ” Procedure TAMNHIN( ) thiết lập nên “tầm nhìn”2. Sau khi đã có bộ công cụ chuyển tọa độ trên, các lệnh vẽ về sau đều coi như đang vẽ trênhệ tọa độ Toán học quen thuộc. Việc biến đổi về hệ tọa độ màn hình và hiển thị được thựchiện tự động bởi các công cụ đã có.3. Đoạn thẳng được chọn làm nguyên thể đồ họa. Mọi đối tượng hình học khác đều đượcxây dựng từ đoạn thẳng, chẳng hạn một điểm được vẽ như một đoạn thẳng với 2 đầu múttrùng nhau, các đường cong được vẽ bằng một loạt đoạn thẳng ngắn liên tiếp nhau, đườngtròn được xấp xỉ hóa bởi một đa giác đều nhiều cạnh ...2. Khái niệm cửa sổ, tầm nhìn Về lý thuyết, không gian 2D thực tế là vô hạn nhưng con người không thể bao quáthết mà thường chỉ quan tâm tới một vùng nào đó. Cửa sổ được định nghĩa là hình chữ nhậtchứa những đối tượng đang được khảo sát. Chẳng hạn nhìn lên một bức tranh tường, ta chúý vào một họa tiết nào đó, khi đó cửa sổ là hình chữ nhật nhỏ nhất có thể chứa nó. Khichuyển sự chú ý sang những phần khác, cửa sổ sẽ được di chuyển theo. Thủ tục tiết lập cửa sổ như sau: CuaSo (F1,F2,F3,F4: Real)Trong đó F1, F2, F3, F4 là tọa độ các đỉnh cửa sổ (hình vẽ) và phải thỏa mãn: F1 < F2, F3 < F4PROCEDURE Cuaso (F1,F2,F3,F4 : Real);BEGIN XgFen := F1; {Hoanh do trai} XdFen := F2; {Hoanh do phai} YbFen := F3; {Tung do duoi} YhFen := F4 {Tung do tren}END;Ví dụ ta gọi thủ tục sau để thiết lập cửa sổ vuông: CuaSo (13.5, 22, 18.5, 27);http://www.ebook.edu.vn 11 YhFen F4 Cửa sổ YbFen F3 XgFen XdFen F1 F2 Hình ảnh mà ta đang khảo sát trên cửa sổ phải được thể hiện lên màn hình máy tính.Không phải lúc nào ta cũng dùng toàn bộ màn hình mà thường chia thành nhiều vùng, mỗivùng cho một mục đích, để hiển thị một cửa sổ khác nhau. Ta gọi vùng màn hình đó là tầmnhìn của cửa sổ tương ứng. YhClot C4 Tầm nhìn YbClot C3 XgClot XdClot C1 C2 Thủ tục thiết lập tầm nhìn như sau: TamNhin (C1, C2, C3, C4: Integer) trong đó 0≤ C1 < C2 ≤ GetMaxX 0≤ C3 < C4 ≤ GetMaxYPROCEDURE TamNhin (C1,C2,C3,C4 : Integer);BEGIN {Có đổi chiều trục Y } XgClot := C1; {Hoành độ trái} XdClot := C2; {Hoành độ phải} YbClot := C3; {Tung độ dưới}http://www.ebook.edu.vn 12 YhClot := C4; {Tung độ trên} Xtl := (XdClot - XgClot) / (XdFen - XgFen); {tỷ lệ chiều ngang} Ytl := (YhClot - YbClot) / (YhFen - YbFen); {tỷ lệ chiều dọc} SetviewPort (XgClot, MaxY-YhClot, XdClot, MaxY-YbClot, ClipOn) {không vẽ rangoài}END;Ví dụ: để thiết lập chế độ làm việc toàn màn hình ta gọi thủ tụcPROCEDURE TamNhinDay; {tầm nhìn đầy}BEGIN TamNhin (0,MaxX,0,MaxY) {Tầm nhìn là toàn bộ màn hình}END;3. Đoạn thẳng, điểmĐoạn thẳng là nguyên thể đồ họa nhỏ nhất. Ta vẽ đoạn thẳng bằng cách trước hết đặt con trỏđồ họa vào điểm đầu mút thứ nhất, sau đó vẽ đoạn nối tới đầu mút thứ hai. Ta dùng cặp biến(XP1, YP1) để thao dõi và định vị con trỏ đồ họa.PROCEDURE VeDen (X,Y : Real);{ Vẽ đoạn nối (XP1,YP1) đến (X,Y) và clipping nó}BEGIN XP2 := X; YP2 := Y; Cat (XP1,YP1,XP2,YP2); {clipping} XP1 := XP2; {chuyển con trỏ tới đầu mút thứ hai vừa xác định } YP1 := YP2END;PROCEDURE Diem (X,Y : Real);BEGIN XP1 := X; YP1 := Y; VeDen (X,Y)END;4. Chiếu cửa sổ lên tầm nhìnSau khi đã xác định được cửa sổ (vùng cần khảo sát) và tầm nhìn (vùng dành cho việc hiểnthị), công việc tiếp theo là chiếu toàn bộ nội dung cửa sổ lên màn hình. Để làm việc này tacần có công thức toán học của phép chiếu cho phép xác định tọa độ ảnh (Xe, Ye) của điểmthực (Xr, Yr) qua phé ...
Nội dung trích xuất từ tài liệu:
Đồ họa máy tính - Chương 5: Thư viện đồ họa 2D, 3D Chương V. Thư viện đồ họa 2D, 3DTrong chương này chúng ta sẽ khảo sát thư viện đồ họa lấy từ cuốn “GRAPHICSME DANSLE PLAN ET DANS L’ESPACE AVEC TURBO PASCAL”, R.DONY, 1990.1. Nguyên tắc thiết kế của thư viện1. Chúng ta sẽ xây dựng những công cụ chuyển đổi từ hệ tọa độ Toán học (hệ Decac thuận,tọa độ là số thực không giới hạn) sang hệ tọa độ màn hình (hệ Decac ngược, tọa độ là sốnguyên). Bộ công cụ đó gồm các thủ tục sau: Thủ tục Chức năng Procedure CAT( ) - đảo tung độ y, - chiếu “cửa sổ” lên màn hình, - cắt những phần nằm ngoài phạm vi cửa sổ Procedure CUASO( ) thiết lập nên “cửa sổ” Procedure TAMNHIN( ) thiết lập nên “tầm nhìn”2. Sau khi đã có bộ công cụ chuyển tọa độ trên, các lệnh vẽ về sau đều coi như đang vẽ trênhệ tọa độ Toán học quen thuộc. Việc biến đổi về hệ tọa độ màn hình và hiển thị được thựchiện tự động bởi các công cụ đã có.3. Đoạn thẳng được chọn làm nguyên thể đồ họa. Mọi đối tượng hình học khác đều đượcxây dựng từ đoạn thẳng, chẳng hạn một điểm được vẽ như một đoạn thẳng với 2 đầu múttrùng nhau, các đường cong được vẽ bằng một loạt đoạn thẳng ngắn liên tiếp nhau, đườngtròn được xấp xỉ hóa bởi một đa giác đều nhiều cạnh ...2. Khái niệm cửa sổ, tầm nhìn Về lý thuyết, không gian 2D thực tế là vô hạn nhưng con người không thể bao quáthết mà thường chỉ quan tâm tới một vùng nào đó. Cửa sổ được định nghĩa là hình chữ nhậtchứa những đối tượng đang được khảo sát. Chẳng hạn nhìn lên một bức tranh tường, ta chúý vào một họa tiết nào đó, khi đó cửa sổ là hình chữ nhật nhỏ nhất có thể chứa nó. Khichuyển sự chú ý sang những phần khác, cửa sổ sẽ được di chuyển theo. Thủ tục tiết lập cửa sổ như sau: CuaSo (F1,F2,F3,F4: Real)Trong đó F1, F2, F3, F4 là tọa độ các đỉnh cửa sổ (hình vẽ) và phải thỏa mãn: F1 < F2, F3 < F4PROCEDURE Cuaso (F1,F2,F3,F4 : Real);BEGIN XgFen := F1; {Hoanh do trai} XdFen := F2; {Hoanh do phai} YbFen := F3; {Tung do duoi} YhFen := F4 {Tung do tren}END;Ví dụ ta gọi thủ tục sau để thiết lập cửa sổ vuông: CuaSo (13.5, 22, 18.5, 27);http://www.ebook.edu.vn 11 YhFen F4 Cửa sổ YbFen F3 XgFen XdFen F1 F2 Hình ảnh mà ta đang khảo sát trên cửa sổ phải được thể hiện lên màn hình máy tính.Không phải lúc nào ta cũng dùng toàn bộ màn hình mà thường chia thành nhiều vùng, mỗivùng cho một mục đích, để hiển thị một cửa sổ khác nhau. Ta gọi vùng màn hình đó là tầmnhìn của cửa sổ tương ứng. YhClot C4 Tầm nhìn YbClot C3 XgClot XdClot C1 C2 Thủ tục thiết lập tầm nhìn như sau: TamNhin (C1, C2, C3, C4: Integer) trong đó 0≤ C1 < C2 ≤ GetMaxX 0≤ C3 < C4 ≤ GetMaxYPROCEDURE TamNhin (C1,C2,C3,C4 : Integer);BEGIN {Có đổi chiều trục Y } XgClot := C1; {Hoành độ trái} XdClot := C2; {Hoành độ phải} YbClot := C3; {Tung độ dưới}http://www.ebook.edu.vn 12 YhClot := C4; {Tung độ trên} Xtl := (XdClot - XgClot) / (XdFen - XgFen); {tỷ lệ chiều ngang} Ytl := (YhClot - YbClot) / (YhFen - YbFen); {tỷ lệ chiều dọc} SetviewPort (XgClot, MaxY-YhClot, XdClot, MaxY-YbClot, ClipOn) {không vẽ rangoài}END;Ví dụ: để thiết lập chế độ làm việc toàn màn hình ta gọi thủ tụcPROCEDURE TamNhinDay; {tầm nhìn đầy}BEGIN TamNhin (0,MaxX,0,MaxY) {Tầm nhìn là toàn bộ màn hình}END;3. Đoạn thẳng, điểmĐoạn thẳng là nguyên thể đồ họa nhỏ nhất. Ta vẽ đoạn thẳng bằng cách trước hết đặt con trỏđồ họa vào điểm đầu mút thứ nhất, sau đó vẽ đoạn nối tới đầu mút thứ hai. Ta dùng cặp biến(XP1, YP1) để thao dõi và định vị con trỏ đồ họa.PROCEDURE VeDen (X,Y : Real);{ Vẽ đoạn nối (XP1,YP1) đến (X,Y) và clipping nó}BEGIN XP2 := X; YP2 := Y; Cat (XP1,YP1,XP2,YP2); {clipping} XP1 := XP2; {chuyển con trỏ tới đầu mút thứ hai vừa xác định } YP1 := YP2END;PROCEDURE Diem (X,Y : Real);BEGIN XP1 := X; YP1 := Y; VeDen (X,Y)END;4. Chiếu cửa sổ lên tầm nhìnSau khi đã xác định được cửa sổ (vùng cần khảo sát) và tầm nhìn (vùng dành cho việc hiểnthị), công việc tiếp theo là chiếu toàn bộ nội dung cửa sổ lên màn hình. Để làm việc này tacần có công thức toán học của phép chiếu cho phép xác định tọa độ ảnh (Xe, Ye) của điểmthực (Xr, Yr) qua phé ...
Tìm kiếm theo từ khóa liên quan:
Công cụ đồ họa xử lý ảnh thuật toán đồ họa đồ họa cơ bản kỹ thuật đồ họaTài liệu liên quan:
-
Phương pháp truyền dữ liệu giữa hai điện thoại thông minh qua môi trường ánh sáng nhìn thấy
6 trang 330 0 0 -
Đồ án: Kỹ thuật xử lý ảnh sử dụng biến đổi Wavelet
41 trang 219 0 0 -
Xây dựng công cụ nhận dạng khuôn mặt theo thời gian thực hiện trên nền hệ điều hành mã nguồn mỡ
7 trang 212 0 0 -
Giáo trình Autocad - Nghề: Quản trị mạng máy tính - Trình độ: Cao đẳng nghề (Phần 2)
52 trang 212 0 0 -
Đồ án tốt nghiệp: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
123 trang 201 0 0 -
Đề cương chi tiết môn học Kỹ thuật đồ họa và xử lý ảnh
5 trang 175 1 0 -
Luận văn tốt nghiệp: Tìm hiểu về SIMULINK trong MATLAB
50 trang 155 0 0 -
Đồ án tốt nghiệp: Ứng dụng camera 3D trong việc phân loại sản phẩm theo hình dạng và kích thước
83 trang 114 0 0 -
578 trang 103 0 0
-
Phương pháp Xử lý ảnh bằng kỹ thuật số: Phần 1
92 trang 101 0 0