Đồ họa máy tính


Mô hình 3D với DirectX 9.0: Ấm trà Utah

Đồ họa máy tính (tiếng Anh: computer graphics) là một lĩnh vực của khoa học máy tính nghiên cứu về cơ sở toán học, các thuật toán cũng như các kĩ thuật để cho phép tạo, hiển thị và điều khiển hình ảnh trên màn hình máy tính. Đồ họa máy tính có liên quan ít nhiều đến một số lĩnh vực như đại số, hình học giải tích, hình học họa hình, quang học,... và kĩ thuật máy tính, đặc biệt là chế tạo phần cứng (các loại màn hình, các thiết bị xuất, nhập, các vỉ mạch đồ họa,...).

Theo nghĩa rộng hơn, đồ họa máy tính là phương pháp và công nghệ dùng trong việc chuyển đổi qua lại giữa dữ liệu và hình ảnh trên màn hình bằng máy tính. Đồ họa máy tính hay kĩ thuật đồ họa máy tính còn được hiểu dưới dạng phương pháp và kĩ thuật tạo hình ảnh từ các mô hình toán học mô tả các đối tượng hay dữ liệu lấy được từ các đối tượng trong thực tế. Thuật ngữ "đồ họa máy tính" được đề xuất bởi một chuyên gia người Mỹ tên là William Fetter vào năm 1960. Khi đó ông đang nghiên cứu xây dựng mô hình buồng lái máy bay cho hãng Boeing. William Fetter đã dựa trên các hình ảnh 3 chiều của mô hình người phi công trong buồng lái để xây dựng nên mô hình buồng lái tối ưu cho máy bay Boeing. Đây là phương pháp nghiên cứu rất mới vào thời kì đó. Phương pháp này cho phép các nhà thiết kế quan sát một cách trực quan vị trí của người lái trong khoang buồng lái. William Fetter đã đặt tên cho phương pháp của mình là "đồ họa máy tính."

Lịch sử

Lịch sử của đồ họa máy tính vào thập niên 1960 còn được đánh dấu bởi dự án SketchPad được phát triển tại Học viện Công nghệ Massachusetts (MIT) bởi Ivan Sutherland. Các thành tựu thu được đã được báo cáo tại hội nghị Fall Joint Computer và đây cũng chính là sự kiện lần đầu tiên người ta có thể tạo mới, hiển thị và thay đổi được dữ liệu hình ảnh trực tiếp trên màn hình máy tính trong thời gian thực. Hệ thống Sketchpad này được dùng để thiết kế hệ thống mạch điện và bao gồm những thành phần sau:

  1. CRT màn hình
  2. Bút sáng và một bàn phím bao gồm các phím chức năng
  3. Máy tính chứa chương trình xử lý các thông tin

Với hệ thống này, người sử dụng có thể vẽ trực tiếp các sơ đồ mạch điện lên màn hình thông qua bút sáng, chương trình sẽ phân tích và tính toán các thông số cần thiết của mạch điện do người dùng vẽ nên.

Kỹ thuật đồ họa được liên tục hoàn thiện vào thập niên 1970 với sự xuất hiện của các chuẩn đồ họa làm tăng cường khả năng giao tiếp và tái sử dụng của phần mềm cũng như các thư viện đồ họa.

Sự phát triển vượt bậc của công nghệ vi điện tử và phần cứng máy tính vào thập niên 1980 làm xuất hiện hàng loạt các vỉ mạch hỗ trợ cho việc truy xuất đồ họa đi cùng với sự giảm giá đáng kể của máy tính cá nhân làm đồ họa ngày càng đi sâu vào cuộc sống thực tế.

Kỹ Thuật Trong Đồ Họa Máy Tính

Có rất nhiều kỹ thuật hiển thị hình ảnh được áp dụng trong ngành đồ họa máy tính, mỗi kỹ thuật lại có tuổi đời và những ưu, nhược điểm khác nhau. Dưới đây là 3 kỹ thuật hiển thị hình ảnh của đồ họa máy tính phổ biến nhất:

