Bài giảng Đồ họa máy tính - Các khái niệm cơ bản - Ngô Quốc Việt

pdf 37 trang Gia Huy 16/05/2022 3380
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Đồ họa máy tính - Các khái niệm cơ bản - Ngô Quốc Việt", để 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_do_hoa_may_tinh_cac_khai_niem_co_ban_ngo_quoc_viet.pdf

Nội dung text: Bài giảng Đồ họa máy tính - Các khái niệm cơ bản - Ngô Quốc Việt

  1. CÁC KHÁI NIỆM CƠ BẢN NGÔ QUỐC VIỆT 2010
  2. 1. Thiết bị hiển thị 2. Các đối tượng đồ họa cơ bản 3. Không gian màu 4. Nhắc lại đại số tuyến tính 5. Hệ toạ độ 6. Cách sử dụng OpenGL 2
  3. Vector: plotter. Raster: màn hình, máy in. 3
  4. LCD (Liquid Crystal Displays) 5
  5. Plasma: nguyên lý giống CRT nhưng tác động bởi gas thay vì súng phóng tia. 6
  6. Pixel: điểm ảnh trong thiết bị raster. . Sắc xám (từ 0 255), hoặc màu thể hiện bởi bộ ba (hay bộ bốn) giá trị 0 255. Độ phân giải: từ 320x200 2000x1500. Khái niệm điểm (point): tọa độ (x, y, z) vị trí trong không gian. Đường gấp khúc (polyline): dãy tọa độ {(x, y, z)}. Polygon: đường gấp khúc khép kín. 7
  7. Phần cứng đồ hoạ . Chứa frame buffer Frame buffer Cartesian . Liên kết trực tiếp với Coordinates video controller CPU System Frame Video Monitor Memory Buffer Controller System Bus 8
  8. current previous Cần đồng bộ •Sử dụng double buffering CPU System Double Video Monitor Memory Buffer Controller synchronized System Bus 9
  9. I/O Devices System Bus Display System CPU Processor Memory Frame Video Monitor Buffer Controller Figure 2.29 from Hearn and Baker 10
  10. Trích từ Foley et al 11
  11. Lưu trữ cường độ của R, G, và B trong frame buffer. 24 bits per pixel = 8 bits red, 8 bits green, 8 bits blue DAC 12
  12. Là phương pháp để xác định màu Ví dụ: người cảm nhận màu sắc qua . Màu (Hue): phân biệt đỏ, vàng, xanh, v.v . Độ bão hòa (Saturation): nhạt/đậm hơn bao nhiêu so với màu bão hòa. . Độ sáng (Lightness): cường độ sáng. Đôi khi còn gọi là brightness nếu đối tượng phát (như TV luôn gọi là brightness) Máy tính mô tả màu với (R, G, B) 13
  13. Do đáp ứng tuỳ thuộc vào những ứng dụng khác nhau. Do gắn chặt với thiết bị Một không gian màu số sử dụng độ đo tuyến tính. Máy tính không sử dụng màu tuyến tính. Một số cần biểu diễn trực giác. Các không gian màu phổ biến: RGB, CMYK, HSL, YIQ, YUV, YCbCr, YCC, CIE (CIELab, CIELuv). 14
  14. Biết rõ các không gian màu sẽ có ưu thế khi thực hiện các ứng dụng đồ hoạ, xử lý ảnh Ví dụ: nén ảnh có thể chuyển về không gian thích hợp sẽ nén tốt hơn. Nhận dạng: với không gian màu thích hợp sẽ thuận lợi hơn (bài toán color matching). Không phải không gian màu nào cũng phủ tối ưu màu. 15
  15. Tần số ánh sáng có thể thấy được trong khoảng . Đỏ = 4.3 x 1014 hertz (700nm) . Tím = 7.5 x 1014 hertz (400nm) • Thấy rõ nhất: yellow-green ở 550 nm • Thấy yếu nhất: blue ở 440nm. 16
  16. Humans có sắc tố cảm nhận ánh sáng được gọi là L, M, and S Mỗi cái có phổ khác nhau L L()E()d M M()E()d S S()E()d 17
  17. Màu cộng (RGB) Màu trừ (CMYK) Shining colored lights Mixing paint colors and on a white ball illuminating with white light 18
  18. Gần với cảm nhận mắt Hue (H): góc quay quanh trục đứng Saturation (S): giá trị từ 0 đến 1 chỉ ra độ bão hòa. Value (V): chiều cao của hình nón 19
  19. Quan sát nón HSV từ trên xuống H S V Color 0 1.0 1.0 Red 120 1.0 1.0 Green 240 1.0 1.0 Blue * 0.0 1.0 White * 0.0 0.5 Gray * * 0.0 Black 60 1.0 1.0 ? 270 0.5 1.0 ? 270 0.0 0.7 ? 20
  20. Tập 3 bước sóng có thể được kết hợp để tạo ra các bước sóng khác. The CIE (Commission Internationale d’Eclairage) xác định 3 d nguồn sáng X,Y, Z: Ý tưởng: bước sóng  có thể được tạo ra từ sự kết hợp của X,Y, và Z. Gần như tuyến tính với cảm nhận màu sắc. 21
  21. Định nghĩa theo hình khối vuông dạng Khối vuông RGB nằm trong không gian CIE theo dạng 22
  22. YIQ mô hình màu dùng cho ti vi màu ở America. Y: độ sáng; I (orange-cyan); Q (green-magenta). Nếu chỉ dùngY => ti vi trắng đen. Chuyển từ màu sang trắng/đen băng cách chỉ xét giá trị R. Chuyển đổi từ RGB sangYIQ Y 0.30 0.59 0.11 R I 0.60 0.28 0.32 G Q 0.21 0.52 0.31 B 23
  23. Cyan, magenta, và yellow là phần bù của red, green, và blue . Có dạng là mằu trắng trừ đi thành phần màu tương ứng. . Giống như RGB, nhưng gốc ở màu white thay vì black. Thuận tiện cho thiết bị hardcopy như máy in laser . Nếu thêm mực cyan vào tran in, ánh sáng đỏ không bị phản chiếu . Thêm màu đen là một thành phần (CMYK) để tạo cân bằng giữa CMY. C 1 R M 1 G Y 1 B 24
  24. Sử dụng chỉ số màu thay vì RGBA. . 2màu: chỉ số 0, 1. . 4 màu: chỉ số 0, 1, 2, 3. . 256 màu: chỉ số 0, 1, , 255. . Sử dụng bảng màu ánh xạ cho các chỉ số màu. . Ví dụ: ảnh 256 sắc màu, sử dụng bảng 256 màu. Ví dụ: ảnh sắc xám, ảnh “trắng đen”. Ưu điểm và nhược điểm? 25
  25. Brightness: lượng ánh sáng (phát ra) Lightness: ‘trắng’ cỡ nào (nhận được) Ô trắng sẽ bị tối khi bị bóng đen chiếu vào nó. 26
  26. Điểm: toạ độ (x, y). . Vị trí trong hệ toạ độ: điểm mốc, cột đèn, v.v. Đoạn thẳng: nối giữa hai điểm. Đường gấp khúc (polyline): nối nhiều đỉnh (vertex, endpoint). . Kiểu đường: biên giới, hàng rào. 27
  27. Đường gấp khúc khép kín (polygon) Câu hỏi : tính diện tích đa giác và thuật giải thực hiện. Câu hỏi: tính tâm của đa giác. Viết cấu trúc thể hiện các đối tượng: điểm, polyline, polygon. 28
  28. Đường ellipse, arc, đường bậc 2, bậc 3, Trích: Wikipedia Chú ý: các đối tượng đặc biệt đều được chuyển thành polyline hay polygon khi vẽ lên thiết bị. 29
  29. Dot product: đo độ tương quan hai vector 30
  30. Cross product của hai vector A, B là vector C trực giao với mặt phẳng chứa A và B. Hướng của C theo nguyên tác bàn tay phải a b a b sin.nˆ Chuẩn của C: 31
  31. Định thức ma trận: Cộng từ trái sang phải. Trừ từ phải sang trái 32
  32. Thế giới thực: kinh độ, vĩ độ, mét, kilômét; Toạ độ đối tượng: xe hơi, máy bay, nhà (đâu cần biết kinh, vĩ độ). Hệ toạ độ nhìn: mình quan sát mọi thứ ra sao (từ đâu, góc nhìn thế nào). Hệ toạ độ chiếu: phóng to, thu nhỏ, v.v. Toạ độ thiết bị: pixel. 33
  33. Mọi vật thể đều quy về các toạ độ, màu sắc, ánh sáng. Qua các bước trung gian nhằm: tăng tốc độ, vẽ cho đẹp, thực tế, đa dạng. Render ra toạ độ thiết bị (pixel). 34
  34. Download GLUT: Kết hợp với Visual C++. Copy files vào các folder sau: . glut.h VC/include/gl/ . glut32.lib VC/lib/ . glut32.dll windows/system32/ Header Files, luôn đưa các include sau vào đầu file header có sử dụng OpenGL. . #include Lib Files: Glu32.lib; GLaux.lib và OpenGL32.lib (nếu là GLUT cũ). 35
  35. Đọc thêm về các không gian màu và cách chuyển đổi. Trình bày tham luận chi tiết về một không gian màu (định nghĩa, ưu nhược điểm, ứng dụng). Đọc thêm thuật giải Bresemham vẽ đường thẳng/cong trong thiết bị raster. 36
  36. 1. Cài đặt: trò chơi nổ bóng gần nhau. 2. Cài đặt: trò chơi nổ hình giống nhau. 3. Cài đặt: trò chơi con khỉ-vòng trái cây. 4. Cài đặt: trò chơi nhập vai bắn súng có cảnh xung quanh. 5. Cài đặt: minh hoạ một vài vấn đề của hình không gian (2 nhóm). 6. Cài đặt: minh họa các công thức phân tử hoá học. 7. Cài đặt: trò chơi đánh bóng (tennis, bóng bàn, v.v) 8. Lý thuyết: radiosity - thuật giải render. 9. Lý thuyết: morphing-kỹ thuật biến hình. 10. Lý thuyết: tìm hiểu các định dạng tập tin 3D. 37