Bài giảng - Đồ họa máy tính - Pdf 16

Chương 1
TỔNG QUAN VỀ HỆ THỐNG ĐỒ HỌA MÁY TÍNH
1.1 CÁC ỨNG DỤNG CỦA ĐỒ HỌA
Ngày nay, đồ họa máy tính được sử dụng trong rất nhiều lĩnh vực khác nhau như công nghiệp,
thương mại, quản lí, giáo dục, giải trí,…Số lượng các chương trình đồ họa ứng dụng thật khổng lồ và
phát triển liên tục, sau đây là một số ứng dụng tiêu biểu:
+ Thiết kế trợ giúp máy tính: AutoCAD or CAD (Computer Aided Design),
+ Đồ thị, mô hình
+ Vẽ nghệ thuật
+ Phim ảnh
+ Giao diện đồ họa cho phần mềm (Computer Graphic Interface)
+ Xử lý ảnh, thị giác máy tính: nhận dạng, xử lý ảnh vệ tinh
+ GIS (Geographic Information System)
+ Đa phương tiện (Multimedia)
1.1.1 Thiết kế với sự hỗ trợ của máy tính
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, ….
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 .
1.1.2. Biểu diễn thông tin
Đây là các ứng dụng sử dụng đồ họa máy tính để phát sinh các biểu đồ, đồ thị, … dùng minh họa
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 quả.
1.1.3. 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

tích hay tổng hợp ảnh đã cho thành một tập hợp các ảnh gốc, các ảnh gốc này được lưu trong một thư
viện và căn cứ vào thư viện này để nhận dạng các ảnh khác.
Ví dụ: Phần mềm nhận dạng chữ viết (VnDOCR) của viện Công nghệ Thông tin Hà Nội, nhận dạng
vân tay, nhận dạng mặt người trong khoa học hình sự
Trang 2
Đại học Hải Phòng. Giảng viên: Lê Đắc Nhường Giáo trình Đồ họa máy tính
1.2 KHÁI NIỆM VỀ ĐỒ HỌA MÁY TÍNH
Đồ họa máy tính là một ngành khoa học Tin học chuyên nghiên cứu về các phương pháp và kỹ
thuật để có thể mô tả và thao tác trên các đối tượng của thế giới thực bằng máy tính. Về bản chất: đó là
một quá trình xây dựng và phát triển các công cụ trên cả hai lĩnh vực phần cứng và phần mềm hổ trợ
cho các lập trình viên thiết kế các chương trình có khả năng đồ họa cao. Với việc mô tả dữ liệu thông
qua các hình ảnh và màu sắc đa dạng của nó, các chương trình đồ họa thường thu hút người sử dụng
bởi tính thân thiện, dể dùng, kích thích khả năng sáng tạo và nâng cao năng suất làm việc.
Đồ 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à các chương trình ứng dụng tạo ảnh
bằng 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 loại biểu diễn đồ họa khác nhau.
Đồ 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à