Đồ họa raster

Khái niệm thiết kế đồ họa raster (đồ họa hoặc hình ảnh Bitmap) là một trong những kỹ thuật hiển thị hình ảnh lâu đời và phố biến nhất với nền tảng kỹ thuật lấy từ công nghệ màn hình tivi đã tồn tại rất lâu trước khi máy tính điện tử ra đời. Với kỹ thuật này, tất cả các hình ảnh đều được làm nên từ các ô vuông có màu nhỏ li ti được gọi là pixel (phần tử ảnh).

Tùy thuộc vào độ phân giải, một hình ảnh có thể chứa hàng nghìn đến hàng triệu pixel, giống như một bức tường được xây lên từ nhiều viên gạch vậy. Ưu điểm lớn nhất của kỹ thuật raster là các hình ảnh raster có thể hiển thị các chi tiết rõ ràng, đẹp với màu sắc đa dạng, hài hòa. Tuy nhiên, hình ảnh raster có thể sẽ bị “vỡ” hoặc mờ nếu phóng to hoặc bị nén quá nhiều. Dung lượng các file ảnh raster cũng khá lớn nếu có độ phân giải cao.

Đồ họa vector

Đồ họa vector là kỹ thuật tạo dựng hình ảnh bằng các đường kẻ quy định bởi các công thức toán học lần đầu tiên được sử dụng cho màn hình máy tính trong những năm 60 và 70 của thế kỉ 20. Tuy không phổ biến bằng kỹ thuật đồ họa raster và đã từng có một thời gian gần như bị “xóa sổ” bởi raster, đồ họa vector đang được ưa chuộng trở lại.

Nhờ vào những ưu điểm như các hình ảnh vector đơn giản, dễ dàng phóng to mà không bị giảm chất lượng, có dung lượng nhỏ hơn so với raster, dễ chỉnh sửa, rất thích hợp với việc thiết kế các loại đồ họa ít màu sắc, đơn giản như logo, icon hay biểu tượng.

Đồ họa 3D

Đồ họa 3D là kỹ thuật đồ họa đang được tập trung phát triển nhất trong thời điểm hiện tại, với sự quan tâm và tiềm năng của các ứng dụng như không gian ảo hay hình chiếu ba chiều. Nhà thiết kế đồ họa phải thực hiện rất nhiều bước khác nhau và áp dụng nhiều kỹ thuật tạo dựng hình ảnh phức tạp để có được một đôí tượng hình ảnh 3D đúng nghĩa.

Trước hết, khung cơ bản (wire-frame) của vật thể phải được dựng trong một phần mềm đồ họa máy tính, sau đó các phần của vật thể sẽ được thêm vào và nối với nhau (rigged) để tạo sự liên kết chân thực, đặc biệt là với các vật thể có khả năng chuyển động. Sau đó vật thể phải được render.

Đây là bước mất thời gian và phức tạp nhất vì một vật thể 3D có nhiều bề mặt khác nhau với các chất liệu khác nhau, độ trong suốt hay mờ đục, màu sắc, mức độ bắt sáng hay phản sáng khác nhau. Để tạo được một vật thể 3D thật nhất có thể, nhiều kỹ thuật toán học được áp dụng để tính toán và mô phỏng cách ánh sáng chiếu và phản chiếu vào các loại mặt phẳng khác nhau như ray tracing hay radiosity,…

Các hệ màu thông dụng

Hệ màu RGB

Hệ màu RGB mô tả màu sắc bằng ba thành phần Red, Green, Blue trong một mô hình gọi là "không gian màu". 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.

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 (0,0,0) và (1,1,1) 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.

Thuận lợi

- 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.

Bất lợi

- Các giá trị R,G,B 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ị R,G,B của một màu 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.

Hệ màu CMYK (hệ màu trừ)

Hệ màu CMYK tái tạo màu bằng mực, dùng trong in ấn, in offset, in phun màu. Gồm 3 màu mực cơ bản:

  • Cyan (C)
  • Magenta (M)
  • Yellow (y)

