xây dựng giải thuật và vẽ các hình trụ đứng và nón

10 941 0
xây dựng giải thuật và vẽ các hình trụ đứng và nón

Đang tải... (xem toàn văn)

Thông tin tài liệu

XÂY DỰNG GIẢI THUẬT VÀ VẼ CÁC HÌNH TRỤ ĐỨNG VÀ NÓN Nhóm gồm : - Trần Hoàng Anh – N102104134 - Lê Nguyễn Nhật Trung – N102104181 Nội dung : 1.Giới thiệu OpenGL 2.Mô tả các hàm sử dụng trong bài 3.Code vẽ thuật toán 4.Mô phỏng hình ảnh 1.Giới thiệu sơ về OPENGL OpenGL là 1 bộ thự viện đồ họa có khoảng 150 hàm giúp xây dựng các đối tượng và giao tác cần thiết trong các ứng dụng tương tác 3D OpenGl không có sãn các hàm cấp cao để giúp xây dựng các đối tượng, thay vào đó người dung sẽ tự phải xây dụng : 1. Điểm 2.Đoạn thẳng 3.Đa giác OpenGl hỗ trọ các hàm đồ họa : - Xây dựng các đối tượng phức tạp từ các thành phần hình học cơ bản - Sắp xêp đối tượng trong 3D và chọn điểm thuận lợi để quan sát - Tính toán màu sắc của các đối tượng - Biến đối những mô tả toán học và thông tin màu sắc thành các pixel trên màn hình 2.Mô tả các hàm sử dụng trong bài • Sử dụng các hàm sau để vẽ các hình khối cơ bản: o gluCylinder: vẽ hình trụ rỗng. o gluDisk: vẽ mặt đĩa (sử dụng kết hợp với gluCylinder để vẽ hình nón, hình trụ đặc). o gluNewQuadric: tạo đối tượng GLUquadric dùng để xác định các thông số vẽ cần thiết khi sử dụng hàm gluCylinder, gluDisk. o glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT): hàm ox pixel, dựng lại cửa sổ ảnh. o glViewport( 0, 0, w, h ): góc nhìn toàn cảnh. o gluPerspective(GLdouble fovy , GLdouble aspect , GLdouble near , GLdouble far):Thiết lập khung nhìn phối cảnh, Aspect: tỉ lệ w/h chiều rộng/ chiều cao; Fovy: góc quan sát trong mp XOZ. o glutInit(&argc, argv): Khởi tạo thư viện Glut, thiết lập phiên làm việc với hệ thống • Sử dụng các hàm sau để thực hiện các phép biến đổi hình học: o glTranslatef: (bản chất) nhân ma trận ModelView với ma trận biểu diễn phép tịnh tiến. o glRotatef: (bản chất) nhân ma trận ModelView với ma trận biểu diễn phép quay. o glLoadIdentity: kết hợp với hàm glMatrixMode(GL_MODELVIEW) để ma trận ModelView thành ma trận đơn vị. o glEnable(GL_CULL_FACE), glDisable(GL_CULL_FACE): bật/tắt hiệu ứng quan sát cho các hình khối. o glMatrixMode( GL_MODELVIEW ): Ma trận hiện tại ảnh hưởng đến vị trí của vật(ma trận nhân với tọa độ của đối tượng để tạo ra ảnh mới) . o glPushMatrix(),glPopMatrix(): đẩy ma trận và lấy ma trận ra khỏi bộ nhớ. o glColor3f(R,G,B) : hàm tô màu cho ảnh vẽ, với 3 thông số Red, Green, Blue dùng các con số để tạo ra các màu cần thiết. color buffer: buffer chứa màu của các pixel cần được thể hiện depth buffer (hay còn gọi là z-buffer): buffer chứa chiều sâu của pixel, được đo bằng khoảng cách đến mắt. Mục đích chính của buffer này là loại bỏ phần đối tượng nằm sau đối tượng khác. o glutSwapBuffers(): hoán đổi bộ nhớ đệm sao khi đẩybộ nhớ đệm ra. o glPolygonMode ( GL_FRONT_AND_BACK, GL_LINE ), glPolygonMode ( GL_FRONT_AND_BACK, GL_FILL ): vẽ hình đa giác bằng các đường hoặc tô màu đa giác. o glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH ): khởi tạo chế độ vẽ single buffer và hệ màu RGB. o glutInitWindowSize (250, 250): khởi tạo window kích thước 250 x 250. o glutInitWindowPosition (100, 100): khởi tạo window tại ví trí (100,100) trên screen. glDisable( GL_CULL_FACE) glPushMatrix(); glTranslatef( 1.5, 0.0, 0.0 glRotatef( -90.0, 1.0, 0.0, 0.0 ); glColor3f( 1.0, 0.2, 0.2 ); drawGluCylinder(2.0, 0.75, 8, 10 ); glPopMatrix(); void drawGluCylinder( double height, double radius, int slices, int stacks ) { drawGluSlantCylinder( height, radius, slices, stacks ); } glEnable( GL_CULL_FACE ); glPushMatrix(); glTranslatef( -1.5, 0.0, 0.0 ); glRotatef( -90.0, 1.0, 0.0, 0.0 ); glColor3f( 0.2, 1.0, 0.2 ); drawGluSlantCylinderWithCaps( 3.0, 1.0, 0, 2, 2 ); glPopMatrix(); void drawGluCylinderWithCaps ( double height, double radius, int slices, int stacks ) { drawGluSlantCylinderWithCaps( height, radius, radius, slices, stacks ); } . XÂY DỰNG GIẢI THUẬT VÀ VẼ CÁC HÌNH TRỤ ĐỨNG VÀ NÓN Nhóm gồm : - Trần Hoàng Anh – N102104134 - Lê Nguyễn Nhật Trung – N102104181 Nội dung : 1.Giới thiệu OpenGL 2.Mô tả các hàm sử dụng. tin màu sắc thành các pixel trên màn hình 2.Mô tả các hàm sử dụng trong bài • Sử dụng các hàm sau để vẽ các hình khối cơ bản: o gluCylinder: vẽ hình trụ rỗng. o gluDisk: vẽ mặt đĩa (sử dụng. không có sãn các hàm cấp cao để giúp xây dựng các đối tượng, thay vào đó người dung sẽ tự phải xây dụng : 1. Điểm 2.Đoạn thẳng 3.Đa giác OpenGl hỗ trọ các hàm đồ họa : - Xây dựng các đối tượng

Ngày đăng: 25/11/2014, 09:58

Từ khóa liên quan

Mục lục

  • Slide 1

  • Slide 2

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

Tài liệu cùng người dùng

Tài liệu liên quan