lặp liên tục trên các điểm ảnh (CRT làm tươi). Phosphor có nhiều loại: mất ánh sáng nhanh và chậm.
- Có nhiều loại phosphor được dùng trong một CRT. Ngoài màu sắc ra, điểm khác nhau chính
giữa các loại phosphor là "độ bền” (Persistent), đó là khoảng thời gian phát sáng sau khi tia
CRT không còn tác động. Lớp phosphor có độ bền thấp cần tốc độ làm tươi cao hơn để giữ cho
hình ảnh trên màn hình khỏi nhòe. Loại này thường rất tốt cho hoạt hình, rất cần thay đổi hình
ảnh liên tục. Lớp phosphor có độ bền cao thường được dùng cho việc hiển thị các ảnh tĩnh, độ
phức tạp cao. Mặc dù một số loại phosphor có độ bền lớn hơn 1 giây, tuy nhiên các màn hình đồ
họa thường được xây dựng với độ bền dao động từ 10 đến 60 micro giây
- Làm lệch tia điện tử bằng: điện trường hay từ trường (hình 1.2).
- Hệ thống focusing làm chụm tia điện tử.
- Mật độ màn hình: tổng số điểm cực đại có thể hiển thị trên màn hình. Định nghĩa chính xác hơn:
mật độ là tổng số điểm/cm theo chiều ngang và đứng. Mật độ phụ thuộc loại phosphor và hệ
thống làm chụm, làm lệch tia điện tử. Mật độ cao có thể hiển thị 4000 điểm theo mỗi chiều ->
cho tổng số 16 triệu điểm ảnh có thể địa chỉ hóa.
- Tỷ lệ co màn hình (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
Trang 4
Tấm làm lệch
tia
Đại học Hải Phòng. Giảng viên: Lê Đắc Nhường Giáo trình Đồ họa máy tính
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. Thí dụ EGA
(Enhanced Graphics Adapter) có tỷ lệ ¾.
1.3.1.2 Màn hình Raster
Màn hình Raster xuất hiện vào đầu những năm 70. Màn hình Raster dạng điểm là dạng thường gặp
nhất trong số các dạng màn hình sử dụng CRT dựa trên công nghệ truyền hình. Trong hệ thống này,

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ó 2
b
giá trị
màu phân biệt cho pixel đó.
Hình 1.6. 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ó 2
b
phần tử. Nếu b=8, LUT sẽ có
2
8
=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
Trang 6
Đại học Hải Phòng. Giảng viên: Lê Đắc Nhường Giáo trình Đồ họa máy tính
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

- Nếu tia điện tử chỉ có hai mức on và off thì màn hình chỉ hiển thị được 8 màu. Nếu chúng có
nhiều mức khác nhau thì có thể hiển thị được tới hàng triệu màu khác nhau.
1.3.1.4 Màn hình LCD
a. Nguyên lý: Các phân tử tinh thể lỏng sắp xếp song song theo rãnh
- Khi các phân tử tinh thể lỏng tiếp xúc bề mặt có rãnh theo hướng nhất định thì các phân tử
này sẽ xếp hàng song song theo rãnh.
- Hình trên cho thấy, phía trái là phân tử hỗn độn, bên phải là LC tiếp xúc với bề mặt có rãnh,
chúng xếp dặt theo phương các rãnh (hình 1.10a).
Hình 1.10a Các tinh thể trên bề mặt màn hình LCD
Khi LC kẹp giữa hai hai tấm bề mặt có rãnh, chúng sẽ tự xếp đặt theo phương a hay b
- Các phân tử phía trên xếp đặt theo phương a và phương b tại phía dưới (hình 1.10b). Như vậy,
các phân tử LC có cấu trúc xoắn (trường hợp này xoắn 90 độ).
Hình 1.10.b
Hình 1.10.c
- Ánh sáng đi qua không gian xếp đặt của các phân tử LC
+ Ánh sáng cũng bị xoắn theo các phân tử LC xoắn.
+ Ánh sáng đi qua các nguyên tử tinh thể lỏng, theo hướng các phân tử sắp xếp. Khi các phân
tử LC xoắn 90 độ thì ánh sáng cũng xoắn 90 độ (hình 1.10c).
Trang 8
Đại học Hải Phòng. Giảng viên: Lê Đắc Nhường Giáo trình Đồ họa máy tính
Hình 1.10.d Hình 1.10.e
- Các phân tử LC tự xếp đặt lại khi có điện áp: Khi có điện áp, ánh sáng xoắn lại truyền thẳng. Khi
có điện áp các phân tử tự xếp đặt theo phương thẳng đứng (theo trường điện) và ánh sáng đi thẳng
dọc theo các phân tử (hình 1.10d).
- Ngăn ánh sáng bằng hai bộ lọc phân cực (hình 1.10e)
+ Khi cho điện áp vào tổ hợp 2 bộ lọc phân cực và tinh thể lỏng xoắn, màn hình LCD xuất
hiện. Ánh sáng đi qua khi hai bộ lọc phân cực được xếp đặt theo phương trục phân cực như
hình phía trái.
+ Ánh sáng bị chặn khi hai bộ lọc phân cực được xếp đặt theo phương trục phân cực như hình
phía phải.

- Twisted Nematic (TN): Các phân tử LC xoắn 90 độ. Độ tương phản ở màn hình lớn không tốt.
- Super Twisted Nematic (STN): Các phân tử LC xoắn từ 180-260 độ, Tương phản tốt hơn.
- Triple Super Twisted Nematic (TSTN): Cho chất lượng đặc biệt tốt.
1.3.1.5 Plasma-Panel Displays
Phần lớn màn hình máy tính là CRT, nhưng nhiều máy tính còn sử dụng công nghệ khác. Màn hình
plasma-Panel được hình thành từ khí Neon giữa các tấm kính. Nguyên lý hoạt động của màn hình
Plasma tương tự như nguyên lý hoạt động của đèn huỳnh quang là một ống nhỏ chứa đầy ga. Khi bị tác
động bởi trường điện từ nó sẽ phát sáng. Trường điện từ UV tác động lên phosphor sẽ phát sinh ra các
màu khác nhau.
Dãy các cực điện theo chiều ngang và dọc tạo thành các điểm trong neon. Để tạo các điểm riêng
biệt ta tách khí thành các bọt (hình 1.11).
Trang 10
Đại học Hải Phòng. Giảng viên: Lê Đắc Nhường Giáo trình Đồ họa máy tính
Hình 1.11 Nguyên tắc hoạt động của màn hình Plasma
Các điểm neon trong tấm plasma được sáng do đốt cực bằng điện áp ~120V trên điện cực tương
ứng. Sau khi cháy chỉ cần mức duy trì ~90V. Giá đắt hơn so với CRT. Không cần làm tươi ảnh. Màn
hình mỏng.
Ưu điểm: Góc quan sát rộng, phù hợp với các màn hình có kích thước lớn; Ánh sáng rõ
Nhược điểm:
- Đắt tiền; Kích thước pixel khá lớn (cỡ 1mm so với 0.2 mm)
- Phosphor bị yếu dần; Ánh sáng yếu hơn CRTs, sử dụng nhiều năng lượng
1.3.2 Các thiết bị phần cứng – Máy in
Hai loại chính là Impact (va trạm) và Nonimpact (không va trạm)
- Máy in va trạm: nhấn bề mặt ký tự vào băng mực trên giấy thí dụ máy in dòng. Mặt ký tự được
đặt trên băng, trống, bánh xe (wheel). Máy in điểm chứa trường các kim nhỏ để in từng ký tự.
- Máy in không va trạm: có tốc độ cao hơn, tĩnh hơn. Các kỹ thuật sử dụng trong máy in không
va: phun mực, laser, tĩnh điện, nhiệt điện.
- Máy in kim cho khả năng in đồ họa: máy in kim có 9 hay 24 kim xếp theo chiều đứng như hình
vẽ. Mật độ: 9kim chiều ngang 240dpi, đứng 72 dpi; của máy 24 kim là 360dpi x 180dpi. Một
vài loại đạt được đến 360 dpi.

nhau. Kiểu RGB - tức là Red-Green-Blue (Ðỏ, Xanh lá cây, Xanh dương) giống như cách tạo màu vủa
tivi và mành hiển thị máy tính. Cách này dùng ba màu Ðỏ, Xanh lá cây, xanh dương làm màu căn bản,
từ đó tạo ra các màu khác. Kiểu HSB - tức dựa trên các yếu tố Hue-Saturation-Brightnes tức là sắc màu,
lượng màu, độ sáng. Kiểu CMYK sử dụng tỷ lệ pha trộn các màu Cyan-xanh dương sáng lợt, Magenta-
hồng tím, Yellow-vàng, blach-đen. Trong ngành in ấn chế bản thì gọi màu C -cyan là xanh, M -
magenta là đỏ, Y - yellow là vàng, K - black là đen. Vì màu sắc là một sự cảm nhận nhạy cảm ngay cả
với con người, nên đối với máy in màu, việc thể hiện màu phụ thuộc rất nhiều vào thiết bị.
1.3.2.2 Máy in nhiệt, máy in phun
Phương pháp nhiệt sử dụng nhiệt năng của đầu in ma trận điểm để tạo ra mẫu trên giấy cảm nhiệt
(như máy fax) hay trên băng phủ mực cảm nhiệt. Mật độ có thể đạt 300dpi, có thể đen trắng hay màu.
Máy phun mực (Ink-Jet): phun mực theo hàng ngang còn giấy cuộn theo trống. Trường điện từ của mực tác động thành
các mẫu ma trận điểm trên giấy. Đầu in không va trạm giấy -> thuận tiện cho in phim. Độ phân giải khá cao: HP Desk Jet
550C đạt tới 300 dpi -> cho màu đẹp.
Máy in đen trắng và màu: Màu tổ hợp từ cyan, magenta và yellow. Máy phun mực thường phun 3 màu đồng thời. Máy
in laser chia ba giai đoạn.
Hình 1.13. Máy in nhiệt Hình 1.14 Công nghệ RET
Trang 12
Đại học Hải Phòng. Giảng viên: Lê Đắc Nhường Giáo trình Đồ họa máy tính
Máy in nhiệt - dùng các xung điện từ mạch kích thích của máy in làm cho đầu kim ma trận điểm
nóng lên và nguội đi rất nhanh, nhưng đầu kim này không gõ vào giấy mà do sự nóng nguội theo ma
trận điểm nó sẽ làm đổi màu các điểm trên loại giấy đặc biệt tạo nên các ký tự cần in. Tốc độ máy in
tương đối nhanh và ít tốn điện, nhưng phải dùng loại giấy in nhiệt - thermal paper. Ðể khắc phục nhược
điểm phai màu của máy in nhiệt, người ta dùng công nghệ máy in truyền mực bằng nhiệt - thermal
fusion printer. Ðầu in loại này cũng là ma trận các kim nhiệt được nung nóng nhanh bằng các xung tín
hiệu thích hợp của mạch điện tử trong máy.
Máy in phun mực - Inkfet printer : cũng là loại máy in không gõ, đồng thời đầu in cũng không tiếp
xúc giấy in, nó thực hiện thao tác in bằng cách phun các giọt mực lên các hạt mực li ti tạo nên bản in.
Trong máy in phun ngày nay thiết bị phun dùng tinh thể áp điện - nó dao động cơ học với tần số cố
định khi có điện áp điều khiển tác động vào. Khi đặt trong ống dẫn mực nó đẩy mực ra khỏi ống và hút
thêm mực khác vào - như một máy bơm. Loại này bị hạn chế bởi tốc độ in, do các phần tử in phải có

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ể.
Hình 1.15. 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.
1.3.3.3 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, …
1.3.3.4 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ì
Trang 14

(với 256 màu/pixel), hay khả năng không công bố là 360x480 với 256 màu.
- Từ 1990 hầu như 100% PC có VGA hay tương thích.
- VGA sử dụng DAC - Digital to Analog Converter 6-bit để phát sinh tín hiệu video RGB số với
khả năng hiển thị 256 màu đồng thời từ 262144 (2
3*6
) màu.
- Khó lập trình trên VGA để tận dụng hết khả năng của chúng. Các thanh ghi đọc được, có BIOS
mở rộng và nhiều khoảng trống cho font.
Bảng 1.1 VGA and VESA Video Modes
Mode# VESA# Number of Colors Resolution Display Mode
Trang 15
Đại học Hải Phòng. Giảng viên: Lê Đắc Nhường Giáo trình Đồ họa máy tính
0/1 _ 16/256K 320x200 Text
2/3 _ 16/256K 640x200 Text
4/5 _ 4/256K 320x200 Text
6 _ 2/256K 640x200 Text
7 _ mono 720x350 Text
0D _ 16/256K 320x200 Graphics
0E _ 16/256K 640x200 Graphics
0F _ mono 640x350 Graphics
10 _ 16/256K 640x350 Graphics
11 _ 2/256K 640x480 Graphics
12 _ 16/256K 640x480 Graphics
13 _ 256/256K 320x200 Graphics
_10A 16/256K 1056x350 Text
_109 16/256K 1056x350 Text
_100 256/256K 640x400 Graphics
_101 256/256K 640x480 Graphics
_102(6A) 16/256K 800x600 Graphics
_103 256/256K 800x600 Graphics

hãng chế tạo. Thí dụ về chọn chế độ màn hình 1024x768x16 màu của các hãng là khác nhau như trên
bảng 1.2. Mọi hãng trông chờ IBM thống nhất, nhưng thất bại.
1.4.1.4 Hiệp hội chuẩn hóa màn hình (Video Electronics Standards Association - VESA)
Video Electronics Standards Association có nhiệm vụ đưa ra chuẩn SVGA (1989-1991) bao gồm
định nghĩa 8 lời gọi cho ngắt INT 10h, chức năng 4FH và chức năng này được gọi là phần mở rộng
VESA BIOS (xem Phụ lục).
VESA BIOS cho phép chuyển đổi bank nhớ nhờ lời gọi hàm đặc biệt hay để có thể lấy địa chỉ các
hàm của hãng chế tạo hay tự ta viết lấy. Kiến trúc PC làm việc trang 64kb, chế độ màn hình
1024x768x256 màu cần 768kb. Muốn thâm nhập chúng thì phần cứng phải có khả năng chuyển mạch
12 băng nhớ.
1.4.1.5 Tăng tốc màn hình
Mong muốn có Co-processor trên vỉ xử lý ảnh, hình ảnh chuyển động, từ các thành phần đồ họa
cơ sở: vẽ đường, hình tròn, tô đa giác, thu phóng ảnh, Thị trường có các vi mạch làm tăng tốc màn
hình sau: Vỉ màn hình IBM 8514/A, TMS34010 - TMS34020 của Texas, Hitachi có HD 63484, Từ khi
có Windows đã xuất hiện nhiều chip để xây dựng điều khiển màn hình, các vi mạch thông dụng là S3
86C928, CL-GD5426
1.4.2 Kiến trúc vỉ điều khiển màn hình PC
Hình 1.16 Cấu trúc của hệ thống màn hình của máy PC.
Màn hình
Hầu hết màn hình SVGA (multisync) là analog  phát sinh số màu không giới hạn. Có khả năng hiển thị 1280x1024.
Có nhiều kiểu màn hình trên thị trường
Vỉ màn hình (Video Card)
Vỉ màn hình chứa: chíp, bộ nhớ và BIOS. Video chíp: phần cứng chuyển đổi ảnh trong bộ nhớ
thành tín hiệu màn hình và các điều khiển hoạt động của chúng. Một số loại vỉ trợ giúp các chức năng
cơ bản đồ họa.
Phần cứng còn bao gồm: DAC, bộ nhớ. Do vậy có thể hiển thị độ phân giải cao và nhiều màu hơn.
RAM thường là: 512kb, 1Mb, 2Mb, 4Mb và nhiều hơn. BIOS quản lý trao đổi thông tin giữa CPU, chip
video và bộ nhớ thông qua Bus: VESA Local Bus hay PCI (Peripheral Components Interconnect) để
trao đổi thông tin nhanh hơn.
Trang 17

Vùng nhớ để trình ứng dụng và mã trình trong Video BIOS cùng chia sẻ là: A0000h-BFFFFh dành
cho Video RAM. Trong đó: A0000h-AFFFFh cho màn hình đồ họa. B0000h-B7FFF cho màn hình đơn
sắc. B8000 đến BFFFFh cho màn hình chế độ văn bản mầu.
Thí dụ màn hình VGA, chế độ 16 màu: 1 pixel cần 1/2 byte, vậy bộ nhớ Video RAM cần cho mode
này là 640x480/2 = 150k. Thực tế Video RAM của VGA chế độ này tổ chức theo planes, tất cả chúng
đều bắt đầu từ địa chỉ A0000h, vậy 4 planes sẽ cho 256k (đủ cho nhu cầu của mode này – mode 12h).
Một số chế độ màn hình đồ họa yêu cầu nhiều vùng nhớ hơn để chứa giá trị các pixel, vậy cần cơ
chế chuyển bank nhớ.
Hình 1.19a. SVGA 256 màu
Trang 19
Đại học Hải Phòng. Giảng viên: Lê Đắc Nhường Giáo trình Đồ họa máy tính
Hình 1.19b. SVGA True Color Hình 1.19c. SVGA True Color
Các hình 1.18, 1.19a,b,c là cấu trúc bộ nhớ video của một vài loại màn hình.
- Chế độ 16 màu (hình 1.18): bộ nhớ tổ chức thành planes, mỗi bit trên plane tham gia vào mã
hoá màu -> 4 bit cho 16 màu. Bộ giải mã màu được gọi là bộ màu. Cả 4 plane đều có chung
địa chỉ, bắt đầu A000:0000h. 1 plane có thể cho tới 64k, vậy 4 planes cho tới 256k.
- Màn hình EGA chế độ 16 màu (nửa phải hình 1.18): mỗi thanh ghi palette chứa 6 bit cho 64 lựa
chọn. Vậy, màn hình EGA chỉ cho khả năng hiển thị 16 màu đồng thời từ 64 màu. Tín hiệu lựa
chọn từ palette sẽ được gửi ngay ra màn hình.
- Vỉ điều khiển màn hình VGA chế độ 256 màu: có bộ chuyển đổi DAC phát sinh tín hiệu Red,
Green, Blue tuyến tính để gửi ra màn hình tương tự. Do vậy chúng có thể phát sinh số cường độ
màu không giới hạn. Trên hình 2.3 cho thấy vỉ VGA còn có thêm thanh ghi chọn màu (Color
Select Register) 2 bit để cho khả năng chọn 1 (16 thanh ghi màu) từ 4 nhóm (64 thanh ghi
DAC). Mỗi thanh ghi DAC chứa 3 bộ dữ liệu 6 bit Red, Green và Blue. Điều này cho phép tổ
hợp 1 từ 64 mức màu của từng bộ 3 màu, kết quả ta có 256 K màu.
- Chế độ SVGA, chế độ 16 màu và vượt qua 800x600, thí dụ đạt tới 1024x768x16 hay 1280x1024
thì phải sử dụng chuyển băng nhớ. Lập trình viên chuyên nghiệp hay sử dụng phương pháp này.
Nhưng bộ nhớ tổ chức thành planes tương tự như mô tả cho EGA trên đây.
- VGA hay SVGA 256 màu: sử dụng một byte làm `mã` màu cho 1 pixel -> 2
8

trái có toạ độ (0,0). Cặp trị (x,y) cho biết điểm trên dòng x và cột y của màn hình đồ hoạ.
cột y
toạ độ (0,0)
Hình 1.20 Một góc màn hình
Các mode màn hình của một số loại màn hình thông dụng:
Mode TEX
T
GRAP
H
Số lượng
màu
Kích thước
dòngxcột
Loại màn hình
0 * 2 25x40 CGA,EGA
1 * 16 25x40 CGA,EGA
2 * 2 25x80 CGA,EGA
3 * 16 25x80 CGA,EGA
4 * 4 200x320 CGA,EGA
5 * 4 200x640 CGA,EGA
6 * 2 200x640 CGA,EGA
7 * 2 25x80 MA
8 * 16 200x160 PCjr
9 * 16 200x320 PCjr
10 * 4/16 200x640 PCjr, EGA
13 * 16 200x320 EGA
14 * 16 200x640 EGA
15 * 4 350x640 EGA
Bảng 1.3 Các Mode màn hình
1.4.4 Bộ màu (Pallete)

5. Attribute Register
6. Nhóm Color Register (Chỉ có ở VGA)
Chú ý: Chỉ các thanh ghi của nhóm General và thanh ghi chọn màu (Color Select Register) của
nhóm Attribute Register là có thể truy nhập trực tiếp vào nó thông qua cổng I/O nghĩa là người lập trình
có thể dùng các lệnh In, Out để truy cập vào các thanh ghi này thông qua địa chỉ của cổng.
Các thanh ghi còn lại được truy nhập gián tiếp thông qua thanh ghi địa chỉ (Address Register) và
thanh ghi dữ liệu (Data Register) hai thanh ghi này có địa chỉ liên lạc thông qua địa chỉ cổng.
Có thể minh hoạ: Các thanh ghi trong nhóm thanh ghi thuộc tính không truy nhập theo phương
pháp trên, dùng cùng một địa chỉ cổng để lấy địa chỉ và dữ liệu ở địa chỉ 3C0
Trang 22
Đại học Hải Phòng. Giảng viên: Lê Đắc Nhường Giáo trình Đồ họa máy tính
Hình 1.21 Các truy cập thông qua thanh ghi màn hình
1.4.5.1 Nhóm 1 (General hay External Register)
Nhóm này có 4 thanh ghi có độ dài 8 bit, nhiệm vụ của các thanh ghi nhóm này là thiết lập trạng
thái cách thức kiểm tra chế độ làm việc của màn hình nhóm 1 cho ở bảng sau:
Tên thanh ghi Địa chỉ ghi vào (Write) Địa chỉ đọc ra
Miscellaneous output 3C2 3CC
Feature control 3DA/3BA 3CA
Input Status #0 0 3C2
Input Status #1 3DA/3BA 3DA/3CA
1.4.5.2 Nhóm 2 (Sequencer Register)
Nhóm này gồm 6 thanh ghi không có địa chỉ liên lạc với bộ nhớ, nó dùng một thanh ghi trong nhóm
làm thành địa chỉ, thanh ghi này chứa chỉ số của thanh ghi trong nhóm cần truy nhập và một thanh ghi
dữ liệu. Các thanh ghi của nhóm cho trong bảng sau:
Tên thanh ghi Chỉ số thanh ghi Địa chỉ ghi vào Địa chỉ đọc ra
address 3C4 3C4
Reset 0 3C5 3C5
Clock mode 1 3C5 3C5
Map mask 2 3C5 3C5
Character Map Mask 3 3C5 3C5

overflow 7 nt nt
preset row scan 8 nt nt
max scan line 9 nt nt
cursor start A nt nt
cursor end B nt nt
Start address high C nt nt
Start address low D nt nt
Cursor location hight E nt nt
Cursor location low F nt nt
Vertical Retrace start 10 nt nt
Vertical Retrace low 11 nt nt
Vertical Display end 12 nt nt
offset 13 nt nt
Underline location 14 nt nt
Start Vertical Blank 15 nt nt
End Vertical Blank 16 nt nt
Mode control 17 nt nt
Line compare 18 nt nt
1.4.5.4 Nhóm 4 (Graphics Controller Registers)
Nhóm này gồm 9 thanh ghi các thanh ghi trong nhóm được truy cập thông qua thanh ghi địa chỉ và
thanh ghi dữ liệu
Tên gọi thanh ghi Chỉ số Địa chỉ ghi Địa chỉ đọc
Graphics address 3CE 3CE
Set/Reset 0 3cf 3cf
Enable Set/Reset 1 3cf 3cf
Color Compare 2 3cf 3cf
data Rotate 3 3cf 3cf
Read Map 4 3cf 3cf
Mode 5 3cf 3cf
Miscelaneous 6 3cf 3cf

0 0 0%
0 1 33%
1 0 66%
1 1 100%
1.4.6 Các phương pháp truy nhập tới màn hình máy tính.
1.4.6.1 Phương pháp 1: Thông qua các thủ tục DOS.
Đặc điểm: Chậm và không giúp hiểu được bản chất đồ hoạ.
1.4.6.2 Phương pháp 2: Thông qua các thủ tục của BIOS (Basic Input Output System).
Đặc điểm: Nhanh, đặc biệt làm với các máy AT và PS/2 với những mảng đồ hoạ không lớn.
Ví dụ: dùng thủ tục của BIOS để hiển thị một điểm trong Pascal, ta dùng hàm $0C ngắt $10:
Procedure PutPixel(Col,Row:Word; Color:Byte);
Var reg:Registers;
Begin
reg.ah:=$0C;
reg.al:=Color;
reg.bh:=0;
reg.cx:=Col;
reg.dx:=Row;
Intr($10,reg);
End;
1.4.6.3 Phương pháp 3: Truy nhập trực tiếp vùng nhớ màn hình.
Đặc điểm: Nhanh, giúp hiểu rõ bản chất đồ hoạ, song phụ thuộc vào thiết bị (khi thay đổi thiết bị
phải thay đổi đôi chỗ trong chương trình).
Ví dụ: Giả sử một điểm (x,y) được vẽ trên màn hình với độ phân giải 320x200x256 (mode 13h),
điểm đó sẽ được định vị trong vùng đệm bắt đầu từ địa chỉ segment A000h và địa chỉ offset được tính
theo công thức: Offset = y*320 + x.
Ta có thể viết thủ tục trong Pascal như sau:
Trang 25
Đại học Hải Phòng. Giảng viên: Lê Đắc Nhường Giáo trình Đồ họa máy tính


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status