Ba màu này tổng hợp lại ra màu đen (Black). Nhưng màu đen này in ra không đen hoàn toàn nên thường người ta bổ sung thêm hộp mực màu đen trong máy in. Đây là mực màu, không phải là mực in trắng đen.

Hệ màu HSB (hệ tổng hợp)

Hệ HSB gồm 3 thành phần cơ bản của màu sắc:

  • Hue (H): sắc màu (0-360)
  • Saturation (S): độ no màu (0-100%)
  • Brightness (B): độ sáng tối (0-100%)

Hệ màu Lab (hệ tổng hợp)

Hệ màu Lab tái tạo màu trong công nghệ thăng hoa màu của ảnh kỹ thuật số. Công nghệ này thường không có mực in mà giấy đóng vai trò quang phổ tạo sắc lên có ngưỡng rất cao và dải màu phong phú.

Hệ Lab gồm 3 thành phần:

  • L (light): ánh sáng (trắng - đen, 0-100%)
  • a: từ xanh lá đến đỏ (-127 đến 128)
  • b: từ xanh dương đến vàng (-127 đến 128)

Giải thuật xây dựng các thực thể cơ sở

Giải thuật DDA (Digital Differential Analyzer)

Xét đoạn thẳng có hệ số góc 0<m<1 và Δx>0. Giả sử ta đã xác định được điểm thứ i có tọa độ (xi, yi) cần được bật sáng.

Các phép biến đổi Affine cơ sở trên mặt phẳng

Các ứng dụng của đồ họa máy tính

Đồ họa máy tính có rất nhiều ứng dụng trong máy tính vì ước tính đến 80% thông tin xử lý là hình ảnh. Một số ứng dụng tiêu biểu của đồ họa máy tính như là:

  • Tạo mô hình, hoạt cảnh (game, giải trí,...)
  • Hỗ trợ thiết kế đồ họa
  • Mô phỏng hình ảnh, chẩn đoán hình ảnh (trong y tế)
  • Huấn luyện đào tạo ảo (quân sự, hàng không,...)
  • Thiết kế thương hiệu

Tham khảo

Liên kết ngoài

  • Diễn đàn Hiệp hội đồ họa vi tính Việt Nam Lưu trữ 2017-11-24 tại Wayback Machine
  • Tạp chí đồ họa máy tính Việt Nam CGEZINE Lưu trữ 2011-02-02 tại Wayback Machine (The Computer Graphics E-magazine)
  • Web thiết kế đồ họa (tiếng Anh)
  • Blog thiết kế đồ họa (tiếng Anh)
  • Trang web của chuyên gia đồ họa vi tính Kagaya Yutaka (tiếng Nhật)
Bài viết này vẫn còn sơ khai. Bạn có thể giúp Wikipedia mở rộng nội dung để bài được hoàn chỉnh hơn.
  • x
  • t
  • s
  • x
  • t
  • s
