Giáo trình đồ họa vi tính

119 10 0
  • Loading ...
1/119 trang
Tải xuống

Thông tin tài liệu

Ngày đăng: 10/07/2018, 10:18

MỤC LỤC MỞ ĐẦU Chương GIỚI THIỆU VỀ ĐỒ HỌA MÁY TÍNH 1.1 Tổng quan đồ họa máy tính 1.2 Các thành phần hệ đồ họa máy tính 1.3 Hệ tọa độ giới thực, hệ tọa độ thiết bị hệ tọa độ chuẩn Chương CÁC THUẬT TOÁN VẼ ĐỐI TƯỢNG ĐỒ HỌA CƠ BẢN .11 2.1 Thuật toán vẽ đoạn thẳng 11 2.1.1 Thuật toán DDA (Digital DifferentialAnalyzer) 12 2.1.3 Thuật toán MidPoint 17 2.2 Thuật toán MidPoint vẽ đường tròn 23 2.3 Thuật toán MidPoint vẽ Ellipse 27 2.4 Đường cong tham số 31 2.4.1 Đường cong Bezier 31 2.4.1.1 Thuật toán de Casteljau 31 2.4.1.2 Thuật toán Horner 34 2.4.2 Đường cong B-Spline .37 Bài tập chương 42 Chương TÔ MÀU .44 3.1 Giới thiệu màu sắc 44 3.2 Tô màu đơn giản 44 3.3 Tơ màu theo dòng quét (ScanConvert) 48 3.4 Tô màu theo vết dầu loang (FloodFill) 52 Bài tập chương 54 Chương PHÉP BIẾN ĐỔI HAI CHIỀU 55 4.1 Nhắc lại phép toán sở với ma ma trận 55 4.2 Phép tịnh tiến 56 4.3 Phép biến đổi tỷ lệ 57 4.4 Phép quay .57 4.5 Phép đối xứng 60 4.6 Phép biến dạng 60 Giáo trình Đồ Họa Máy Tính 4.7 Phép biến đổi Affine ngược 61 4.8 Hệ tọa độ 62 4.9 Kết hợp phép biến đổi 63 Bài tập chương 64 Chương GIAO CÁC ĐỐI TƯỢNG ĐỒ HỌA 66 5.1 Mở đầu 66 5.2 Giao hai đoạn thẳng .67 5.3 Đoạn thẳng hình chữ nhật .68 5.3.1 Tìm giao cách giải hệ phương trình 69 5.3.2 Thuật toán chia nhị phân 69 5.3.3 Thuật toán Cohen-Sutherland 72 5.3.4 Thuật toán Liang-Barsky 74 5.4 Giao đoạn thẳng đa giác lồi .77 5.5 Giao hai đa giác .80 5.6 Kỹ thuật Ray tracing 85 Chương ĐỒ HỌA BA CHIỀU 91 6.1 Giới thiệu đồ họa chiều 91 6.2 Biểu diễn đối tượng chiều 92 6.3 Các phép biến đổi chiều 98 6.3.1 Hệ tọa độ bàn tay phải - bàn tay trái 98 6.3.2 Các phép biến đổi Affine sở 99 6.3.2.1 Phép quay quanh trục x 99 6.3.2.2 Phép quay quanh trục y 100 6.3.2.3 Phép quay quanh trục z 100 6.3.2.4 Phép quay quanh trục song song với trục tọa độ 101 6.3.2.5 Phép quay quanh trục 103 PHỤ LỤC: THƯ VIỆN ĐỒ HỌA OpenGL 107 TÀI LIỆU THAM KHẢO 120 Giáo trình Đồ Họa Máy Tính MỞ ĐẦU Đồ họa máy tính lĩnh vực hấp dẫn phát triển nhanh Công nghệ Thơng tin Nó đời kết hợp lĩnh vực thơng tin truyền hình, sử dụng rộng rãi hầu hết ứng dụng khoa học công nghệ, y học, giáo dục, kiến trúc, kể giải trí Ngày nay, nhờ vào tiến khoa học kỹ thuật nên phần cứng giá thành máy tính lúc phù hợp, kỹ thuật đồ họa ứng dụng thực tế nhiều nên ngày có nhiều người quan tâm nghiên cứu đến lĩnh vực Tuy nhiên, việc dạy học kỹ thuật đồ họa mày tính khơng đơn giản chủ đề có nhiều vần đề phức tạp, liên quan đến tin học toán học Hầu hết giải thuật vẽ, tơ màu phép biến hình xây dựng dựa tảng hình học khơng gian hai chiều ba chiều Giáo trình Đồ họa máy tính xây dựng dựa kinh nghiệm giảng dạy qua dựa tài liệu tham khảo : “Donald Hearn, M Pauline Baker; Computer Graphics; Prentice-Hall, Inc., Englewood Cliffs, New Jersey , 1986” Giáo trình Đồ họa máy tính mơn học giảng dạy cho sinh viên chuyên ngành Công nghệ Thông tin với 45 tiết lý thuyết 30 tiết thực tập Nội dung giáo trình gồm có vấn đề sau : • Trình bày thuật tốn vẽ tơ đường đường thẳng, đa giác, đường tròn, ellipse đường Bezier, B-Spline Các thuật toán giúp cho sinh viên tự thiết kế để vẽ tơ màu mơ hình đồ họa • Nội dung thứ hai đề cập đến phép biến đổi Affine, tìm giao đối tượng, tơ màu đồ họa hai chiều • Nội dung thứ ba trình bày quan sát, hiển thị biến đổi Affine không gian ba chiều Trong q trình biên soạn khơng tránh khỏi thiếu sót, tơi xin trân trọng nhận góp ý quý đồng nghiệp sinh viên để giáo trình ngày hồn thiện Giáo trình Đồ Họa Máy Tính Chương GIỚI THIỆU VỀ ĐỒ HỌA MÁY TÍNH Nội dung Tổng quan đồ họa máy tính Các ứng dụng đồ họa máy tính Các thành phần hệ đồ họa máy tính Hệ tọa độ thực hệ tọa độ đồ họa 1.1 Tổng quan đồ họa máy tính Đồ họa máy tính bao gồm tất liên quan đến việc sử dụng máy tính để phát sinh hình ảnh Các vấn đề liên quan đến công việc bao gồm: tạo, lưu trữ, thao tác mơ hình ảnh Ngày nay, hầu hết chương trình soạn thảo, bảng tính sử dụng đồ họa giao diện với người dùng Sự phát triển đồ họa máy tính ngày rộng rãi với chế độ đồ họa hai chiều (2D) chiều (3D), cao hơn, phục vụ lĩnh vực xã hội học khác khoa học, giáo dục, y học, kỹ thuật, thương mại giải trí Tính hấp dẫn đa dạng đồ họa máy tính minh họa trực quan thông qua việc khảo sát ứng dụng Đồ họa máy tính sử dụng rộng rãi có đến 80% ứng dụng liên quan đến hình ảnh ứng dụng nhiều lĩnh vực khác công nghiệp, thương mại, quản lý, giáo dục, giải trí, …v.v Số lượng chương trình đồ họa ứng dụng lớn phát triển liên tục Sau số ứng dụng tiêu biểu đồ họa thực tế: • Hỗ trợ thiết kế - CAD/CAM (Computer-Aided Design/ Computer-Aided Manufacturing): Các hệ thống thiết kế chế tạo với trợ giúp máy tính ứng dụng lĩnh vực phân tích thiết kế kết cấu xây dựng, công nghiệp điện tử, công nghiệp thời trang, ngành công nghiệp chế tạo ôtô, máy bay, xe máy Giáo trình Đồ Họa Máy TínhĐồ thị đồ (Graphs and Charts): Đây ứng dụng chủ yếu lĩnh vực đồ họa minh họa, ứng dụng cho phép hiển thị biểu đồ liệu lĩnh vực biểu diễn xử lý đồ họa Một số ứng dụng hệ thống thơng tin địa lí GIS (Geographical Information System).: • Giải trí: Với hỗ trợ đồ họa sản xuất nhiều sản phẩm phục vụ cho lĩnh vực giải trí đặc biệt phim hoạt hình trò chơi máy tính Nhiều phần mềm ngơn ngữ lập trình hỗ trợ đời cho phép ta tạo hình ảnh động gần với với sống thực Trong giáo trình làm quen với cơng cụ OpenGL • Ứng dụng mơ thực ảo (Simulation and Virtual Reality): Bên cạnh việc hỗ trợ thiết kế kiến trúc sản xuất công nghiệp, đồ họa máy tính có ứng dụng quan trọng mơ cơng trình kiến trúc, di sản văn hóa, giảng dạy mơn học Ứng dụng thực ảo mức cao mô Thực ảo áp dụng kỹ thuật đồ họa kết hợp với thiết bị 3D tạo ứng dụng mô giống thực thực máy tính lái máy bay, bắn súng quân sự, giải phẫu y khoa, … • Xử lý ảnh (Image Processing): Các kĩ thuật xử lý thay đổi ảnh có sẵn áp dụng nhiều lĩnh vực đời sống dụ ta sử dụng phần mềm để khơi phục ảnh, phân tích ảnh chụp từ vệ tinh • Kĩ thuật nhận dạng (Pattern Recognition): Đây lĩnh vực kĩ thuật xử lí ảnh, chuyên gia xây dựng thư viện ảnh gốc cách áp dụng thuật tốn phân tích chọn lọc từ ảnh mẫu có sẵn Dựa thư viện chuyên gia phân tích tổ hợp ảnh • Giao diện đồ họa người dùng (Graphical User Interface-GUI): Rất nhiều phần mềm ứng dụng ngày cung cấp GUI cho người dùng Thành phần giao diện đồ họa chương trình quản lí cửa sổ cho phép người sử dụng hiển thị nhiều cửa sổ người ta gọi cửa sổ hiển thị Nhờ có GUI mà người sử dụng dễ dàng thiết kế giao diện cho chương trình ứng dụng Giáo trình Đồ Họa Máy Tính 1.2 Các thành phần hệ đồ họa máy tính Để phát triển hệ thống đồ họa máy tính ta cần phải trang bị phần cứng lẫn phần mềm ứng dụng khác Trong đó, thiết bị phần cứng tùy thuộc vào ứng dụng đồ họa cụ thể mà cần thiết khơng cần thiết Phần cứng • Thiết bị thu nhận: lấy liệu đầu vào cho ứng dụng đồ họa bàn phím, chuột, máy qt, camera, • Thiết bị hiển thị: hiển thị hình ảnh ứng dụng đồ họa loại hình CRT, LCD, … • Thiết bị tương tác: làm giao tiếp trung gian người dùng ứng dụng đồ họa thực ảo, tạo cảm giác người dùng giống thao tác trực tiếp môi trường giới thực găng tay, kính 3D, … Phần mềm Phần mềm đồ họa phân thành loại: cơng cụ lập trình trình ứng dụng đồ họa phục vụ cho mục đích Các cơng cụ lập trình cung cấp tập thư viện đồ họa dùng ngơn ngữ lập trình cấp cao Pascal, C/C++/C#, Java, … hay trí có thư viên đồ họa nhúng vào ngơn ngữ lập trình cấp OpenGL, DirectX Các hàm sở bao gồm việc tạo đối tượng sở hính ảnh đoạn thẳng, đa giác, đường tròn, … thay đổi màu sắc, chọn khung nhìn, biến đổi affine, … Để phát triển ứng dụng đồ họa máy tính cần có loại phần mềm sau: • Tạo mơ hình: 3DS Max, Maya, … • Lập trình, phát triển ứng dụng: OpenGL, DirectX, … 1.3 Hệ tọa độ giới thực, hệ tọa độ thiết bị hệ tọa độ chuẩn Một hệ đồ họa bao gồm miền sau: • Miền điều khiển : bao bọc tồn hệ thống Giáo trình Đồ Họa Máy Tính • Miền thực : nằm miền điều khiển Khi giá trị nằm miền thực, chuyển thành số thực dấu phẩy động, có số rời khỏi miền chuyển thành số nguyên • Miền hiển thị : nằm miền điều khiển phân biệt với miền thực Chỉ có giá trị số nguyên nằm miền hiển thị Trong lĩnh vực kỹ thuật đồ họa, phải hiểu thực chất đồ họa làm để mơ tả biến đổi đối tượng giới thực máy tính Các đối tượng giới thực mô tả tọa độ miền thực Trong đó, hệ tọa độ thiết bị lại sử dụng hệ tọa độ nguyên để hiển thị hình ảnh Đây vấn đề cần giải Ngồi ra, có khó khăn khác với thiết bị khác có đặc trưng thơng số kỹ thuật khác Do đó, cần có phương pháp chuyển đổi tương ứng hệ tọa độ đối tượng để mơ tả gần với hình ảnh thực bên ngồi Hai mơ hình ứng dụng đồ họa dựa mẫu số hóa dựa đặc trưng hình học Trong ứng dụng đồ họa dựa mẫu số hóa đối tượng đồ họa tạo lưới pixel rời rạc Các pixel tạo chương trình vẽ, máy quét, Các pixel mô tả tọa độ xác định vị trí giá trị mẫu Thuận lợi ứng dụng dễ dàng thay đổi hình ảnh cách thay đổi màu sắc hay vị trí pixel, di chuyển vùng ảnh từ nơi sang nơi khác Tuy nhiên, điều bất lợi khơng thể xem xét đối tượng từ góc nhìn khác Ứng dụng đồ họa dựa đặc trưng hình học bao gồm đối tượng đồ họa sở đoạn thẳng, đa giác, v.v Chúng lưu trữ mơ hình thuộc tính Chẳng hạn, đoạn thẳng mơ hình hai điểm đầu cuối, có thuộc tính màu sắc, độ dày Người sử dụng không thao tác trực tiếp pixel mà thao tác thành phần hình học đối tượng Hệ tọa độ giới thực Hệ tọa độ thực thường dùng để mô tả đối tượng giới thực hệ tọa độ Descartes Trong hệ tọa độ này, điểm P biểu diễn cặp tọa độ (xp, yp) với xp, yp ∈ R (xem hình 1.1) Giáo trình Đồ Họa Máy Tính Hình 1.1 Hệ tọa độ thực Trong : • Ox : trục hồnh • Oy : trục tung • xp : hồnh độ điểm P • yp : tung độ điểm P Hệ tọa độ thiết bị Hệ tọa độ thiết bị dùng cho thiết bị xuất cụ thể đó, dụ máy in, hình, v.v Trong hệ tọa độ thiết bị điểm mơ tả cặp tọa độ (x,y) Tuy nhiên, khác với hệ tọa độ thực x, y ∈ Điều có nghĩa điểm hệ tọa độ thực định nghĩa liên tục, điểm hệ tọa độ thiết bị rời rạc Ngoài ra, tọa độ x, y hệ tọa độ thiết bị biểu diễn giới hạn dụ : Độ phân giải hình chế độ đồ họa 640x480 Khi đó, x ∈ (0,640) y ∈ (0, 480) (xem hình 1.2) Giáo trình Đồ Họa Máy Tính Hệ tọa độ hình Hệ tọa độ thiết bị chuẩn Do cách định nghĩa hệ tọa độ thiết bị khác nên hình ảnh hiển thị xác thiết bị chưa hiển thị xác thíết bị khác Người ta xây dựng hệ tọa độ thiết bị chuẩn đại diện chung cho tất thiết bị để mơ tả hình ảnh mà không phụ thuộc vào thiết bị Trong hệ tọa độ chuẩn, tọa độ x, y gán giá trị đoạn từ [0,1] Như vậy, vùng không gian hệ tọa độ chuẩn hình vng đơn vị có góc trái (0, 0) góc phải (1, 1) Quy trình hiển thị đối tượng thực sau (xem hình 1.3): Hình 1.3 Hệ tọa độ thiết bị Giáo trình Đồ Họa Máy Tính 10 Chương CÁC THUẬT TOÁN VẼ ĐỐI TƯỢNG ĐỒ HỌA CƠ BẢN Nội dung Các thuật tốn vẽ đoạn thẳng: DDA, Bresenham, MidPoint Thuật tốn MidPoint vẽ đường tròn, ellipse Vẽ đường cong tham số Bezier, B-Spline 2.1 Thuật toán vẽ đoạn thẳng Hình 2.1: Các điểm gần đoạn thẳng thực Xét đoạn thẳng có hệ số góc m (0, 1] ∆x > Với đoạn thẳng dạng này, (xi, yi) điểm xác định bước thứ i điểm (xi+1, yi+1) bước thứ i+1 hai điểm sau: Vấn đề đặt chọn điểm vẽ để đoạn thẳng vẽ gần với đoạn Giáo trình Đồ Họa Máy Tính 11 Bài tập chương Tìm vị trí hình chữ nhật ABCD với A(1, 2, 1), B(3, 2, 1), C(3, 4, 3), D(1, 4, 3) sau phép quay góc α =45o quanh góc tọa độ Tìm vị trí hình chữ nhật ABCD với A(1, 2, 1), B(3, 2, 1), C(3, 4, 3), D(1, 4, 3) sau phép quay góc α =30o quanh điểm M(1, 1, 1) Tìm vị trí hình chữ nhật A(1, 2, 1), B(3, 2, 1), C(3, 4, 3), D(1, 4, 3) sau phép quay góc α =45o quanh trục x’ song song x qua (1, 1, 1) Giáo trình Đồ Họa Máy Tính 106 PHỤ LỤC THƯ VIỆN ĐỒ HỌA OpenGL OpenGL gì? OpenGL (Open Graphics Library) phần mềm giao diện với phần cứng đồ hoạ OpenGL phát triển Silicon Graphic Inc OpenGL giao diện lập trình ứng dụng (Application Program Interface – API) Nó bao gồm khoảng 150 câu lệnh hỗ trợ nhiều ngôn ngữ C, C++, Java, C# Cho phép người lập trình sử dụng để tạo ứng dụng tương tác đồ hoạ 3D OpenGL thiết kế không phụ thuộc tảng phần cứng hệ điều hành máy tính Như chương trình trung gian người dùng phần cứng máy tính Với OpenGL tạo mơ hình phức tạp từ đối tượng hình học Đó điểm (Point), đoạn thẳng (Line) đa giác (Polygon) Cú pháp OpenGL Các câu lệnh OpenGL sử dụng tiền tố gl từ bắt đầu kí tự hoa, dụ glClearColor() Tương tự vậy, định nghĩa tiền tố GL_ từ viết hoa ngăn cách kí tự gạch dưới, dụ GL_COLOR_BUFFER_BIT glVertex3fv định dạng vector, có loại liệu: f float d double float Số đối, (2,3 4) s signed short integer i signed integer Loại liệu khác lệnh OpenGL : Giáo trình Đồ Họa Máy Tính 107 - b character - ub unsigned character - us unsigned short integer - ui unsinged integer Dữ liệu vô hướng định dạng vector Câu lệnh OpenGL cho ta thấy ý nghĩa chức hàm.Tham số loại tham số xuất tuỳ thuộc hàm khác Đơi câu lệnh có thêm dấu * để cú pháp có nhiều lệnh dụ, glColor*() có giá trị cho lệnh khác để bạn thiết lập màu hành Hoặc glClear*() có lệnh sau: glClearColor(), glClearDepth(), glClearAccum(), glClearStencil() OpenGL máy trạng thái OpenGL máy trạng thái Chúng ta đặt trạng thái khác Chúng giữ nguyên tác dụng ta thay đổi trạng thái khác Chẳng hạn đặt màu hành biến trạng thái Chúng ta đặt màu màu trắng, màu đỏ màu khác, sau đối tượng vẽ màu bạn đặt màu màu khác Màu nhiều biến trạng thái mà OpenGL lưu giữ Còn nhiều trạng thái khác điểm nhìn hành, vị trí đặc tính ánh sáng, thuộc tính chất liệu, … Biến trạng thái nơi lưu giữ trạng thái Mỗi biến trạng thái chế độ có giá trị mặc định ban đầu Ta xem giá trị chúng thông qua hàm sau: o glGetBooleanv() o glGetDoublev() o glGetFloatv() o glGetIntergerv() Giáo trình Đồ Họa Máy Tính 108 o glGetPointerv() o glIsEnabled() Một vài biến trạng thái có nhiều định lệnh yêu cầu (chẳng hạn glGetLight*(), glGetError(), glGetPolygonStipple()) Hơn ta lưu lấy giá trị tập trạng thái biến thuộc tính stack với lệnh glPushAttrib() glPushClientAttrib() glPopAttrib() glPopClientAttrib() Các thư viện liên quan Mặc dù OpenGL công cụ mạnh song đối tượng vẽ đối tượng hình học Để đơn giản số thủ tục, cung cấp số thư viện để điều khiển việc vẽ đối tượng mức cao ♦ OpenGL Utility Library (GLU): Bao gồm số thủ tục thiết lập ma trận xác định hướng nhìn, ma trận phép chiếu, biểu diễn mặt không gian chiều ♦ OpenGL Utility Toolkit (GLUT): bao gồm thủ tục nhằm đơn giản hố việc tạo đối tượng hình học Đặc biệt hình khơng gian chiều (solid hình đặc, wire hình khung) ♦ Khi lập trình OpenGL C# ta sử dụng số thư viện sau: csgl.dll, csgl.native.dll, CsGL.Basecode Hiển thị đối tượng hình học bản: điểm, đoạn thẳng, đa giác Để tạo đối tượng hình học từ đỉnh, ta đặt đỉnh hai hàm glBegin(param) glEnd() Tham số param đưa vào cho hàm glBegin() định đối tượng OpenGL vẽ từ đỉnh khai báo bên dụ: glBegin(GL_POLYGON); glVertex2f(0.0, 0.0); Giáo trình Đồ Họa Máy Tính 109 glVertex2f(0.0, 1.0); glVertex2f(0.5, 1.0); glVertex2f(1.0, 0.5); glVertex2f(0.5, 0.0); glEnd(); Hàm glBegin(Glenum mode) Biến mode đối tượng vẽ, nhận giá trị sau: GIÁ TRỊ Ý NGHĨA GL_POINTS Vẽ điểm GL_LINES Vẽ đoạn thẳng GL_POLYGON Vẽ đa giác lồi GL_TRIANGLES Vẽ tam giác GL_QUADS Vẽ tứ giác GL_LINE_STRIP Vẽ đường gấp khúc không khép kín GL_LINE_LOOP Vẽ đường gấp khúc khép kín GL_TRIANGLE_STRIP Một dải tam giác liên kết với GL_TRIANGLE_FAN Một dải tam giác liên kết theo hình quạt GL_QUAD_STRIP Một dải tứ giác liên kết với Danh sách hình thể kết tương ứng biến mode Giáo trình Đồ Họa Máy Tính 110 Hình phụ lục 1: Các đối tượng hình học Quy luật hiển thị rõ ràng hình vẽ, riêng với GL_QUAD_STRIP vẽ với quy luật nối điểm có vị trí 2n, 2n + 1, 2n + 3, 2n + với 2n điểm khởi đầu hình tứ giác Để định đỉnh ta dùng lệnh sau: glVertex{2,3,4}{sifd}[v](toạ độ) Trong đó: - {2,3,4} định số chiều không gian - [v] toạ độ điểm truyền từ mảng cho trước - {sifd} định kiểu liệu toạ độ, ý nghĩa định bảng sau: Kí hiệu Kiểu liệu s 16 bit - integer GLshort i 32 bit - integer GLint f 32 bit - float Giáo trình Đồ Họa Máy Tính Tên kiểu OpenGL GLfloat 111 d 64 bit - float GLdouble OpenGL cho phép số lệnh nằm bên glBegin() glEnd() glVertex*() Khai báo vertex glColor*() Thiết lập màu glIndex*() Thiết lập mục màu glNormal*() Thiết lập tọa độ vector phương glEvalCoord*() Sinh tọa độ glCallList(), glCallLists() Thực thi Display List glTexCoord*() Thiết lập tọa độ texture glEdgeFlag*() Điều khiển việc vẽ cạnh glMaterial*() Thiết lập thuộc tính chất liệu Mọi hàm OpenGL ngồi hàm khơng nằm glBegin() glEnd() Tuy nhiên ta dùng cấu trúc điều khiển khác (ví dụ vòng lặp for chẳng hạn) Bắt đầu làm quen OpenGL ngơn ngữ C# Giáo trình Đồ Họa Máy Tính 112 • Mở chương trình Visual Studio NET (2005) tạo ứng dụng C# Windows Application Hình phụ lục 2:Tạo project đồ họa • Nhấp phải chuột vào References, chọn Add References chọn thẻ Browse để thêm thư viện CsGL (File csgl.dll) Hình phụ lục 3: Thêm thư viện OpenGL vào project • Nhấp phải chuột vào project chọn Add\Class (Ví dụ, đặt tên lớp OpenGL.cs) Giáo trình Đồ Họa Máy Tính 113 Hình phụ lục 4: Thêm lớp vào project • Khai báo lớp OpenGL: o Khai báo thư viện CsGL.OpenGL; o Thừa kế lớp OpenGLControl o Khai báo tải phương thức glDraw(), InitGLContext() OnSizeChanged(EventArgs e) Hình phụ lục 5: Viết code khởi tạo chế độ đồ họa OpenGL Giáo trình Đồ Họa Máy Tính 114 • Lớp OpenGL khai báo User Control Bây ta thêm User Control vào Form1 sau: (hoặc kéo User Control qua Form) Hình phụ lục 6:Thêm control OpenGL vào form • Chạy chương trình thử (nhớ chép file csgl.native.dll vào thư mục Debug), thấy xuất pixel màu đỏ màu đen thành cơng Pixel màu đỏ Hình phụ lục 7: Kết khởi tạo chế độ đồ họa OpenGL Giáo trình Đồ Họa Máy Tính 115 Vẽ đối tượng 3D OpenGL OpenGL cho phép vẽ đối tượng 3D dễ dàng tạo hiệu ứng màu, ánh sáng, biến đổi khơng gian 3D xác Sau số hình ảnh 3D lập trình từ thư viện OpenGL Hình phụ lục 8: Các đối tượng hình học 3D Hình phụ lục 9:Hình khối lập phương hiển thị texture Giáo trình Đồ Họa Máy Tính 116 Hình phụ lục 10: Hình 3D phơng chữ đồ họa OpenGL Hình phụ lục 11: Pháo hoa biểu diễn OpenGL Giáo trình Đồ Họa Máy Tính 117 Hình phụ lục 12: Game đơn giản viết OpenGL Đoạn chương sau minh họa vẽ đối tượng hình chóp tam giác Ta thực vẽ mặt hình chóp, mặt tam giác gồm đỉnh, có màu pha trộn từ màu đỉnh Giáo trình Đồ Họa Máy Tính 118 mặt sau đối tượng bị khuất nên hiển thị thấy mặt hình chóp tam giác Hình phụ lục 13: Hình chóp tam giác ban đầu OpenGL Để thấy mặt lại ta phải quay hình chóp tam giác quanh trục góc Chẳng hạn, ta quay hình chóp góc 30o quanh trục x, y, z, ta kết sau: glRotatef(30, 1, 1, 1); Hình phụ lục 14: Hình chóp tam giác sau quay OpenGL Giáo trình Đồ Họa Máy Tính 119 TÀI LIỆU THAM KHẢO [1] Donald Hearn, M Pauline Baker; Computer Graphics; Prentice-Hall, Inc., Englewood Cliffs, New Jersey , 1986 [2] F.S Hill Jr Computer Graphics, Macmillan Publishing Company, New York, 1990 [3] J D Foley, A Van Dam, S K Feiner, J F Hughes, Computer graphics: principles and practice, Addison-Wesley 1991 [4] Phạm Tiến Sơn, Đồ họa máy tính I, Lưu hành nội bộ, Đại học Đà Lạt, 2005 Hết Giáo trình Đồ Họa Máy Tính 120 ... quan đồ họa máy tính Các ứng dụng đồ họa máy tính Các thành phần hệ đồ họa máy tính Hệ tọa độ thực hệ tọa độ đồ họa 1.1 Tổng quan đồ họa máy tính Đồ họa máy tính bao gồm tất liên quan đến vi c... q trình biên soạn khơng tránh khỏi thiếu sót, tơi xin trân trọng nhận góp ý quý đồng nghiệp sinh vi n để giáo trình ngày hồn thiện Giáo trình Đồ Họa Máy Tính Chương GIỚI THIỆU VỀ ĐỒ HỌA MÁY TÍNH... quay quanh trục 103 PHỤ LỤC: THƯ VI N ĐỒ HỌA OpenGL 107 TÀI LIỆU THAM KHẢO 120 Giáo trình Đồ Họa Máy Tính MỞ ĐẦU Đồ họa máy tính lĩnh vực hấp dẫn phát triển nhanh Công
- Xem thêm -

Xem thêm: Giáo trình đồ họa vi tính, Giáo trình đồ họa vi tính

Gợi ý tài liệu liên quan cho bạn

Nhận lời giải ngay chưa đến 10 phút Đăng bài tập ngay