Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
0,94 MB
Nội dung
Bài giảng Đồ họa ĐỒ HỌA MÁY TÍNH Tổng quan đồ họa máy tính Khái niệm • Đồ họa máy tính hiểu tất liên quan đến việc tạo ảnh (image) máy tính Chúng bao gồm : tạo, lưu trữ, thao tác mô hình (model) ảnh • Thuật ngữ đồ họa máy tính (computer graphics) William Fetter đặt năm 1960 để mô tả cách thiết kế làm việc hãng Boeing • Với cách này, tạo nhiều ảnh sử dụng lại để dễ dàng thiết kế buồng lái phi công theo ý muốn Dương Anh Đức, Lê Đình Duy Tổng quan Đồ họa máy tính 1/14 ĐỒ HỌA MÁY TÍNH Một số ứng dụng đồ họa máy tính • Hỗ trợ thiết kế (CAD - Computer Aided Design) Gồm hai bước ♦ Phác thảo phần khung(wireframe outline) mà từ thấy toàn hình dạng thành phần bên đối tượng Sử dụng kó thuật này, người thiết kế dễ dàng nhận thấy thay đổi đối tượng tiến hành hiệu chỉnh chi tiết hay thay đổi góc nhìn, … ♦ Kết hợp mô hình chiếu sáng, tô màu tạo bóng bề mặt để tạo kết cuối gần với giới thực Dương Anh Đức, Lê Đình Duy Tổng quan Đồ họa máy tính 2/14 ĐỒ HỌA MÁY TÍNH • Visualization ♦ Dùng phát sinh biểu đồ, đồ thò, … việc minh họa mối quan hệ nhiều đối tượng với ♦ 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 việc nghiên cứu, quản lí, … cách có hiệu Dương Anh Đức, Lê Đình Duy Tổng quan Đồ họa máy tính 3/14 ĐỒ HỌA MÁY TÍNH • Giải trí • Tạo giao diện Dương Anh Đức, Lê Đình Duy Tổng quan Đồ họa máy tính 4/14 ĐỒ HỌA MÁY TÍNH Tổng quan hệ đồ họa • Các thành phần phần cứng ♦ Thiết bò hiển thò : hình, máy in, … ♦ Thiết bò nhập : bàn phím, chuột, … • Các công cụ phần mềm ♦ Công cụ ứng dụng (application package) : Được thiết kế cho người sử dụng để tạo hình ảnh mà không cần quan tâm tới thao tác bên hoạt động Ví dụ : AutoCAD, Adobe Photoshop, 3D Studio, … ♦ Công cụ lập trình (programming package) : Cung cấp tập hàm đồ họa dùng ngôn ngữ lập trình cấp cao C, Pascal, … Ví dụ : GRAPH.TPU, GRAPHICS.LIB, Open GL, … • Các chuẩn phần mềm ♦ Ra đời để đáp ứng tính tương thích : Nếu phần mềm thiết kế với hàm đồ họa chuẩn chúng dùng cho nhiều hệ phần cứng môi trường làm việc khác ♦ GKS (Graphics Kernel System) chuẩn đời cho việc phát triển phần mềm đồ họa Ban đầu GKS thiết kế dùng cho tập công cụ đồ họa hai chiều, sau mở rộng cho đồ họa ba chiều ♦ Các hàm GKS thực mô tả trừu tượng, độc lập với ngôn ngữ lập trình Để cài đặt chuẩn đồ họa cho ngôn ngữ cụ thể nào, cú pháp tương ứng xác đònh cụ thể hóa Dương Anh Đức, Lê Đình Duy Tổng quan Đồ họa máy tính 5/14 ĐỒ HỌA MÁY TÍNH • Các thành phần công cụ lập trình ♦ Tập công cụ tạo đối tượng đồ họa sở điểm, đoạn thẳng, đường cong, vùng tô, kí tự, … ♦ Tập công cụ thay đổi thuộc tính đối tượng sở kể màu sắc, kiểu đường, kiểu chữ, mẫu tô… ♦ Tập công cụ thực phép biến đổi hình học dùng để thay đổi kích thước, vò trí, hướng, … ♦ Tập công cụ biến đổi hệ quan sát dùng để xác đònh vò trí quan sát đối tượng vò trí thiết bò hiển thò đối tượng ♦ Tập công cụ nhập liệu : ứng dụng đồ họa sử dụng nhiều loại thiết bò nhập khác chuột, bàn phím, bút vẽ, bảng, … để điều khiển xử lí dòng liệu nhập ♦ Tập công cụ chứa thao tác dùng cho quản lí điều khiển khởi tạo đóng chế độ đồ họa, xóa toàn hình, … Dương Anh Đức, Lê Đình Duy Tổng quan Đồ họa máy tính 6/14 ĐỒ HỌA MÁY TÍNH Hai mô hình ứng dụng đồ họa • ng dụng đồ họa dựa mẫu số hóa (sampledbased graphics) ♦ Các pixel (điểm ảnh) tạo thao tác số hóa ảnh cách sử dụng chương trình vẽ dựa mẫu số hóa hay máy quét ♦ Các ứng dụng thuộc dạng gồm : PaintBrush, Adobe Photoshop, … • ng dụng đồ họa dựa đặc trưng hình học (geometry-based graphics) ♦ Dùng đặc trưng hình học thuộc tính để mô tả đối tượng Sau đối tượng số hóa để phục vụ cho hiển thò ♦ Các ứng dụng thuộc dạng : Adobe Illustrator, AutoCAD, … Dương Anh Đức, Lê Đình Duy Tổng quan Đồ họa máy tính 7/14 ĐỒ HỌA MÁY TÍNH ng dụng đồ họa dựa mẫu số hóa • Các đối tượng đồ họa tạo lưới pixel rời rạc • Các pixel có mô tả tọa độ để xác đònh vò trí giá trò mẫu (sample values), thông thường độ sáng hay màu sắc • Các pixel tạo chương trình vẽ, máy quét, … • Khi ảnh xác đònh tập pixel, chúng có thao tác : ♦ Biên tập ảnh (image editting) : cắt, dán vùng ảnh, sử dụng công cụ tô màu để hiệu chỉnh, … ♦ Xử lí ảnh (image processing) : sử dụng thuật toán để thay đổi ảnh mà can thiệp người dùng, bao gồm : làm nhòe ảnh (blurring), làm nét ảnh (sharpening), dò đường biên (edge-detection), cân chỉnh màu sắc, • Một số thuận lợi ♦ Dễ dàng thay đổi ảnh cách thay đổi màu sắc hay vò trí pixel, ví dụ lấy ảnh âm bản, … ♦ Có thể di chuyển vùng ảnh từ nơi sang nơi khác dễ dàng • Một số bất lợi ♦ Không thể xem xét đối tượng từ góc nhìn khác ♦ Hiệu chỉnh thuộc tính hình học, kích thước phức tạp Dương Anh Đức, Lê Đình Duy Tổng quan Đồ họa máy tính 8/14 ĐỒ HỌA MÁY TÍNH ng dụng đồ họa dựa đặc trưng hình học • Các đối tượng đồ họa sở đoạn thẳng, đa giác, … lưu trữ mô hình (model) thuộc tính (attribute) chúng ♦ Các mô hình thực chất mô tả toán học, ví dụ đoạn thẳng mô hình hai điểm đầu, cuối, … ♦ Các thuộc tính dùng để mô tả cách mà đối tượng hiển thò ví dụ màu sắc, độ dày, • Các ảnh tạo tập pixel thông qua việc số hóa đặc trưng hình học phục vụ cho yêu cầu hiển thò Các ảnh khác tùy vào yêu cầu hiển thò khác nhau, xuất phát từ mô hình • Người dùng không thao tác trực tiếp với pixel ứng dụng dạng mà thao tác thành phần hình học đối tượng, sau số hóa lại hiển thò Dương Anh Đức, Lê Đình Duy Tổng quan Đồ họa máy tính 9/14 ĐỒ HỌA MÁY TÍNH Thuật toán Bresenham (xi+1, y) yi+1 P d2 y d1 yi S xi xi+1 • Gọi (x i + 1, y) điểm thuộc đoạn thẳng Ta có: y = m(x i + 1) + b d1 = y − y i • Đặt d = ( y + 1) − y i • Xét tất vò trí tương đối y so với yi y i + , việc chọn điểm ( xi +1 , yi+1 ) S hay P phụ thuộc vào việc so sánh d1 d2 hay dấu d1 − d2 : ♦ Nếu d1 − d2 < , ta chọn điểm S, tức yi +1 = y i ♦ Ngược lại, d1 − d2 ≥ , ta chọn điểm P, tức yi+1 = yi + • Xét pi = Dx(d1 − d2 ) = Dx(2 y − yi − 1) ⇒ p i = Dx[2(m(x i + 1) + b) − y i − 1] Dương Anh Đức, Lê Đình Duy Các thuật toán vẽ đường 6/22 ĐỒ HỌA MÁY TÍNH • Thay m= Dy Dx vào phương trình ta : pi = 2Dyxi − Dxyi + c , với c = Dy + (2b − 1)Dx • Nhận xét bước thứ i ta xác đònh dấu pi xem ta xác đònh điểm cần chọn bước (i+1) • Ta có : pi +1 − pi = (2 Dyxi+1 − Dxyi +1 + c) − (2 Dyxi − Dxyi + c) ⇔ pi +1 − pi = Dy(x i +1 − x i ) − Dx( yi +1 − yi ) ⇔ pi+1 − pi = Dy − Dx( yi+1 − yi ), xi+1 = xi + • Từ ta suy cách tính pi+1 từ pi sau : ♦ Nếu pi < pi+1 = pi + Dy ta chọn yi+1 = y i ♦ Ngược lại, pi ≥ , p i +1 = p i + Dy − Dx , ta chọn y i +1 = y i + • Giá trò p0 tính từ điểm vẽ (x , y0 ) theo công thức : p0 = 2Dyx0 − 2Dxy0 + c = 2Dyx0 − Dxy0 + 2Dy − (2b − 1)Dx • Do (x , y ) điểm nguyên thuộc đoạn thẳng Dy nên ta có y0 = mx0 + b = Dx x + b Thế vào trình ta suy : p0 = Dy − Dx Dương Anh Đức, Lê Đình Duy phương Các thuật toán vẽ đường 7/22 ĐỒ HỌA MÁY TÍNH Lưu đồ thuật toán Bresenham Begin p=2Dy-Dx; Const1=2Dy; Const2=2(Dy-Dx); x=x1; y=y1; putpixel(x, y, c); x[...]... − = F 1, R − = − R 2 4 2 Dương Anh Đức, Lê Đình Duy Các thuật toán vẽ đường 17/22 ĐỒ HỌA MÁY TÍNH Lưu đồ thuật toán MidPoint vẽ đường tròn Begin p=5/4-R; x=0; y=R; Put8Pixel(x, y, c); x ... hiệu Dương Anh Đức, Lê Đình Duy Tổng quan Đồ họa máy tính 3/14 ĐỒ HỌA MÁY TÍNH • Giải trí • Tạo giao diện Dương Anh Đức, Lê Đình Duy Tổng quan Đồ họa máy tính 4/14 ĐỒ HỌA MÁY TÍNH Tổng quan hệ đồ. .. khiển khởi tạo đóng chế độ đồ họa, xóa toàn hình, … Dương Anh Đức, Lê Đình Duy Tổng quan Đồ họa máy tính 6/14 ĐỒ HỌA MÁY TÍNH Hai mô hình ứng dụng đồ họa • ng dụng đồ họa dựa mẫu số hóa (sampledbased... chỉnh thuộc tính hình học, kích thước phức tạp Dương Anh Đức, Lê Đình Duy Tổng quan Đồ họa máy tính 8/14 ĐỒ HỌA MÁY TÍNH ng dụng đồ họa dựa đặc trưng hình học • Các đối tượng đồ họa sở đoạn thẳng,