Những lĩnh vực chính của khoa học máy tính
Các nền tảng toán học
Lý thuyết phép tính
Độ phức tạp Kolmogorov · Lý thuyết Automat · Lý thuyết tính được · Lý thuyết độ phức tạp tính toán · Lý thuyết điện toán lượng tử
Các cấu trúc dữ liệu
các giải thuật
Phân tích giải thuật · Thiết kế giải thuật · Hình học tính toán · Tối ưu hóa tổ hợp
Các ngôn ngữ lập trình
Các trình biên dịch
Tính song hành,
Song song,
và các hệ thống phân tán
Công nghệ phần mềm
Phân tích yêu cầu · Thiết kế phần mềm · Các phương pháp hình thức · Kiểm thử phần mềm · Quy trình phát triển phần mềm · Các phép đo phần mềm · Đặc tả chương trình · LISP · Mẫu thiết kế · Tối ưu hóa phần mềm
Kiến trúc hệ thống
Kiến trúc máy tính · Tổ chức máy tính · Các hệ điều hành · Các cấu trúc điều khiển · Cấu trúc bộ nhớ lưu trữ · Vi mạch · Thiết kế ASIC · Vi lập trình · Vào/ra dữ liệu · VLSI design · Xử lý tín hiệu số
Viễn thông
Mạng máy tính
Các cơ sở dữ liệu
Các hệ thống thông tin
Hệ quản trị cơ sở dữ liệu · Cơ sở dữ liệu quan hệ · SQL · Các giao dịch · Các chỉ số cơ sở dữ liệu · Khai phá dữ liệu · Biểu diễn và giao diện thông tin · Các hệ thống thông tin · Khôi phục dữ liệu · Lưu trữ thông tin · Lý thuyết thông tin · Mã hóa dữ liệu · Nén dữ liệu · Thu thập thông tin
Trí tuệ nhân tạo
Lập luận tự động · Ngôn ngữ học tính toán · Thị giác máy tính · Tính toán tiến hóa · Các hệ chuyên gia  · Học máy · Xử lý ngôn ngữ tự nhiên · Robot học
Đồ họa máy tính
Trực quan hóa · Hoạt họa máy tính · Xử lý ảnh
Giao diện người-máy tính
Khả năng truy cập máy tính · Giao diện người dùng · Điện toán mang được · Điện toán khắp mọi nơi · Thực tế ảo
Khoa học tính toán
Cuộc sống nhân tạo · Tin sinh học · Khoa học nhận thức · Hóa học tính toán · Khoa học thần kinh tính toán · Vật Lý học tính toán · Các giải thuật số · Toán học kí hiệu
Chú ý: khoa học máy tính còn có thể được chia thành nhiều chủ đề hay nhiều lĩnh vực khác dựa theo Hệ thống xếp loại điện toán ACM.
  • x
  • t
  • s
Chuyên ngành chính của Tin học
Công nghệ thông tin
Hệ thống thông tin
Khoa học máy tính
Kỹ thuật máy tính
Kỹ nghệ phần mềm
Mạng máy tính
Tin học kinh tế
  • x
  • t
  • s
Giám đốc công nghệ thông tin · Tin học kinh tế · Quản lý công nghệ thông tin
Quản lý
Quản lý mạng
Quản trị hệ thống
Hoạt động vận hành
  • Bảo trì thiết bị
  • Bảo vệ hệ thống
  • Đối phó sự cố
  • Kế hoạch dự phòng
Hoạt động kỹ thuật
  • Hỗ trợ kỹ thuật
  • Kiểm soát truy cập
  • Kiểm tra hệ thống
  • Xác thực người dùng
Hoạt động an toàn
  • An ninh nhân sự
  • An ninh hệ thống
  • Nhận thức an toàn
  • Rủi ro hệ thống
Quản lý hệ thống
  • Bàn dịch vụ
  • Quản lý cấu hình
  • Quản lý công suất
  • Quản lý dịch vụ
  • Quản lý hạ tầng
  • Quản lý khôi phục
  • Quản lý người dùng
  • Quản lý sự cố
  • Quản lý tính liên tục
  • Quản lý tính sẵn sàng
  • Tổ chức công việc
  • Tổ chức hỗ trợ
Kỹ năng lãnh đạo
  • Kỹ năng cộng tác nhóm
  • Kỹ năng đàm phán
  • Kỹ năng giải quyết vấn đề
  • Kỹ năng giao tiếp
  • Kỹ năng gọi thoại
  • Kỹ năng huấn luyện
  • Kỹ năng lắng nghe
  • Kỹ năng phân công ủy thác
  • Kỹ năng phỏng vấn tuyển dụng
  • Kỹ năng quản lý thời gian
  • Kỹ năng tạo động lực
  • Kỹ năng tư duy
  • Kỹ năng thiết kế quy trình
  • Kỹ năng thuyết trình
  • Kỹ năng viết tài liệu kỹ thuật
Ứng dụng
Các lĩnh vực liên quan
Quản trị kinh doanh