HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KỸ THUẬT ĐỒ HỌA (Dùng cho sinh viên hệ đào tạo đại học từ xa) Lưu hành nội HÀ NỘI - 2006 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KỸ THUẬT ĐỒ HỌA Biên soạn : THS TRỊNH THỊ VÂN ANH Lời nói đầu LỜI NÓI ĐẦU Hiện đồ hoạ máy tính (Computer Graphics) chương trình thông dụng nhất, góp phần quan trọng làm cho giao tiếp người máy tính trở nên thân thiện Thật vậy, giao diện kiểu văn (text) thay hoàn toàn giao diện đồ hoạ, với công nghệ đa phương tiện (multimedia) đưa ngành Công Nghệ Thông Tin sang phiên Cuốn tài liệu giảng dạy này, muốn mang lại cho bạn đọc sở lý thuyết đồ hoạ máy tính từ đơn giản thuật toán vẽ đường thẳng, đường tròn, đa giác, ký tự Tiếp đến kỹ thuật xén tỉa, phép biến đổi đồ hoạ không gian 2D 3D Chúng ta làm quen với giới màu sắc thông qua hệ màu: RGB, CMYK, HSV Phức tạp phép chiếu, phương pháp xây dựng đường cong mặt cong cho đối tượng Tài liệu gồm bảy chương, chương giúp bạn có nhìn tổng quan kỹ thuật đồ hoạ từ trước đến định hướng tương lai cho lĩnh vực Các chương tiếp theo, chương vấn đề từ đơn giản đến phức tạp Cuối chương có phần tập cho kiểm tra lại kiến thức vừa đọc Bài tập gồm hai dạng: dạng tính toán dạng lập trình, dạng lập trình bạn viết C/C++ hay BC chí VB Cuối phần phụ lục gồm hướng dẫn để làm tập lập trình, ngôn ngữ hay dùng C/C++ hay BC Bố cục rõ ràng, hình ảnh phong phú, đa dạng Dù cho bạn chưa biết đồ hoạ máy tính hay bạn nhiều năm làm việc lĩnh vực này, bạn nhận thấy sách tham khảo đầy đủ thông tin hữu ích có tính chất thực tiễn cao Trong trình biên soạn cố gắng không tránh khỏi sai sót, mong nhận đóng góp chân thành từ quý bạn đọc Xin chân thành cám ơn Tác giả Chương 1: Tổng quan kỹ thuật đồ họa CHƯƠNG 1: TỔNG QUAN VỀ KỸ THUẬT ĐỒ HOẠ CÁC KHÁI NIỆM TỔNG QUAN CỦA KỸ THUẬT ĐỒ HOẠ MÁY TÍNH (COMPUTER GRAPHICS) 1.1 L ịch sử phát triển - Graphics năm 1950-1960 1959 Thiết bị đồ hoạ hình xuất Đức 1960 - SAGE (Semi-Automatic Ground Environment System) xuất bút sáng thao tác với hình 1960 William Fetter nhà khoa học người Mỹ, ông nghiên cứu xây dựng mô hình buồng lái máy bay cho hãng Boeing Mỹ Ông dựa hình ảnh chiều mô hình người phi công buồng lái máy bay để xây dựng nên mô hình tối ưu cho buồng lái máy bay Phương pháp cho phép nhà thiết kế quan sát cách trực quan vị trí người lái khoang Ông đặt tên cho phương pháp đồ hoạ máy tính (Computer Graphics) Màn hình thiết bị thông dụng hệ đồ hoạ, thao tác hầu hết hình dựa thiết kế ống tia âm cực CRT (Cathode ray tube) Khi giá để làm tươi hình cao, máy tính xử lý chậm, đắt không chắn (không đáng tin cậy) - Graphics: 1960-1970 1963 Ivan Sutherland (hội nghị Fall Joint Computer - lần có khả tạo mới, hiển thị thay đổi thực thời gian thực CRT) Hệ thống dùng để thiết kế mạch điện: CRT, LightPen (bút sáng), computer (chứa chương trình xử lý thông tin) Người sử dụng vẽ mạch điện trực tiếp lên hình thông qua bút sáng - Graphics:1970-1980 Raster Graphics (đồ hoạ điểm) Bắt đầu chuẩn đồ hoạ ví dụ như: GKS(Graphics Kernel System): European effort (kết châu âu), Becomes ISO 2D standard - Graphics: 1980-1990 Mục đích đặc biệt phần cứng, thiết bị hình học đồ hoạ Silicon Xuất chuẩn công nghiệp: PHIGS (Programmers Hierarchical Interactive Graphics Standard) xác định phương pháp chuẩn cho mô hình thời gian thực lập trình hướng đối tượng Giao diện người máy Human-Computer Interface (HCI) - Computer Graphics: 1990-2000 OpenGL API (Application Program Interface – giao diện chương trình ứng dụng) Completely computer-sinh ngành điện ảnh phim truyện (Toy Story) thành công Các tiềm tàng phần cứng mới: Texture mapping (dán ảnh cảnh thật lên bề mặt đối tượng),blending (trộn màu)… - Computer Graphics: 2000- Chương 1: Tổng quan kỹ thuật đồ họa Ảnh thực.các cạc đồ hoạ cho máy tính (Graphics cards for PCs), game boxes and game players Công nghiệp phim ảnh nhờ vào đồ hoạ máy tính (Computer graphics becoming routine in movie industry): Maya (thế giới vật chất tri giác được)… 1.2 Kỹ thuật đồ họa vi tính Definition (ISO): Phương pháp công nghệ chuyển đổi liệu từ thiết bị đồ hoạ sang máy tính Computer Graphics phương tiện đa mạnh giao tiếp người máy tính Computer Graphics (Kỹ thuật đồ hoạ máy tính) lĩnh vực Công nghệ thông tin mà nghiên cứu, xây dựng tập hợp công cụ (mô hình lý thuyết phần mềm) khác để: kiến tạo, xây dựng, lưu trữ, xử lý Các mô hình (model) hình ảnh (image) đối tượng Các mô hình (model) hình ảnh kết thu từ lĩnh vực khác nhiều ngành khoa học (vật lý, toán học, thiên văn học…) Computer graphics xử lý tất vấn đề tạo ảnh nhờ máy tính CÁC KỸ THUẬT ĐỒ HOẠ 2.1 Kỹ thuật đồ hoạ điểm (Sample based-Graphics) - Các mô hình, hình ảnh đối tượng hiển thị thông qua pixel (từng mẫu rời rạc) - Đặc điểm: Có thể thay đổi thuộc tính + Xoá pixel mô hình hình ảnh đối tượng + Các mô hình hình ảnh hiển thị lưới điểm (grid) pixel rời rạc, + Từng pixel có vị trí xác định, hiển thị với giá trị rời rạc (số nguyên) thông số hiển thị (màu sắc độ sáng) + Tập hợp tất pixel grid cho mô hình, hình ảnh đối tượng mà muốn hiển thị Hình 1.1 Ảnh đồ hoạ điểm Chương 1: Tổng quan kỹ thuật đồ họa Bitmap Pascal C program SRP library graphics algorithms colour positions X Window System Graphics hardware Image image formats, compression, transfer Hình 1.2 Kỹ thuật đồ hoạ điểm Phương pháp để tạo pixel - Phương pháp dùng phần mềm để vẽ trực tiếp pixel - Dựa lý thuyết mô (lý thuyết Fractal, v.v) để xây dựng nên hình ảnh mô vật - Phương pháp rời rạc hoá (số hoá) hình ảnh thực đối tượng - Có thể sửa đổi (image editing) xử lý (image processing) mảng pixel thu theo phương pháp khác để thu hình ảnh đặc trưng đối tượng 2.2 Kỹ thuật đồ hoạ vector Mô hình đồ họa Các tham số tô trát Tô trát Thiết bị Hình 1.3 Mô hình đồ hoạ vector - Mô hình hình học (geometrical model) cho mô hình hình ảnh đối tượng - Xác định thuộc tính mô hình hình học này, Chương 1: Tổng quan kỹ thuật đồ họa - Quá trình tô trát (rendering) để hiển thị điểm mô hình, hình ảnh thực đối tượng Có thể định nghĩa đồ hoạ vector: Đồ hoạ vector = geometrical model + rendering So sánh Raster Vector Graphics Đồ hoạ điểm(Raster Graphics) Đồ hoạ vector(Vector Graphics) - Hình ảnh mô hình vật thể - Không thay đổi thuộc tính biểu diễn tập hợp điểm lưới điểm trực tiếp (grid) - Xử lý với thành phần hình học - Thay đổi thuộc tính pixel => sở thực trình tô trát hiển thị lại thay đổi phần vùng hình ảnh - Quan sát hình ảnh mô hình hình - Copy pixel từ hình ảnh ảnh vật nhiều góc độ khác sang hình ảnh khác cách thay đổi điểm nhìn góc nhìn Ví dụ hình ảnh đồ hoạ Vector Wireframe Skin Skeletal Hair Muscle Model Render and Touch Hình 1.4 Ví dụ đồ hoạ vector Chương 1: Tổng quan kỹ thuật đồ họa 2.3 Phân loại đồ hoạ máy tính Phân loại theo lĩnh vực đồ hoạ máy tính CAD/CAM System Kiến tạo đồ hoạ Đồ hoạ minh hoạ Đồ hoạ hoạt hình nghệ thuật Kỹ thuật đồ hoạ Xử lý ảnh Xử lý đồ hoạ Kỹ thuật nhận dạng Kỹ thuật phân tích tạo ảnh Phân loại theo hệ toạ độ Kỹ thuật đồ hoạ chiều Kỹ thuật đồ hoạ Kỹ thuật đồ hoạ chiều - Kỹ thuật đồ hoạ hai chiều: kỹ thuật đồ hoạ máy tính sử dụng hệ toạ độ hai chiều (hệ toạ độ phẳng), sử dụng nhiều kỹ thuật xử lý đồ, đồ thị - Kỹ thuật đồ hoạ ba chiều: kỹ thuật đồ hoạ máy tính sử dụng hệ toạ độ ba chiều, đòi hỏi nhiều tính toán phức tạp nhiều so với kỹ thuật đồ hoạ hai chiều Các lĩnh vực đồ hoạ máy tính: - Kỹ thuật xử lý ảnh (Computer Imaging): sau trình xử lý ảnh cho ta ảnh số đối tượng Trong trình xử lý ảnh sử dụng nhiều kỹ thuật phức tạp: kỹ thuật khôi phục ảnh, kỹ thuật làm ảnh, kỹ thuật xác định biên ảnh - Kỹ thuật nhận dạng (Pattern Recognition): từ ảnh mẫu có sẵn ta phân loại theo cấu trúc, theo tiêu trí xác định từ trước thuật toán chọn lọc để phân tích hay tổng hợp ảnh cho thành tập hợp ảnh gốc, ảnh gốc lưu thư viện vào thư viện ta xây dựng thuật giải phân tích tổ hợp ảnh - Kỹ thuật tổng hợp ảnh (Image Synthesis): lĩnh vực xây dựng mô hình hình ảnh vật thể dựa đối tượng mối quan hệ chúng - Các hệ CAD/CAM (Computer Aided Design/Computer Aided Manufacture System): kỹ thuật đồ hoạ tập hợp công cụ, kỹ thuật trợ giúp cho thiết kế chi tiết hệ thống khác nhau: hệ thống cơ, hệ thống điện, hệ thống điện tử… - Đồ hoạ minh hoạ (Presentation Graphics): gồm công cụ giúp hiển thị số liệu thí nghiệm cách trực quan, dựa mẫu đồ thị thuật toán có sẵn Chương 1: Tổng quan kỹ thuật đồ họa - Đồ hoạ hoạt hình nghệ thuật: bao gồm công cụ giúp cho hoạ sĩ, nhà thiết kế phim hoạt hình chuyên nghiệp làm kỹ xảo hoạt hình, vẽ tranh Ví dụ: phần mềm 3D Studio, 3D Animation, 3D Studio Max 2.4 Các ứng dụng tiêu biểu kỹ thuật đồ họa Đồ hoạ máy tính lĩnh vực lý thú phát triển nhanh tin học Ngay từ xuất có sức lôi mãnh liệt, hút nhiều người nhiều lĩnh vực khác khoa học, nghệ thuật, kinh doanh, quản lý Tính hấp dẫn minh hoạ trực quan thông qua ứng dụng - Xây dựng giao diện người dùng (User Interface) Giao diện đồ hoạ thực cách mạng mang lại thuận tiện thoải mái cho người dùng ứng dụng Giao diện WYSIWYG WIMP đa số người dùng ưu thích nhờ tính thân thiện, dễ sử dụng - Tạo biểu đồ thương mại, khoa học, kỹ thuật Các ứng dụng thường dùng để tóm lược liệu tài chính, thống kê, kinh tế, khoa học, toán học giúp cho nghiên cứu, quản lý cách có hiệu - Tự động hoá văn phòng chế điện tử - Thiết kế với trợ giúp máy tính (CAD_CAM) - Lĩnh vực giải trí, nghệ thuật mô - Điều khiển trình sản xuất (Process Control) - Lĩnh vực đồ (Cartography) - Giáo dục đào tạo Một số ví dụ ứng dụng kỹ thuật đồ hoạ: Chương 1: Tổng quan kỹ thuật đồ họa Hình 1.5 Các ứng dụng kỹ thuật đồ hoạ Hình 1.6 Hệ ứng dụng CAD - CAM 10 ... Kỹ thuật đồ hoạ chiều Kỹ thuật đồ hoạ Kỹ thuật đồ hoạ chiều - Kỹ thuật đồ hoạ hai chiều: kỹ thuật đồ hoạ máy tính sử dụng hệ toạ độ hai chiều (hệ toạ độ phẳng), sử dụng nhiều kỹ thuật xử lý đồ, ... loại theo lĩnh vực đồ hoạ máy tính CAD/CAM System Kiến tạo đồ hoạ Đồ hoạ minh hoạ Đồ hoạ hoạt hình nghệ thuật Kỹ thuật đồ hoạ Xử lý ảnh Xử lý đồ hoạ Kỹ thuật nhận dạng Kỹ thuật phân tích tạo... xử lý đồ, đồ thị - Kỹ thuật đồ hoạ ba chiều: kỹ thuật đồ hoạ máy tính sử dụng hệ toạ độ ba chiều, đòi hỏi nhiều tính toán phức tạp nhiều so với kỹ thuật đồ hoạ hai chiều Các lĩnh vực đồ hoạ máy