CÁC KHÁI NIỆM CƠ BẢN

NGÔ QUỐC VIỆT 2010

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

 Vector: plotter.  Raster: màn hình, máy in.

3

 CRT

4

 LCD (Liquid Crystal Displays)

5

 Plasma: nguyên lý giống CRT nhưng tác động

bởi gas thay vì súng phóng tia.

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

Frame buffer Cartesian Coordinates

 Phần cứng đồ hoạ  Chứa frame buffer  Liên kết trực tiếp với

video controller

CPU

Monitor

System Memory

Frame Buffer

Video Controller

System Bus

8

current

previous

Cần đồng bộ •Sử dụng double buffering

CPU

Monitor

System Memory

Double Buffer

Video Controller

System Bus

synchronized

9

I/O Devices

System Bus

CPU

Display Processor

System Memory

Monitor

Video Controller

Frame Buffer

Figure 2.29 from Hearn and Baker

10

Trích từ Foley et al

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

 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

 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

 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

 Tần số ánh sáng có thể thấy được trong khoảng

 Đỏ  Tím

= =

4.3 x 1014 hertz (700nm) 7.5 x 1014 hertz (400nm)

• Thấy rõ nhất: yellow-green ở 550 nm • Thấy yếu nhất: blue ở 440nm.

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

17

Màu cộng (RGB) Shining colored lights on a white ball

Màu trừ (CMYK) Mixing paint colors and illuminating with white light

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

 Quan sát nón HSV từ trên xuống

H S V Color Red Green Blue White Gray Black ? ? ?

1.0 1.0 1.0 1.0 0.5 0.0 1.0 1.0 0.7

1.0 1.0 1.0 0.0 0.0 * 1.0 0.5 0.0

0 120 240 * * * 60 270 270

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

 Đị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

 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

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.

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

 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

 Đ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

 Đườ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

 Đườ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

 Dot product: đo độ tương quan hai vector

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

 Chuẩn của C:

31

 Định thức ma trận:

 Cộng từ trái sang phải. Trừ từ phải sang trái

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

 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

 Download GLUT: http://www.opengl.org/resources/libraries/glut.html Kết hợp với Visual C++. Copy files vào các folder  sau:

  

  

glut.h glut32.lib glut32.dll

VC/include/gl/ VC/lib/ 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

 Đọ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

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