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ị 0255.
Độ 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