Bài giảng Giới thiệu về đồ họa máy tính - Đào Nam Anh

pdf 50 trang huongle 2820
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Giới thiệu về đồ họa máy tính - Đào Nam Anh", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_gioi_thieu_ve_do_hoa_may_tinh_dao_nam_anh.pdf

Nội dung text: Bài giảng Giới thiệu về đồ họa máy tính - Đào Nam Anh

  1. ĐỒ HỌA MÁY TÍNH GIỚI THIỆU VỀ ĐỒ HỌA MÁY TÍNH Ts. Đào Nam Anh ComputerGraphics 1
  2. NỘI DUNG I. MỘT SỐ ỨNG DỤNG CỦA ĐỒ HỌA MÁY TÍNH II. KHÁI NIỆM VỀ MÁY TÍNH III. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA ComputerGraphics 2 Trang đầu
  3. Tham khảo 1. Francis S. Hill. Computer Graphics. Macmillan Publishing Company, NewYork, 1990, 754 tr. 2. James D.Foley, Andries Van Dam, Feiner, John Hughes. Introduction to Computer Graphics. Addision Wesley, NewYork, 1995, 559 tr. 3. James D.Foley, Andries Van Dam, Feiner, John Hughes. Computer Graphics - Principle and Practice. Addision Wesley, NewYork, 1996, 1175 tr. 4. Dương Anh Đức, Lê Đình Duy. Giáo trình Đồ họa máy tính. Khoa Công nghệ thông tin, Trường Đại học Khoa học Tự nhiên (lưu hành nội bộ), 1996, 237 tr. 5. Hoàng Kiếm, Dương Anh Đức, Lê Đình Duy, Vũ Hải Quân. Giáo trình Cơ sở Đồ họa Máy Tính, NXB Giáo dục, 2000. 6. Donald Hearn, M.Pauline Baker. Computer Graphics, C version. Prentice ComputerGraphics Hall International Inc, Upper Saddle River, New Jersey, 1997, 652tr. 3 Trang đầu
  4. ĐỒ HỌA MÁY TÍNH  Sự phát triển của khoa học, kĩ thuật, nghệ thuật, kinh doanh, và công nghệ luôn luôn phụ thuộc vào khả năng truyền đạt thông tin của chúng ta, hoặc thông qua các bit dữ liệu lưu trữ trong microchip hoặc thông qua giao tiếp bằng tiếng nói.  Câu châm ngôn từ xa xưa “một hình ảnh có giá trị hơn cả vạn lời" hay "trăm nghe không bằng một thấy" cho thấy ý nghĩa rất lớn của hình ảnh trong việc chuyển tải thông tin.  Hình ảnh bao giờ cũng được cảm nhận nhanh và dễ dàng hơn, đặc biệt là trong trường hợp bất đồng về ngôn ngữ. Do đó không có gì ngạc nhiên khi mà ngay từ khi xuất hiện máy tính, các nhà nghiên cứu đã cố gắng sử dụng nó để phát sinh các ComputerGraphics ảnh trên màn hình. 4 Trang đầu
  5. ĐỒ HỌA MÁY TÍNH  Trong suốt gần 50 năm phát triển của máy tính, khả năng phát sinh hình ảnh bằng máy tính của chúng ta đã đạt tới mức mà bây giờ hầu như tất cả các máy tính đều có khả năng đồ họa.  Đồ họa máy tính là một trong những lĩnh vực lí thú nhất và phát triển nhanh nhất của tin học.  Ngay từ khi xuất hiện, đồ họa máy tính đã có sức lôi cuốn mãnh liệt, cuốn hút rất nhiều người ở nhiều lĩnh vực khác nhau như khoa học, nghệ thuật, kinh doanh, quản lí,  Tính hấp dẫn và đa dạng của đồ họa máy tính có thể được minh họa rất trực quan thông qua việc khảo sát các ứng dụng của nó. ComputerGraphics 5 Trang đầu
  6. ỨNG DỤNG CỦA ĐỒ HỌA MÁY TÍNH Hỗ trợ thiết kế  Một trong những ứng dụng lớn nhất của đồ họa máy tính là hỗ trợ thiết kế (CAD – computer-aided design). Ngày nay CAD đã được sử dụng hầu hết trong việc thiết kế các cao ốc, ô tô, máy bay, tàu thủy, tàu vũ trụ, máy tính, trang trí mẫu vải, và rất nhiều sản phẩm khác.  Sử dụng các chương trình này, đầu tiên các đối tượng được hiển thị dưới dạng các phác thảo của phần khung (wireframe outline), mà từ đó có thể thấy được toàn bộ hình dạng và các thành phần bên trong của các đối tượng. Sử dụng kĩ thuật này, người thiết kế sẽ dễ dàng nhận thấy ngay các thay đổi của đối tượng khi tiến hành hiệu chỉnh các chi tiết hay thay đổi góc nhìn, .  ComputerGraphics Một khi đã thiết kế xong phần khung của đối tượng, các 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. 6 Trang đầu
  7. ỨNG DỤNG CỦA ĐỒ HỌA MÁY TÍNH Biểu diễn thông tin  Đây là các ứng dụng sử 90 80 70 dụng đồ họa máy tính để 60 50 40 phát sinh các biểu đồ, đồ 30 20 10 0 thị, dùng minh họa Winter Spring Summer Automn mối quan hệ giữa nhiều đối tượng với nhau.  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 ComputerGraphics quả. 7 Trang đầu
  8. ỨNG DỤNG CỦA ĐỒ HỌA MÁY TÍNH Lĩnh vực giải trí, nghệ thuật  Trong lĩnh vực nghệ thuật, các chương trình máy tính như Paint Shop Pro, Adobe Photoshop, 3D Studio, hỗ trợ rất đắc lực cho các họa sĩ, các nhà tạo mẫu trong việc thiết kế các hình ảnh sống động, và rất thực. Với các chương trình này, người họa 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.  Đồ họa 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. Có nhiều bộ phim rất nổi tiếng nhờ vào kĩ xảo điện ảnh ComputerGraphics như : Công viên Khủng long kỉ Jura (Jurassic Park), Titanic, Thế giới nước (Water World) 8 Trang đầu
  9. ỨNG DỤNG CỦA ĐỒ HỌA MÁY TÍNH Giáo dục và đào tạo  Hiện nay các chương trình 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 hóa học, hoạt động của các gói tin trên mạng máy tính, đượ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 ComputerGraphics phi công, điều khiển giao thông, 9 Trang đầu
  10. ỨNG DỤNG CỦA ĐỒ HỌA MÁY TÍNH Giao tiếp giữa máy tính và người dùng  Mọi ứng dụng đều phải có giao diện giao tiếp với người dùng. Giao diện đồ họa 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 họa rất trực quan của giao diện đồ họa. Các chức năng của các ứ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 đó. Ví dụ, chức năng lưu tập tin được hiểu thông qua biểu tượng đĩa mềm, chức năng in ấn được ComputerGraphics hiểu thông qua biểu tượng máy in, 10 Trang đầu
  11. ỨNG DỤNG CỦA ĐỒ HỌA MÁY TÍNH Giao tiếp giữa máy tính và người dùng  Để chọn các chức năng, người dùng sử dụng chuột trỏ đến và nhấn vào các biểu tượng tương ứng. Điểm thuận lợi chính khi dùng biểu tượng là kích thước không gian mà nó chiếm ít hơn nhiều so với dùng văn bản để mô tả cho cùng một chức năng, ngoài ra việc nắm bắt các chức năng qua các biểu tượng sẽ dễ dàng hơn rất nhiều khi người dùng gặp trở ngại về mặt ngôn ngữ.  Các ứng dụng có giao diện đồ họa 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 ComputerGraphics nhiều dạng tài liệu khác nhau cùng một lúc. 11 Trang đầu
  12. KHÁI NIỆM VỀ ĐỒ HỌA MÁY TÍNH  Đồ họa máy tính là tất cả những gì liên quan đến việc sử dụng máy tính để phát sinh ra hình ảnh. Các vấn đề liên quan tới công việc này bao gồm : tạo, lưu trữ, thao tác trên các mô hình (các mô tả hình học của đối tượng) và các ảnh.  Theo định nghĩa này thì đồ họa máy tính bao gồm việc thiết kế phần cứng như thiết bị hiển thị, các thuật toán cần thiết để phát sinh các đường trên các thiết bị này, các phần mềm được sử dụng cho cả người lập trình hệ thống và người lập trình ứng dụng đồ họa, và ComputerGraphics các chương trình ứng dụng tạo ảnh bằng máy tính. 12 Trang đầu
  13. KHÁI NIỆM VỀ ĐỒ HỌA MÁY TÍNH  Đồ họa máy tính cung cấp một trong những phương cách tự nhiên nhất cho việc truyền đạt thông tin với máy tính. Ngày nay, trong nhiều quá trình thiết kế, cài đặt và xây dựng, thông tin mà hình ảnh mang lại là hầu như không thể thiếu được.  Kĩ thuật trực quan (scientific visualization) đã trở nên là một lĩnh vực rất quan trọng từ năm 1980, khi các nhà nghiên cứu khoa học và các kĩ sư nhận ra rằng họ không thể xử lí một lượng dữ liệu khổng lồ phát sinh từ các siêu máy tính mà dữ liệu không được tóm lược và làm nổi bật các xu hướng và hiện tượng qua nhiều ComputerGraphics loại biểu diễn đồ họa khác nhau. 13 Trang đầu
  14. KHÁI NIỆM VỀ ĐỒ HỌA MÁY TÍNH  Đồ họa máy tính tương tác là một trong những phương tiện mang lại thêm nhiều sự thuận lợi cho người dùng trong việc phát sinh hình ảnh kể từ khi có phát minh của máy ảnh và truyền hình.  Với máy tính, chúng ta có thể tạo các hình ảnh không chỉ của các đối tượng cụ thể, thực tế, mà còn của các đối tượng trừu tượng, nhân tạo; các biểu diễn của dữ liệu mà không có tính kế thừa về mặt hình học, như là kết quả điều tra, khảo sát. Hơn nữa, với đồ họa máy tính chúng ta không bị giới hạn trong các ảnh tĩnh.  Các ảnh động thông thường mang lại nhiều hiệu quả hơn so với ảnh tĩnh, đặc biệt là với các hiện tượng biến đổi theo thời gian, cả thực tế (như sự đổi hướng của cánh máy bay siêu âm, hay sự phát triển của khuôn mặt người từ lúc trẻ thơ tới lúc ComputerGraphics già) và trừu tượng (như là xu hướng phát triển của việc sử dụng năng lượng, gia tăng dân số, ). 14 Trang đầu
  15. KHÁI NIỆM VỀ ĐỒ HỌA MÁY TÍNH  Có nhiều cách tiếp cận trong việc học môn đồ họa, trải rộng từ việc nghiên cứu phần cứng tới việc học để sử dụng đồ họa máy tính chỉ trong một lĩnh vực chuyên biệt nào đó như là thiết kế mạch tích hợp cao (VLSI – very large scale integrated circuit). Ở đây chúng ta tiếp cận từ góc độ của người lập trình ứng dụng, đó là người sử dụng tất cả các hỗ trợ của phần cứng, các công cụ phần mềm để xây dựng nên các ứng dụng.  Tuy nhiên để có thể thiết kế và cài đặt các chương trình ứng dụng đồ họa được tốt, ngoài việc tìm hiểu các khả năng của công cụ lập trình, chúng ta cũng cần phải nắm vững các khái niệm về phần cứng; các vấn đề, các nguyên lí liên quan đến ComputerGraphics cài đặt phần mềm, các thuật toán, các ứng dụng, 15 Trang đầu
  16. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA  Một hệ đồ họa bao giờ cũng có hai thành phần chính đó là phần cứng và phần mềm.  Phần cứng bao gồm các thiết bị hiển thị và nhập dữ liệu,  Phần mềm bao gồm các công cụ lập trình và các trình ứng dụng đồ họa. Chúng ta sẽ lần lượt khảo sát các thành phần này. ComputerGraphics 16 Trang đầu
  17. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. ống tia âm cực  Màn hình là thiết bị hiển thị thông dụng nhất trong một hệ đồ họa. Các thao tác của hầu hết màn hình đều dựa trên thiết kế của ống tia âm cực (CRT – cathode ray tube).  Số lượng tối đa các điểm có thể hiển thị trên một CRT được gọi là độ phân giải (resolution). Một định nghĩa chính xác hơn của độ phân giải là số lượng các điểm trên một centimet mà có thể được vẽ theo chiều ngang và chiều dọc, mặc dù nó thường được xem như là tổng số điểm theo mỗi hướng. Focusing System Y deflect Base ComputerGraphics Phosphor Connector x deflect 17 Pins Trang đầu Electron Control Gun grid voltage
  18. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. ống tia âm cực  Kích thước vật lí của màn hình đồ họa được tính từ độ dài của đường chéo màn hình, thường dao động từ 12 đến 27 inch hoặc lớn hơn. Tỉ số phương (aspect ratio) là tỉ lệ của các điểm dọc và các điểm ngang cần để phát sinh các đoạn thẳng có độ dài đơn vị theo cả hai hướng trên màn hình (trong một số trường hợp người ta thường dùng tỉ số phương như là tỉ số của các điểm theo chiều ngang so với các điểm theo chiều dọc).  Với các màn hình có tỉ số phương khác 1, dễ dàng nhận thấy là các hình vuông hiển thị trên nó sẽ có dạng hình chữ nhật, các hình tròn sẽ có dạng hình ellipse. Thực ra khái niệm tỉ số phương xuất phát từ bản chất khoảng cách (nếu tính cùng một đơn vị độ dài) giữa các điểm dọc không bằng khoảng cách giữa các điểm ngang. Một tỉ số phương có giá trị ¾ có nghĩa là vẽ 3 điểm theo chiều dọc sẽ có cùng độ dài với việc vẽ 4 điểm theo chiều ngang. Focusing System Y deflect Base ComputerGraphics Phosphor Connector x deflect 18 Pins Trang đầu Electron Control Gun grid voltage
  19. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. Màn hình dạng điểm (raster - scan display)  Trong hệ thống này, chùm tia điện tử sẽ được quét ngang qua màn hình, mỗi lần một dòng và quét tuần tự từ trên xuống dưới. Sự bật tắt của các điểm sáng trên màn hình phụ thuộc vào cường độ của tia điện tử và đây chính là cơ sở của việc tạo ra hình ảnh trên màn hình.  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á ComputerGraphics 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ử 19 trong vùng này. Trang đầu
  20. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. pixel  Để 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.  Đố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 đó. 1 1 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 0 ComputerGraphics 0 1 1 0 0 1 1 0 1 1 1 1 1 1 0 0 20 0 0 0 0 0 0 0 0 Trang đầu
  21. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. pixel ComputerGraphics 21 Trang đầu
  22. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. LookUp Table - LUT  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ể ComputerGraphics được hiển thị trên màn hình. 22 Trang đầu
  23. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. làm tươi 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 ComputerGraphics góc trên bên trái của màn hình để chuẩn bị bắt đầu frame kế tiếp. 23 Trang đầu
  24. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. làm tươi màn hình 0 800 0 x 600 y ComputerGraphics 24 Trang đầu
  25. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. làm tươi màn hình Đường quét Ngang Dọc 000000000000000000000 000000000111000000000 000000111111111000000 000111111111111111000 000111110000011111000 ComputerGraphics 000111111111111111000 000111111000111111000 000111111000111111000 000111111000111111000 000111111000111111000 000111111111111111000 000000000000000000000 25 Trang đầu
  26. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. làm tươi màn hình  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 0 dòng còn lại sẽ được quét. 1  Việc đan xen các dòng quét này cho 2 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 3 gian so với dùng để quét tất cả các 4 dòng một lần từ trên xuống dưới. Kĩ 5 thuật này thường được dùng cho 6 loại màn hình có tốc độ làm tươi thấp. ComputerGraphics 26 Trang đầu
  27. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. Các hệ màu  Việc nghiên cứu màu sắc bao gồm nhiều lĩnh vực như : quang học, sinh lí học, tâm lí học và các nhân tố khác thuộc về con người. Vì thế, có rất nhiều quan niệm cũng như các thành ngữ về khoa học các màu sắc.  Đối với những người làm tin học, vấn đề mà họ quan tâm là mối tương tác qua lại giữa sự cảm nhận màu sắc của con người với các bộ phận phần cứng hiển thị màu sắc của màn hình máy tính, và với các phần mềm thiết kế trên nó. ComputerGraphics 27 Trang đầu
  28. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. Các hệ màu  Quan hệ giữa sự cảm nhận màu sắc của con người với các bộ phận phần cứng hiển thị màu sắc của màn hình máy tính, và với các phần mềm thiết kế Sự cảm nhận Đặc điểm phần cứng Đặc điểm phần mềm của con người Màu sắc Các màu hiển thị gốc Thuật toán trên không gian màu Sắc độ màu (Hue) Bước sóng (WaveLength) Độ bão hòa Sự thuần nhất của màu (Saturation) ComputerGraphics Độ sáng hay độ chói Cường độ sáng Hiệu chỉnh gamma Sự "rung" của màn Tốc độ làm tươi 28 hình (refresh) Trang đầu
  29. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. Không gian màu  Không gian màu (color space) do đó được đưa ra để định các màu hiển thị trên máy tính bởi vì chúng làm đơn giản hóa các thao tác tính toán cần thiết cho việc chuyển đổi màu sắc (color transformation).  Không gian màu có thể được thiết kế hoặc là dựa trên cơ sở của bộ phát sinh màu của phần cứng (hardware color generation) (ví dụ như không gian RGB) hoặc là dựa trên sự cảm nhận màu sắc của mắt (như không gian HSL).  Với một ứng dụng, việc chọn không gian màu nào để sử dụng tùy thuộc vào một số nhân tố sau : độ chính xác mà các nhà thiết kế cần kiểm soát màu sắc (color control); yêu cầu ComputerGraphics về sự tương tác giữa các màu sắc và tốc độ các tính toán cho ứng dụng đó. 29 Trang đầu
  30. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. Không gian RGB (RGB space)  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.  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. ComputerGraphics 30 Trang đầu
  31. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. Không gian RGB (RGB space)  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 Yellow.  Giá trị xám nằm trên đường chéo nối các đỉnh của hình lập phương. 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. ComputerGraphics 31 Trang đầu
  32. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. Không gian RGB (RGB space) Một số thuận lợi khi dùng không gian RGB :  Không gian RGB là chuẩn công nghiệp cho các thao tác đồ họa máy tính. Các thao tác màu sắc có thể được tính toán trên các không gian màu khác nhưng cuối cùng cần phải chuyển về không gian RGB để có thể hiển thị trên màn hình (do thiết kế của phần cứng dựa trên mô hình RGB).  Có thể chuyển đổi qua lại giữa không gian RGB với các không gian màu khác như CIE, CMY, HSL, HSV,  Các thao tác tính toán trên không gian RGB thường đơn giản hơn. ComputerGraphics 32 Trang đầu
  33. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. Không gian RGB (RGB space) Một số bất lợi :  Các giá trị RGB của một màu là khác nhau đối với các màn hình khác nhau : Nghĩa là các giá trị RGB (red, green, blue) của màu sinh trên màn hình màu này sẽ không sinh ra đúng màu đó trên một màn hình khác.  Sự mô tả các màu trong thế giới thực đối với không gian RGB còn nhiều hạn chế bởi vì không gian RGB không hoàn toàn phù hợp với sự cảm nhận màu sắc của con người. Hai điểm phân biệt trong không gian RGB, với mắt người có thể hoặc không thể là thể hiện của hai màu khác nhau. Chính vì điều này mà không gian RGB không thể ánh xạ trực tiếp đến bất ComputerGraphics cứ chiều cảm nhận nào khác (như hue, saturation, lightness) ngoài hue (sắc độ). 33 Trang đầu
  34. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. Không gian HSL  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, 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 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 còn bị lệ thuộc vào phần cứng của CRT.  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 (Hue) là toạ độ ứng với góc ComputerGraphics 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 34 khi S = 1 và L = 0.5. Trang đầu
  35. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. Không gian HSL Một số thuận lợi của không gian HSL :  Không gian HSL gần với sự cảm nhận các thuộc tính màu sắc của con người hơn không gian RGB (tuy cách tiếp cận đã đơn giản hóa đi nhiều). Các màu được xác định dễ dàng hơn chẳng hạn do H quay quanh trục đứng nên các màu bù được xác định một cách dễ dàng, đối với các giá trị lightness cũng vậy.  Việc kiểm soát các màu cơ sở HSL dễ hơn cho những người mới làm quen với các ComputerGraphics chương trình đồ họa. 35 Trang đầu
  36. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. Không gian HSL Một số bất lợi :  Việc thêm vào một vector không thể thực hiện đơn giản như không gian RGB (chỉ thêm vào các thành phần màu). Các thao tác lượng giác khi biến đổi sẽ ảnh hưởng đáng kể đến tốc độ của chương trình.  Cần phải qua hiệu chỉnh gamma trước khi hiển thị (giống như các không gian khác). ComputerGraphics 36 Trang đầu
  37. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. Không gian HSV  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 hóa về số ComputerGraphics các gam (gamut) màu của thiết bị hiển thị. 37 Trang đầu
  38. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. Không gian HSV  Một số thuận lợi của không gian HSV :  Không gian HSV dễ dàng đáp ứng các màu sắc của các chương trình đồ họa do được xây dựng dựa trên sự bắt chước luật trộn màu của người họa sĩ. Ví dụ : Khi cần thêm màu trắng vào, phải đặt V=S=1 sau đó giảm S từ từ cho tới khi đạt được màu vừa ý; hay khi cần thêm màu đen vào, điều đó có nghĩa là giảm V (cường độ sáng) và cố định S,  Do không cần sử dụng các phép biến đổi lượng giác khi muốn chuyển sang không gian RGB nên không gian HSV có nhiều thuận lợi về mặt tính toán hơn so với không gian HSL. ComputerGraphics  Một số bất lợi :  Cần có các phép hiệu chỉnh gamma. 38 Trang đầu
  39. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng Thiết bị hiển thị. So sánh Không gian màu RGB HSL HSV Chuẩn công nghiệp cho các Hình thức biến đổi khác của Hình thức biến đổi khác của thao tác đồ họa máy tính không gian RGB không gian RGB Liên hệ trực tiếp với phần cứng Liên hệ gần hơn với sự cảm Liên hệ gần hơn với sự cảm nhận màu sắc của con nhận màu sắc của con người người Là chuyển đổi cuối cùng cho Đòi hỏi các phép biến đổi phức Đã đơn giản hóa các thao tác tất cả các nhu cầu hiển thị tạp tính toán. Không thể chuyển sang màn Độc lập thiết bị Độc lập thiết bị hình khác (phụ thuộc thiết bị) Không có sự tương ứng 1-1 với Có Có cách cảm nhận màu của con người Mô hình là hình lập phương Mô hình là hai hình nón úp vào Mô hình là hình nón đơn nhau ComputerGraphics Được chuẩn hóa về 1 Được chuẩn hóa về 1 Được chuẩn hóa về 1 Độ bão hòa đạt max khi S =1 Độ bão hòa đạt max khi S =1, Độ bão hòa đạt max khi S =1, L =0.5 V =1 39 Trộn màu không rõ ràng Rõ ràng Rõ ràng Trang đầu
  40. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần cứng 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 dữ liệu dạng văn bản và số. Đây là loại thiết bị quen thuộc nhất 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 (point-click) các chức năng phù hợp với yêu cầu của mình. Bằng cách này, giao tiếp giữa người dùng và máy tính càng ngày càng thân thiện và dễ dàng hơn. Ngoài ra chúng ta cũng có một số thiết bị nhập khác cùng họ với chuột như track ball, ComputerGraphics 40 Trang đầu
  41. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần mềm  Phần mềm đồ họa có thể phân thành 2 loại : các công cụ lập trình và các trình ứng dụng đồ họa phục vụ cho một mục đích nào đó.  Các công cụ lập trình cung cấp một tập các hàm đồ họa có thể được dùng trong các ngôn ngữ lập trình cấp cao như C, Pascal, Ví dụ như các thư viện đồ họa của các ngôn ngữ như C, Pascal hay GL (Graphics Library) của Silicon Graphics. Các hàm cơ sở của nó bao gồm việc tạo các đối tượng cơ sở của hình ảnh như đoạn thẳng, đa giác, đường tròn, , thay đổi màu sắc, chọn khung nhìn, áp dụng các phép biến đổi, .  Trong khi đó, các ứng dụng đồ họa được thiết kế cho những người dùng không phải là lập trình viên, cho phép người dùng tạo các đối tượng, hình ảnh, mà không cần quan tâm tới việc chúng được ComputerGraphics tạo ra như thế nào. Ví dụ như là Photoshop, AutoCAD, 41 Trang đầu
  42. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần mềm Biểu diễn tọa độ  Thông thường các hệ đồ họa sử dụng hệ tọa độ Descartes để mô tả đối tượng.  Nếu các tọa độ của đối tượng được mô tả trong các hệ tọa độ khác như tọa độ cầu, , chúng phải được chuyển về tọa độ Descartes trước khi dùng. ComputerGraphics 42 Trang đầu
  43. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần mềm 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). ComputerGraphics 43 Trang đầu
  44. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần mềm Quy trình hiển thị đối tượng  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 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ể.  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. ComputerGraphics 44 Trang đầu
  45. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần mềm 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. ComputerGraphics  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, 45 Trang đầu
  46. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần mềm Các chuẩn phần mềm  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 ComputerGraphics ngữ cụ thể nào, các cú pháp tương ứng sẽ được xác định và cụ thể hóa. 46 Trang đầu
  47. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA Phần mềm Các chuẩn phần mềm  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 ComputerGraphics 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. 47 Trang đầu
  48. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA TÓM TẮT  Sự ra đời của đồ họa máy tính thực sự là cuộc cách mạng trong giao tiếp giữa người dùng và máy tính. Với lượng thông tin trực quan, đa dạng và phong phú được chuyển tải qua hình ảnh, các ứng dụng đồ họa máy tính đã lôi cuốn nhiều người nhờ tính thân thiện, dễ dùng, kích thích khả năng sáng tạo và tăng đáng kể hiệu suất làm việc.  Đồ họa máy tính ngày nay được ứng dụng rất rộng rãi trong nhiều lĩnh vực khoa học, kĩ thuật, nghệ thuật, kinh doanh, quản lí, Các ứng dụng đồ họa rất đa dạng, phong phú và phát triển liên tục không ngừng. Ngày nay, hầu như ComputerGraphics không có chương trình ứng dụng nào mà không sử dụng kĩ thuật đồ họa để làm tăng tính hấp dẫn của mình. 48 Trang đầu
  49. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA TÓM TẮT  Một hệ đồ họa bao giờ cũng có hai thành phần chính đó là phần cứng và phần mềm.  Thành phần phần cứng bao gồm các thiết bị hiển thị (hay là thiết bị xuất) và các thiết bị nhập. Tiêu biểu nhất trong các thiết bị hiển thị là màn hình mà cơ chế hoạt động dựa trên cấu tạo của ống tia âm cực CRT. Các thiết bị nhập dữ liệu thường gặp bao gồm bàn phím, chuột.  Phần mềm đồ họa có thể chia làm hai loại đó là các công cụ lập trình như các hàm thư viện của C, Pascal, GL, và các ứng dụng phục vụ cho một mục đích nào đó như AutoCAD, Photoshop, Hướng tiếp cận của chúng ta trong tài liệu này ở mức độ của người lập trình, nghĩa là chúng ta sẽ tìm hiểu các thuật toán, các nguyên lí để xây dựng nên các ứng dụng đồ họa chứ không phải là học cách sử dụng ComputerGraphics các phần mềm như AutoCAD, Photoshop, 49 Trang đầu
  50. Câu hỏi  /daonamanhedu/teaching/ computer-graphics ComputerGraphics 50 Trang đầu