Đăng ký Đăng nhập

Tài liệu Nhập môn kỹ thuật đồ họa

.PDF
132
12
137

Mô tả:

LỜI GIỚI THIỆU Sự phát triển của đồ họa máy tính đã mang lại lợi ích to lớn trong giao diện người máy, thay vì phải giao tiếp bằng những dòng văn bản tẻ nhạt và khó nhớ thì những hình ảnh trực quan thân thiện và dễ hiểu đã thực sự là một cuộc cách mạng mới trong lĩnh vực máy tính, là bước đột phá làm cho máy tính gần gũi với con người và ngày càng trở thành một công cụ quan trọng không thể thiếu được trong mọi lĩnh vực đời sống xã hội. Để tìm hiểu được bản chất và những kĩ thuật đã tạo nên được hình ảnh trong máy tính, môn kĩ thuật đồ họa đã trở thành một môn học chính khóa cho sinh viên chuyên ngành ở chương trình đại học và cao học, môn học này giúp cho sinh viên nắm được những tư tưởng giải thuật, các nguyên lí cơ bản để xây dựng nên hình ảnh đồ họa trên máy tính và các ứng dụng đồ họa nhằm xây dựng các chương trình ứng dụng đồ hoạ và xử lí thông tin dưới dạng hình ảnh. Bài giảng này tác giả đã cố gắng biên soạn để phù hợp với nội dung giảng dạy trong chương trình đại học, giáo trình này cũng hữu ích cho những ai quan tâm đến cơ sở toán học của các phần mềm CAD. Trong quá trình biên soạn không tránh khỏi những khiếm khuyết, rất mong được sự đóng góp của các độc giả cũng như của các đồng nghiệp để giáo trình ngày càng hoàn thiện hơn. 1 MỤC LỤC LỜI GIỚI THIỆU .............................................................................................................. 1 CHƯƠNG I GIỚI THIỆU VỀ ĐỒ HOẠ MÁY TÍNH................................................... 4 1.1 Một số ứng dụng của đồ hoạ máy tính ...................................................................... 4 1.1.1 Hỗ trợ thiết kế (CAD/CAM) ............................................................................... 4 1.1.2 Giao diện người máy.......................................................................................... 5 1.1.3 Biểu diễn thông tin ............................................................................................. 6 1.1.4 Giải trí nghệ thuật .............................................................................................. 6 1.1.5 Giáo dục và đào tạo ........................................................................................... 7 1.1.6 Tự động hoá văn phòng và in ấn điện tử ........................................................... 7 1.1.7 Bản đồ học.......................................................................................................... 7 1.2. Tổng quan về một hệ đồ hoạ .................................................................................... 7 1.2.1. Phần cứng ......................................................................................................... 7 1.2.2. Phần mềm:....................................................................................................... 12 1.3. Các hệ màu trong đồ hoạ ........................................................................................ 14 1.3.1 Hệ màu RGB..................................................................................................... 14 1.3.2 Hệ màu CMY (Cyan, Magenta, Yellow)........................................................... 15 1.3.3 Hệ màu HSV (Hue, Saturation, Value) ............................................................ 16 1.3.4 Hệ màu HLS (Hue, Lightness, Saturation)....................................................... 17 CHƯƠNG II. CÁC ĐỐI TƯỢNG ĐỒ HỌA CƠ SỞ ................................................... 19 2.1 Các đối tượng đồ hoạ cơ sở ..................................................................................... 20 2.1.1 Điểm ................................................................................................................. 20 2.1.2 . Đoạn thẳng, đường gấp khúc......................................................................... 20 2.1.3. Vùng tô ............................................................................................................ 22 2.1.4. Kí tự, chuỗi kí tự.............................................................................................. 23 2.2 Các thuật toán vẽ đường:......................................................................................... 23 2.2.1 Thuật toán vẽ đường thẳng: ............................................................................. 24 2.2.2 Thuật toán vẽ đường tròn................................................................................. 32 Ví dụ .............................................................................................................................. 36 2.3 Thuật toán tô màu .................................................................................................... 39 2.3.1. Giải thuật tô màu loang .................................................................................. 39 2.3.2 Giải thuật dựa theo dòng quét.......................................................................... 40 CHƯƠNG III. CÁC PHÉP BIẾN ĐỔI TRONG ĐỒ HOẠ HAI CHIỀU .................. 53 3.2 Các phép hình học cơ sở.......................................................................................... 53 3.2.1 Phép tịnh tiến ................................................................................................... 53 3.2.2 Phép biến đổi tỉ lệ............................................................................................ 54 3.2.3 Phép quay........................................................................................................ 54 3.2.4 Phép biến đổi tổng hợp .................................................................................... 55 3.3.Biểu diễn các phép biến đổi dưới dạng toạ độ thuần nhất....................................... 55 3.3.1 Phép tịnh tiến : ................................................................................................ 56 3.3.2 Phép co giãn..................................................................................................... 56 3.3.3 Phép quay......................................................................................................... 56 3.3.4 Một số phép biến đổi khác ............................................................................... 57 2 CHƯƠNG IV. HIỂN THỊ ĐỐI TƯỢNG HAI CHIỀU................................................ 60 4.1 Quy trình hiển thị đối tượng hai chiều .................................................................... 60 4.1.1 Một số khái niệm ............................................................................................. 60 4.1.2. Hệ tọa độ quan sát và hệ tọa độ thiết bị chuẩn............................................... 61 4.1.3. Chuyển đổi từ cửa sổ sang vùng quan sát....................................................... 63 4.1.4. Các thuật toán xén hình .................................................................................. 63 4.2 Các thuật toán cắt tỉa _ Clipping ............................................................................. 64 4.2.1 Clipping điểm:.................................................................................................. 64 4.2.2 Clipping đoạn thẳng......................................................................................... 64 4.2.2 Giải thuật cắt tỉa đa giác ................................................................................. 76 CHƯƠNG V. GIỚI THIỆU ĐỒ HOẠ BA CHIỀU ...................................................... 84 5. 1. Các phép biến đổi hình học ................................................................................... 84 5.1.1 Phép tịnh tiến ................................................................................................... 84 5.1.2 Phép tỉ lệ........................................................................................................... 85 5.1.3 Phép quay......................................................................................................... 85 5.2. Các phép chiếu trong 3D ........................................................................................ 92 5.2.1 Phép chiếu song song....................................................................................... 93 Phép chiếu lên mặt phẳng x = 0............................................................................... 93 Phép chiếu lên mặt phẳng y = 0............................................................................... 93 Phép chiếu lên mặt phẳng z = 0............................................................................... 94 5.2.2 Phép chiếu phối cảnh ....................................................................................... 97 5.3 Góc nhìn phối cảnh................................................................................................ 100 5.3.1 Góc nhìn phối cảnh một tâm chiếu ................................................................ 100 5.3.2 Góc nhìn phối cảnh hai tâm chiếu ................................................................. 101 5.3.3 Góc nhìn phối cảnh ba tâm chiếu .................................................................. 102 CHƯƠNG VI. BIỂU DIỄN ĐỐI TƯỢNG BA CHIỀU.............................................. 104 6.1. Biểu diễn mặt đa giác ........................................................................................... 104 6.1.1. Biểu diễn bằng bảng đa giác......................................................................... 105 6.1.2. Phương trình mặt phẳng ............................................................................... 106 6.1.3. Lưới đa giác (polygon meshes) ..................................................................... 109 6.2. Các đường cong và mặt cong ............................................................................... 110 6.3. Các mặt có quy luật (ruled surfaces) .................................................................... 110 6.3.1. Định nghĩa..................................................................................................... 110 6.3.2. Phương trình tham số.................................................................................... 111 6.3.3. Khảo sát các mô hình minh họa.................................................................... 111 6.4. Các mặt tròn xoay (surfaces of revolution) .......................................................... 113 6.5. Các mặt cong bậc hai............................................................................................ 114 6.5.1. Mặt cầu.......................................................................................................... 114 6.5.2. Ellipsoid ........................................................................................................ 115 6.6. Vẽ đường cong và mặt cong bằng Bezier và B-Spline......................................... 115 6.6.1. Vẽ các đường cong Bezier............................................................................. 116 6.6.2. Đường cong Spline và B-Spline .................................................................... 126 6.6.3. Thiết kế các mặt cong dựa trên Bezier và B-Spline. ..................................... 130 3 CHƯƠNG I GIỚI THIỆU VỀ ĐỒ HOẠ MÁY TÍNH Đầu những năm 1980, máy tính chỉ dùng trong lĩnh vực chuyên môn hóa, sau đó máy tính cá nhân ra đời được xây dựng với chế độ hiển thị đồ hoạ điểm ảnh của Xerox. Việc sử dụng chế độ bitmap trong tương tác giữa người và máy tính trở nên phổ biến hơn 1.1 Một số ứng dụng của đồ hoạ máy tính - Bipmap là ảnh của bộ nhớ, trong đó các bít 0 và 1 là đại diện cho một ma trận của dãy điểm ( pixel hay pels, viết tắt của “ picture element ”). Đồ hoạ sử dụng bitmap có giao diện thuận tiện cho phép mọi người sử dụng máy tính một cách đơn giản hơn. - Desktop: Được phổ biến với việc thiết lập một khoảng không gian trên màn hình. Có nghĩa trên một cửa sổ chính ( Window manager ), người sử dụng có thể tạo ra, xác định vị trí, thay đổi kích thước các vùng hình chữ nhật trên màn hình gọi là các cửa sổ con. Phương pháp này cho phép người dùng có thể là được nhiều hoạt động bằng cách sử dụng chuột. Việc điều khiển thao tác của đối tượng bằng cách “trỏ và bấm ” thay thế cách gõ lệnh ở hệ điều hành trước như hệ điều hành DOS, vì vậy người dùng có thể kích hoạt chương trình bằng cách chọn các biểu tượng hay sử dụng các menu. Cần phân biệt đồ hoạ máy tính với xử lí ảnh là đối với xử lí ảnh thì từ ảnh qua phép biến đổi cho kết quả là ảnh hoặc ko ảnh, còn ĐHMT thì từ ảnh hoặc không ảnh qua phép biến đổi cho kết quả luôn là ảnh Tóm lại đồ hoạ máy tính là tất cả những gì liên quan tới việc tổng hợp các hình ảnh của đối tượng thực hay ảo trên máy tính. Những ưu điểm của tương tác đồ hoạ Ngày nay hầu hết các chương trình (soạn thảo, bảng tính) sử dụng đồ hoạ trong giao diện với người dùng. Sự phát triển của đồ hoạ máy tính ngày nay càng rộng rãi với các chế độ đồ hoạ hai chiều (2D) và 3 chiều (3D), và cao hơn trong các lĩnh vực xã hội khác nhau như khoa học, giáo dục, y học, kĩ thuật, thương mại và giải trí. Chế độ đồ hoạ là một trong nhiều cách giao tiếp của máy vi tính, từ khi các tính năng ảnh 2D, 3D phát triển cao cho phép chúng ta xử lí các dữ liệu ảnh một cách nhanh chóng và hiệu quả. Sử dụng đồ họa trong giao diện với người dùng: Đồ họa máy tính giúp chúng ta có thể tạo được không những hình ảnh của thế giới thực mà còn cả những vật trừu tượng,các ảnh tổng hợp, mang lại những ảnh tĩnh và ảnh động rất hiệu quả. Với hiệu quả ngày càng cao, đồ họa có thể tạo ra những kết quả hay sản phẩm chất lượng cao và chính xác hơn, năng suất hơn và giảm chi phí thiết kế. 1.1.1 Hỗ trợ thiết kế (CAD/CAM) Hỗ trợ thiết kế được xem như một ứng dụng chính của đồ hoạ tương tác đối tượng không gian, trong đó đối tượng được xây dựng trực tiếp như là một mô hình thiết kế. Đồ hoạ máy tính được ứng dụng trong việc thiết kế các thành phần và hệ thống cơ khí, điện, các thiết bị điện tử, xây dựng, thiết kế thân ôtô, thân máy bay và tàu thuỷ, chíp giao thông diện rộng, hệ thống cáp quang, mạng điện thoại và máy tính. Đầu tiên các đối 4 tượng được hiển thị dưới các phác thảo của phần khung. Khi xác định chiều của đối tượng, người thiết kế có thể xem bất kì phía nào của đối tượng, thiết kế xong khung, mô hình chiếu sáng, tô màu và tạo bóng bề mặt sẽ được kết hợp để tạo ra kết quả cuối cùng rất gần với thế giới thực. 1.1.2 Giao diện người máy Hầu hết các ứng dụng chạy trên máy tính cá nhân, trạm làm việc hay mạng máy tính đều có giao diện với người dùng dựa vào việc dùng hệ thống cửa sổ để quản lí các hoạt động diễn ra đồng thời và các đối tượng trên màn hình. - Các ứng dụng chạy trên máy tính đều có giao diện giúp ta có thể dễ dàng mô phỏng các hoạt động, trỏ hoặc nhấn chuột để lựa chọn các mục trên menu, biểu tượng và các đối tượng trên màn hình hay nhập văn bản. Giao diện đồ hoạ thực sự là một cuộc cách mạng mang lại sự thuận tiện và thoải mái cho người dùng ứng dụng. Các ứng dụng dựa trên hệ điều hành MS Windows là một minh hoạ rất trực quan của giao diện đồ hoạ. Các chức năng của ứng dụng này được thiết kế cho người dùng làm việc thông qua các biểu tượng mô tả chức năng đó. - Các ứng dụng dựa trên hệ điều hành MS Windows như là lưu tập tin có biểu tượng là đĩa mềm, chức năng in được biểu tượng qua máy in v.v.., các biểu tượng này chiếm ít không gian so với việc dùng văn bản và giải quyết những trở ngại về mặt ngôn ngữ. - Các ứng dụng có giao diện đồ hoạ còn cho phép người dùng khả năng làm việc dễ dàng với nhiều cửa sổ với nhiều dạng tài liệu khác nhau cùng một lúc. 5 1.1.3 Biểu diễn thông tin Đồ họa máy tính ứng dụng vào việc mô tả các biểu đồ, đồ thị minh họa mối quan hệ giữa nhiều đối tượng với nhau trong kinh doanh, trong khoa học kĩ thuật. Đây là các ứng dụng sử dụng đồ hoạ máy tính để phát sinh các biểu đồ, đồ thị minh hoạ mối quan hệ giữa nhiều đối tượng với nhau trong kinh doanh, trong khoa học kĩ thuật. Các ứng dụng này thường được dùng để tóm lược các dữ liệu về tài chính, thống kê, kinh tế, khoa học, toán học... giúp cho việc nghiên cứu, quản lí một cách có hiệu quả. Tất cả đều được trình bày đẹp, ngắn gọn, dễ sử dụng, Trong thương mai, đồ hoạ máy tính dùng để tạo ra những hình ảnh gây ấn tượng và thu hút sự chú ý. Các máy tính cá nhân, điện thoại, và video ở những nơi công cộng như bảo tàng, các nút giao thông, siêu thị để hướng dẫn khách, đưa ra sự lựa chọn, thậm chí mua bán qua máy tính. 1.1.4 Giải trí nghệ thuật - Các ứng dụng của đồ họa máy tính như PainShop Pro, Adobe Photoshop, 3D Studio, CorelDraw... đã giúp cho những họa sĩ, tạo mẫu thiết kế các hình ảnh sống động và chân thực, Đối với các hoạ sĩ, tạo mẫu, những chương trình đồ hoạ máy tính là một công cụ trợ giúp hết sức đắc lực, ví dụ như PainShop Pro, Adobe Photoshop, 3D Studio, CorelDraw.. đã giúp họ thiết kế các hình ảnh sống động và chân thực. Với các chương trình này, người hoạ sĩ được máy tính tạo cho cảm giác y như đang làm việc ngoài đời thực bằng cách cung cấp các công cụ như khung vẽ, giá vẽ, bảng pha màu, các hiệu ứng ba chiều... làm cho họ cảm thấy rất thoải mái và tiện lợi. - Ngoài ra đồ hoạ máy tính còn giúp tạo ra các chương trình trò chơi, giải trí; hỗ trợ cho các kĩ xảo điện ảnh, cho các nhà làm phim. 6 1.1.5 Giáo dục và đào tạo Sử dụng đồ hoạ để nghiên cứu các thực thể trừu tượng, mô phỏng cấu trúc của các vật thể, tiến trình của các phản ứng hoá học trong chất lỏng, của hạt nhân .... được dùng rất nhiều trong việc hỗ trợ giảng dạy. Trong đào tạo, các ứng dụng mô phỏng được dùng để kiểm tra trình độ người lái, huấn luyện phi công, điều khiển giao thông.... 1.1.6 Tự động hoá văn phòng và in ấn điện tử Tạo ra các văn bản điện tử và các văn bản sao chép như tài liệu, bảng biểu, đồ hoạ, các hình vẽ và các hình ảnh. Với hệ thống Hypermedia còn cho phép tải những văn bản multimedia từ trên mạng. 1.1.7 Bản đồ học Đồ hoạ máy tính được sử dụng để đưa ra sơ đồ về vị trí địa lí và các hiện tượng tự nhiên một cách chính xác từ những dữ liệu đo được. Ví dụ như bản đồ địa lí, bản đồ thời tiết, bản đồ mật độ dân số, bản đồ khai thác cho việc khoan và khai mỏ, biểu đồ hải dương học... 1.2. Tổng quan về một hệ đồ hoạ 1.2.1. Phần cứng Là tập hợp các thiết bị điện tử (CPU, màn hình, chuột, bàn phím,v.v..) giúp cho việc thực hiện phần mềm đồ hoạ a.Thiết bị hiển thị Màn hình CRT Phía trong màn hình được phủ một lớp huỳnh quang. Cathode được nung nóng và phát xạ điện tử. Để điều khiển toạ độ điểm sáng trên màn hình ta cần phải lái tia điện tử theo hai trục toạ độ x và y của màn hình nhờ cuộn lái tia. Nguồn cao áp đặt giữa cathode và màn hình anot để tăng tốc tia điện tử về phía màn hình. Các tia điện tử phải bắn liên tục để các tia điện tử quét liên tục trên màn hình để màn hình không bị nhấp nháy. Đối với tia điện tử nền màu, dựa trên nguyên tắc sau đây: Ở giai đoạn đầu tia điện tử có 4 màu bằng cách sử dụng tăng cường độ tia điện tử xuyên qua 4 lớp màu của Photpho. 7 Màn hình CRT mầu: Có 3 súng điện tử thay thế cho một tia điện tử của CRT đơn sắc, cho 3 màu xanh lam (BLUE), xanh lục (GREEN) và màu đỏ (RED). Một điểm trên ống hình được chiếu sáng bởi 3 súng điện tử này với các cường độ sáng của các màu khác nhau trộn vào và cho chúng ta một màu tuỳ ý. Màn hình tinh thể lỏng LCD: là phần tử hữu cơ, trạng thái tự nhiên là kết tinh thành tinh thể, bị hóa lỏngkhi nóng hoặc có các trường điện tử, trạng thái tinh thể làm xoắn ánh sáng cực 90 độ. Quá trình chuyển đổi từ tinh thể đến lỏng của LCD là tiến trình từ từ, tương tự như photphos, LCD ở trạng thái “on” trong khoảng thời gian có trường điện từ do vậy tinh thể lỏng cũng phải được làm tươi LCD làm việc như một cái van đóng, mở, nó không phát ánh sáng nên nó phụ thuộc vào ánh sáng bên ngoài, trong các máy tính xách tay, góc độ ánh sáng thay đổi thì màu sắc cũng bị thay đổi Phương thức hiển thị: Căn cứ vào phương thức hiển thị các dữ liệu hình học trên màn hình, người ta phân thành hai loại thiết bị: Các thiết bị hiển thị dạng điểm(hiển thị Raster) 8 Ảnh được hiển thị dưới dạng ma trận các điểm( điểm ảnh) biểu diễn toàn bộ màn hình. Toàn bộ màn hình được quét lần lượt từ bởi bộ điều khiển Video, theo từng đường quét từ trên xuống dưới, từ trái sang phải. Mỗi điểm trên màn hình được gọi là một pixel hay là pel (viết tắt của picture element). Các thông tin về hình ảnh hiển thị trên màn hình được lưu trữ trong một vùng bộ nhớ gọi là vùng đệm làm tươi (refresh buffer) hay là vùng đệm khung (frame buffer). Vùng bộ nhớ này lưu trữ tập các giá trị cường độ sáng của toàn bộ các điểm trên màn hình và luôn luôn tồn tại một song ánh giữa mỗi điểm trên màn hình và mỗi phần tử trong vùng này. Để thay đổi các hình ảnh cần hiển thị, các giá trị tương ứng với vị trí và độ sáng phải được đặt vào vùng đệm khung. Hình 1.8 minh họa các giá trị tương ứng trong vùng đệm khung để hiển thị hình ảnh của chữ A trên màn hình. Đối với màn hình đen trắng, vùng đệm khung còn được gọi là bitmap, với các màn hình khác vùng đệm khung thường được gọi là pixmap. Để tạo ra các ảnh đen trắng, đơn giản chỉ cần lưu thông tin của mỗi pixel bằng 1 bit (các giá trị 0, 1 sẽ tượng trưng cho việc tắt (tối), bật (sáng) pixel trên màn hình). Trong trường hợp ảnh nhiều màu, người ta cần nhiều bit hơn, nếu thông tin của mỗi pixel được lưu bằng b bit, thì ta có thể có 2b giá trị màu phân biệt cho pixel đó. 9 Hình 1.1. Song ánh giữa vùng đệm khung và màn hình Trong các màn hình màu, người ta định nghĩa tập các màu làm việc trong một bảng tra (LookUp Table - LUT). Mỗi phần tử của LUT định nghĩa một bộ ba giá trị R (Red), G (Green), B (Blue) mô tả một màu nào đó. Khi cần sử dụng một màu, ta chỉ cần chỉ định số thứ tự (index) tương ứng của màu đó trong LUT. Bảng LUT có thể được thay đổi bởi các ứng dụng và người lập trình có thể can thiệp điều khiển. Với cách làm này chúng ta có thể tiết kiệm không gian lưu trữ cho mỗi phần tử trong vùng đệm khung. Số phần tử của LUT được xác định từ số lượng các bits/pixel. Nếu mỗi phần tử của vùng đệm khung dùng b bits để lưu thông tin của một pixel, thì bảng LUT có 2b phần tử. Nếu b=8, LUT sẽ có 28=256 phần tử, đó chính là số màu có thể được hiển thị cùng một lúc trên màn hình. Việc làm tươi trên màn hình dạng này được thực hiện ở tốc độ 60 đến 80 frame/giây. Đôi khi tốc độ làm tươi còn được biểu diễn bằng đơn vị Hertz (Hz – số chu kì/ giây), trong đó một chu kì tương ứng với một frame. Sử dụng đơn vị này, chúng ta có thể mô tả tốc độ làm tươi 60 frame/giây đơn giản là 60Hz. Khi đạt đến cuối mỗi dòng quét, tia điện tử quay trở lại bên trái của màn hình để bắt đầu dòng quét kế tiếp. Việc quay trở lại phía trái màn hình sau khi làm tươi mỗi dòng quét được gọi là tia hồi ngang (horizontal retrace). Và tới cuối mỗi frame, tia điện tử (tia hồi dọc – vertical retrace) quay trở lại góc trên bên trái của màn hình để chuẩn bị bắt đầu frame kế tiếp. Trong một số màn hình, mỗi frame được hiển thị thành hai giai đoạn sử dụng kĩ thuật làm tươi đan xen nhau (interlaced refesh). Ở giai đoạn đầu tiên, tia quét sẽ quét một số dòng từ trên xuống dưới, sau tia hồi dọc, các dòng còn lại sẽ được quét. Việc đan xen các dòng quét này cho phép chúng ta thấy được toàn màn hình hiển thị chỉ trong một nửa thời gian so với dùng để quét tất cả các dòng một lần từ trên xuống dưới. Kĩ thuật này thường được dùng cho loại màn hình có tốc độ làm tươi thấp. 10 Hiển thị raster cho chúng ta có thể dễ dàng thay đổi thuộc tính các điểm để thay đổi từng thành phần và từng vùng của hình ảnh. Các thiết bị hiển thị dạng vectơ Thiết bị hiển thị phát triển trong những năm 60 và trở nên phổ biến trong những năm 80 được gọi là vector, stroke, line drawing, hoặc hiển thị các kiểu chữ. Thuật ngữ vector được sử dụng như là một tổng hợp cho đường thẳng, stroke là một đường thẳng ngắn, và kí tự được tạo trình tự các stroke đó. Có hai loại hiển thị hiển thị vectơ: Ống lưu (Direct View Storage Tube_DVST ) và hiển thị làm tươi vectơ (Vectơ refresh). Các đường thẳng khi hiển thị không có hiệu ứng bậc thang như khi nhìn trên các thiết bị hiển thị raster, nhưng DVST là các thiết bị tương phản thấp và nói chung không có khả năng loại bỏ các lựa chọn. Ảnh được duy trì trên màn hình lâu. Ngược lại, màn hình làm tươi vectơ trong đó các vectơ của ảnh được vẽ lại liên tục hoặc làm tươi trên màn hình, cho ta độ tương phản tốt, có khả năng thao tác động tốt nhưng giá thành cao. Trong chế độ hiển thị này người ta sử dụng các cuộn lái tia để quét thành các đoạn thẳng và như thế để vẽ được 1 đối tượng đồ họa người ta phải phân tích đối tượng thành các đoạn thẳng cơ sở và lần lượt vẽ chúng. Hiển thị vector thích hợp cho các đối tượng hình học, có thể quan sát mô hình của hình ảnh và sự vật ở nhiều góc độ khác nhau một cách dễ dàng bằng cách thay điểm nhìn và góc nhìn. So sánh màn hình Raster với màn hình Vector hoặc màn hình khác: Ưu: Giá rẻ, độ sáng tốt, tô màu vùng rất dễ dàng Nhược: Tốn bộ nhớ để làm Video RAM, Tập hợp nhiều điểm ảnh, Để vẽ 1 đường thẳng ta phải phân hình, tìm các điểm lân cận gần nó để vẽ thành 1 đường thẳng. b. Các thiết bị nhập Bàn phím : Xuất hiện trong hầu hết các máy tính, nó là thiết bị để nhập số liệu dạng văn bản và số. Đây là loại thiết bị quen thuộc nhất đối với người sử dụng tuy có hạn chế là tương tác không cao. Chuột Cùng với sự xuất hiện của các ứng dụng đồ họa tương tác cao, chuột là thiết bị nhập ngày càng quen thuộc với người sử dụng. Người ta dùng chuột để trỏ và chọn các chức năng phù hợp với yêu cầu của mình, do đó giao tiếp giữa người dùng và máy tính ngày càng trở nên thân thiện. c. Sự liên kết giữa các thành phần hệ thống: 11 Mạng máy tính Máy vẽ Máy in CPU Bộ nhớ hệ thống Máy ghi phim Bộ VXL hiển thị Màn hình Thiết bị giao tiếp với người sử dụng Máy vẽ 1.2.2. Phần mềm: Phần mềm đồ họa chia thành 2 loại: + Các công cụ lập trình (C, Pascal, ..) + Các trình ứng dụng đồ họa (Photoshop, autoCAD,...) a. Biểu diễn tọa độ y Các hệ đồ họa sử dụng hệ tọa độ Decac để mô tả đối tượng. Nếu các toạ độ của đối tượng được mô tả trong các hệ tọa P độ khác như tọa độ cầu,.. chúng phải được chuyển về tọa độ Descartes trước khi dùng. O Hệ toạ độ Decard là hệ toạ độ gồm 3 trục Ox, Oy, Oz đôi một vuông góc và tạo thành một tam diện thuận. z x Các vector đơn vị tương ứng với 3 trục là i, j, k. Các đối tượng hình học đơn giản nhất biểu diễn trong hệ toạ độ là điểm , vector, đường thẳng và mặt phẳng. b. Quy trình hiển thị đối tượng Trước tiên chúng ta mô tả các đối tượng thành phần của một ảnh phức tạp trong các hệ tọa độ riêng để thuận tiện cho việc biểu diễn tọa độ của chúng. Các hệ tọa độ này được gọi là hệ tọa độ mô hình (modeling coordinates) hay còn gọi là hệ tọa độ cục bộ (local coordinates). Một khi các đối tượng thành phần được biểu diễn xong, chúng ta sẽ đặt chúng vào các vị trí tương ứng trong ảnh sử dụng hệ tọa độ thế giới thực (world coordinates). Sau cùng, các mô tả của ảnh trong hệ tọa độ thế giới thực sẽ được chuyển đến một hoặc nhiều hệ tọa độ khác nhau của thiết bị hiển thị, tùy vào chúng ta muốn hiển thị trên thiết bị nào. Các hệ tọa độ này còn được gọi là hệ tọa độ thiết bị (device coordinates). Các mô tả trong các hệ tọa độ cục bộ và hệ tọa độ thế giới thực cho phép 12 chúng ta sử dụng thứ nguyên thích hợp cho các đơn vị đo mà không phải bị ràng buộc gì của từng thiết bị hiển thị cụ thể. Hình 1.2 Quy trình hiển thị đối tượng Thông thường, các hệ đồ họa chuyển các mô tả trong hệ tọa độ thế giới thực tới hệ tọa độ thiết bị chuẩn (normalized device coordinates) có các chiều là đơn vị trước khi chuyển tới hệ tọa độ thiết bị. Điều này làm cho hệ thống độc lập với nhiều loại thiết bị khác nhau. c. Các hàm đồ họa Các hàm đồ họa cung cấp khả năng tạo và thao tác hình ảnh. Các hàm này được phân loại như sau : • Tập các công cụ tạo ra các đối tượng đồ họa cơ sở như điểm, đoạn thẳng, đường cong, vùng tô, kí tự, … • Tập các công cụ thay đổi thuộc tính dùng để thay đổi thuộc tính của các đối tượng đồ họa cơ sở như màu sắc, kiểu đường, kiểu chữ, mẫu tô, … • Tập các công cụ thực hiện các phép biến đổi hình học dùng để thay đổi kích thước vị trí, hướng của các đối tượng, … • Tập các công cụ biến đổi hệ quan sát dùng để xác định vị trí quan sát đối tượng và vị trí trên thiết bị hiển thị được dùng để hiển thị đối tượng. • Tập các công cụ nhập liệu : Các ứng dụng đồ họa có thể sử dụng nhiều loại thiết bị nhập khác nhau như bút vẽ, bảng, chuột, bàn phím,… để điều khiển và xử lí dòng dữ liệu nhập. • Cuối cùng là tập các công cụ chứa các thao tác dùng cho việc quản lí và điều khiển ví dụ như xóa toàn bộ màn hình, thiết lập chế độ đồ họa, … d . Các chuẩn phần mềm 13 Mục tiêu căn bản của các phần mềm đồ họa được chuẩn là tính tương thích. Khi các công cụ được thiết kế với các hàm đồ họa chuẩn, phần mềm có thể được di chuyển một cách dễ dàng từ hệ phần cứng này sang hệ phần cứng khác và được dùng trong nhiều cài đặt và ứng dụng khác nhau. Sau những nỗ lực không nhỏ của các tổ chức chuẩn hóa của các quốc gia và quốc tế, một chuẩn cho việc phát triển các phần mềm đồ họa đã ra đời đó là GKS (Graphics Kernel System – Hệ đồ họa cơ sở). Hệ thống này ban đầu được thiết kế cho tập các công cụ đồ họa hai chiều, sau đó được phát triển và mở rộng cho đồ họa ba chiều. Các hàm của GKS thực sự chỉ là các mô tả trừu tượng, độc lập với bất kì ngôn ngữ lập trình nào. Để cài đặt một chuẩn đồ họa cho ngôn ngữ cụ thể nào, các cú pháp tương ứng sẽ được xác định và cụ thể hóa. Mặc dù GKS xác lập được các ý tưởng ban đầu cho các hàm đồ họa cơ sở, tuy nhiên nó không cung cấp một cách thức chuẩn cho việc giao tiếp đồ họa với các thiết bị xuất. Nó cũng không xác định các cách thức cho các mô hình thời gian thực cũng như các cách thức lưu trữ và chuyển đổi hình ảnh. Các chuẩn cho các cách thức này được xây dựng riêng, cụ thể là : Các chuẩn cho các cách thức giao tiếp thiết bị được cho bởi hệ CGI (Computer Graphics Interface System), hệ CGM (Computer Graphics Metafile) xác định các chuẩn cho việc lưu trữ và chuyển đổi hình ảnh, và hệ PHIGS (Programmer’s Hierarchical Interactive Graphics Standard) xác định các cách thức chuẩn cho các mô hình thời gian thực và các khả năng lập trình ở mức độ cao hơn mà chưa được quan tâm tới trong GKS. 1.3. Các hệ màu trong đồ hoạ Hệ màu là một chỉ số kĩ thuật của 1 hệ toạ độ màu ba chiều và tập các màu nhỏ thành phần có thể trông thấy được trong hệ thống toạ độ màu thuộc một gam màu đặc trưng. VD: Mô hình màu RGB (Red, Green, Blue) Mục đích của hệ màu là cho phép các chỉ số kĩ thuật quy ước của một số loại màu sắc thích hợp trong hệ toạ độ màu, không gian màu là một tập nhỏ hơn của không gian các màu có thể nhìn thấy được. Vì vậy một hệ màu không thể mô tả tất cả các màu có thể nhìn thấy. Các hệ màu cần tính dễ sử dụng bởi vì chúng không có mối quan hệ trực tiếp với các ý niệm màu trực giác của con người bởi vậy các hệ màu khác nhau được phát triển nhằm đến việc sử dụng cho một tiêu chí nhất định. 1.3.1 Hệ màu RGB Không gian RGB mô tả màu sắc bằng ba thành phần Red, Green, Blue. Không gian này được minh họa bằng một khối lập phương với các trục chính R, G, B. 14 Mỗi màu trong không gian RGB đều được biểu diễn như là một vector thông qua ba vector cơ sở là Red, Green, Blue. Do đó, ứng với các tổ hợp khác nhau của ba màu này sẽ cho ta một màu mới. Hình 1.3 Mô hình không gian RGB Trong hình lập phương mỗi màu gốc (Red, Green, Blue) được đặt vào góc đối diện với các màu bù nó. (Hai màu bù nhau là hai màu mà khi kết hợp tạo thành màu trắng hay xám (grey)). Như vậy Red đối diện với Cyan, Green đối diện với Magenta, Blue đối diện với của hình lập phương. Yellow. Giá trị xám nằm trên đường chéo nối các đỉnh Thường thường các trục R, G, B được chuẩn hóa. Khi kết hợp hai màu lại với nhau thì màu sinh ra có vector bằng tổng các vector thành phần. Nhận xét - Mô hình này không thể biểu diễn mọi màu trong phổ nhìn thấy - Đủ cho các ứng dụng máy tính - Màn hình máy tính và TV sử dụng mô hình này - Được sử dụng rộng rãi nhất - Đơn giản 1.3.2 Hệ màu CMY (Cyan, Magenta, Yellow) Hệ màu CMY là phần bù tương ứng của các màu RGB và chúng được sử dụng rộng rãi như những bộ lọc loại trừ các màu này từ ánh sáng trắng.. Vì vậy CMY còn được gọi là laọi trừ của màu gốc. 15 Red Yellow Blue Cyan Green White Magenta Magenta Black Cyan Green Blue Red Yellow Hình 1.4 Mô hình CMY (bên phải) là bù của mô hình RGB (bên trái) Ta có mối quan hệ giữa RGB và CMK như sau: C = G + B = 1- R M = R + B = 1- G Y=R+G=1–B ⎡ C ⎤ ⎡1⎤ ⎢ M ⎥ = ⎢1⎥ ⎢ ⎥ ⎢⎥ ⎢⎣ Y ⎥⎦ ⎢⎣1⎥⎦ ⎡R⎤ ⎢G ⎥ ⎢ ⎥ ⎢⎣ B ⎥⎦ Một hệ màu khác tương tự CMY là CMYK sử dụng thêm màu đen viết tắt là K (Black) như là màu thứ tư được sử dụng trong quá trình in bốn màu của việc in ấn trong một số thiết bị in ấn. K = min (C, M, K) C= C-K M=M–K Y=Y–K 1.3.3 Hệ màu HSV (Hue, Saturation, Value) Không gian HSV thực chất cũng chỉ là một sự biến đổi khác của không gian RGB. Không gian HSV được mô hình bằng hình lập phương RGB quay trên đỉnh Black của nó. H (Hue) là góc quay quanh trục Values, S (Saturation) đi từ 0 đến 1, trục V (Values) do vậy tương ứng với đường chéo nối đỉnh White và Black. Theo cách này, các màu đạt bão hòa khi S=1 và V=1. Trong không gian HSV các màu được chuẩn 16 hóa về số các gam (gamut) màu của thiết bị hiển thị 1.3.4 Hệ màu HLS (Hue, Lightness, Saturation) Hệ màu HLS được xác định bởi tập hợp hình chóp 6 cạnh đôi của không gian hình trụ, màu đỏ tại góc 0o Không gian này có chú trọng hơn không gian RGB đến các thành phần của sự cảm nhận màu sắc của mắt (Hue, Saturation, Lightness). Tuy nhiên, Green không gian HSL thực ra cũng chỉ là một phép biến đổi gần đúng của không gian RGB mà thôi. Không Cyan giống như các không gian màu khác xây dựng trên sự cảm nhận màu sắc của mắt, không gian HSL vẫn Blue còn bị lệ thuộc vào phần cứng của CRT. (240o) 1.0 White Yellow Red (0o) 0.5 Magenta Không gian HSL được biểu diễn trong hệ tọa độ trụ, hình minh họa là hai hình nón úp vào nhau. H Black (Hue) là toạ độ ứng với góc quay, S (Saturation) là tọa độ gốc, L là trục thẳng đứng. Hầu hết các màu đạt bão hòa khi S = 1 và L = 0.5. Bảng so sánh giữa các không gian màu RGB HSL HSV Chuẩn công Hình thức biến đổi Hình thức biến đổi nghiệp cho các khác của không khác của không thao tác đồ họa gian RGB gian RGB máy tính Liên hệ trực tiếp Liên hệ gần hơn với phần cứng với sự cảm nhận màu sắc của con người Liên hệ gần hơn với sự cảm nhận màu sắc của con người Là chuyển đổi Đòi hỏi các phép Đã đơn giản hóa cuối cùng cho tất biến đổi phức tạp các thao tác tính cả các nhu cầu toán. hiển thị Không thể chuyển Độc lập thiếøt bị sang màn hình 17 Độc lập thiết bị H S khác (phụ thuộc thiết bị) Không có sự Có tương ứng 1-1 với cách cảm nhận màu của con người Có Mô hình là hình Mô hình là hai hình Mô hình là hình lập phương nón úp vào nhau nón đơn Được chuẩn hóa Được chuẩn hóa về Được chuẩn hóa về về 1 1 1 Độ bão hòa đạt Độ bão hòa đạt Độ bão hòa đạt max khi S =1 max khi S =1, L max khi S =1, V =0.5 =1 Trộn màu không Rõ ràng rõ ràng Rõ ràng Câu hỏi cuối chương 1. Hai màn hình có độ phân giải là 640x480 và 1024x768. Cho biết số pixel được truy cập trong một giây của mỗi màn hình nếu tốc độ làm tươi của CRT là 60Hz. 2. Một màn hình có kích thước theo chiều ngang là 12 inche, chiều dọc là 9.6 inch. Hãy cho biết đường kính của mỗi điểm trên màn hình nếu độ phân giải là 1280x1024 và tỉ số phương là 3. Các hệ màu. Mối liên hệ giữa chúng. 4. Quy trình hiển thị đối tượng. Ý nghĩa của các hệ tọa độ. 5. Tập các hàm đồ họa của một công cụ lập trình. Liên hệ tới các thư viện đồ họa của các ngôn ngữ đã học như C, Pascal. 18 CHƯƠNG II. CÁC ĐỐI TƯỢNG ĐỒ HỌA CƠ SỞ Bất kì một ảnh mô tả thế giới thực nào bao giờ cũng được cấu trúc từ tập các đối tượng đơn giản hơn. Ví dụ một ảnh thể hiện bài trí của một căn phòng sẽ được cấu trúc từ các đối tượng như cây cảnh, tủ kính, bàn ghế, tường, ánh sáng đèn, … Với các ảnh đồ họa phát sinh bằng máy tính, hình dạng và màu sắc của mỗi đối tượng có thể được mô tả riêng biệt bằng hai cách : hoặc là bằng dãy các pixel tương ứng hoặc là bằng tập các đối tượng hình học cơ sở như đoạn thẳng hay vùng tô đa giác, … Sau đó, các ảnh sẽ được hiển thị bằng cách nạp các pixel vào vùng đệm khung. Hình 2.1 Ảnh cánh tay robot được cấu tạo từ các đối tượng đồ họa cơ sở Với các ảnh được mô tả bằng các đối tượng hình học cơ sở, cần phải có một quá trình chuyển các đối tượng này về dạng ma trận các pixel trước. Quá trình này còn được gọi là quá trình chuyển đổi bằng dòng quét (scan-converting). Bất kì công cụ lập trình đồ họa nào cũng phải cung cấp các hàm để mô tả một ảnh dưới dạng các đối tượng hình học cơ sở hay còn gọi là các đối tượng đồ họa cơ sở (output primitives) và các hàm cho phép kết hợp tập các đối tượng cơ sở để tạo thành đối tượng có cấu trúc phức tạp hơn. Mỗi đối tượng đồ họa cơ sở được mô tả thông qua dữ liệu về tọa độ và các thuộc tính của nó, đây chính là thông tin cho biết kiểu cách mà đối tượng được hiển thị. Đối tượng đồ họa cơ sở đơn giản nhất là điểm và đoạn thẳng, ngoài ra còn có đường tròn, và các đường conics, mặt bậc hai, các mặt và đường splines, các vùng tô đa giác, chuỗi kí tự, … cũng được xem là các đối tượng đồ họa cơ sở để giúp xây dựng các ảnh phức tạp. Chương này sẽ khảo sát các thuật toán hiển thị các đối tượng đồ họa cơ sở cho các thiết bị hiển thị dạng điểm. Xét về mặt bản chất, các thuật toán này thực hiện quá trình chuyển đổi các đối tượng đồ họa cơ sở được mô tả trong hệ tọa độ thực về dãy các pixel có tọa độ nguyên của thiết bị hiển thị. Có hai yêu cầu đặt ra cho các thuật toán này đó là : 19 • Đối tượng được mô tả trong hệ tọa độ thực là đối tượng liên tục, còn đối tượng trong hệ tọa độ thiết bị là đối tượng rời rạc, do đó bản chất của quá trình chuyển đổi này chính là sự rời rạc hóa và nguyên hóa các đối tượng sao cho có thể xác định các điểm nguyên xấp xỉ đối tượng một cách tốt nhất, thực nhất. Nghĩa là đối tượng hiển thị bằng lưới nguyên trên thiết bị hiển thị phải có hình dạng tương tự như đối tượng trong lưới tọa độ thực và "có vẻ" liên tục, liền nét. Sự liên tục trên lưới nguyên của thiết bị hiển thị có được do mắt người không thể phân biệt được hai điểm quá gần nhau. • Do các đối tượng đồ họa cơ sở là thành phần chính cấu trúc các đối tượng phức tạp nên các thuật toán hiển thị chúng cần phải được tối ưu hóa về mặt tốc độ, đây chính là điểm mấu chốt cho việc ra đời các thuật toán khác nhau. Hình 2.2 Quá trình chuyển đổi một đoạn thẳng về dãy các pixel tương ứng 2.1 Các đối tượng đồ hoạ cơ sở 2.1.1 Điểm Điểm là thành phần cơ sở được định nghĩa trong một hệ tọa độ. Đối với hệ tọa độ hai chiều mỗi điểm được xác định bởi cặp tọa độ (x, y). Ngoài thông tin về tọa độ, điểm còn có thuộc tính là màu sắc. 2.1.2 . Đoạn thẳng, đường gấp khúc Một đường thẳng có thể xác định nếu biết hai điểm thuộc nó. Phương trình đường thẳng đi qua hai điểm (x1, y1) và (x2, y2) có dạng sau : hay ở dạng tương đương : Khai triển ta có dạng : , trong đó : 20
- Xem thêm -

Tài liệu liên quan