Bài tập lớn báo cáo vẽ ôtô chạy trên mặt phẳng ngang môi trường visual c++ OPENGL

14 1.2K 17
Bài tập lớn báo cáo vẽ ôtô  chạy trên mặt phẳng ngang môi trường visual c++  OPENGL

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐHCN VINH KHOA : CÔNG NGHỆ BỘ MÔN: ĐỒ HỌA MÁY TÍNH (OPENGL) BÀI TẬP:VẼ OTO CHẠY TRÊN MẶT PHẲNG NGANG GVHD: NGUYỄN THỊ HIỀN NHÓM:BÙI ĐỨC HIẾU NGUYỄN ĐÌNH CHUẨN NGUYỄN KHẮC BÌNH LỚP :K2DCNTT NỘI DUNG • • • GIỚI THIỆU ĐỀ TÀI NÊU Ý TƯỞNG, GIẢI QUYẾT BÀI TỐN CHẠY CHƯƠNG TRÌNH I.GIỚI THIỆU ĐỀ TÀI • • Thiết kế oto đơn giản chạy mặt ngang hình Oto chạy từ viền trái đến viền phải hình quay lại từ trái tạo cảm giác oto chạy liền mạch hinh Nền tảng môi trường phát triển II.NÊU Ý TƯỞNG, GIẢI QUYẾT BÀI TOÁN Nêu ý tưởng Thiết kế khối tứ giác hai hình tròn dặcđể tạo oto có cấu tạo đơn giảnđơn giản • • • Sử dụng hàm tịnh tiến glTranslate để di chuyển tứ giác hình tròn Sử dụng hàm quay glRotate để quay (bánh) hình tròn Sử dụng hàm điều kiện if lúc oto chay đến giới hạn hiển thị cho x trở lại vị trí ban đầu giải toán     Tham chiếu thư viện #include #include #include  Khai báo  #define ESCAPE 27  int window;  float rtri = 0.0;  float rquad = 0.0; // định dạng hình void ReSizeGLScene(int Width, int Height) { if (Height == 0) Height = 1; glViewport(0, 0, Width, Height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0f, (GLfloat)Width / (GLfloat)Height, 0.1f, 100.0f); glMatrixMode(GL_MODELVIEW); } //banh xe void drawBall(void) { float X = -0.5f; glColor3f(1.0, 1.0, 1.0); glTranslatef(X, Y, Z);//tinh tien float Y = 0.0f; float Z = 0.0f; glRotatef (X, X, Y, Z);//quay glutSolidSphere(0.3, 20, 20); glTranslatef(X + 2, Y, Z); glutSolidSphere(0.3, 20, 20); //hinh cau dac } void DISPLAY() { glClear(GL_COLOR_BUFFER_BIT | glBegin(GL_QUADS); //glBegin(GL_LINE_STRIP) glColor3f(1.0f, 1.0f, 0.0f); glVertex3f(-1.0f, 1.0f, 0.0f); GL_DEPTH_BUFFER_BIT); glVertex3f(1.0f, 1.0f, 0.0f); glLoadIdentity(); glVertex3f(2.0f, 0.0f, 0.0f); glTranslatef(rtri, 0.0f, -6.0f); glVertex3f(-1.0f, 0.0f, 0.0f); void keyPressed(unsigned char key, int x, int y) glEnd(); { drawBall(); rtri += 0.001f; if (key == ESCAPE) if (rtri>2) { rtri = -2.0f; glutDestroyWindow(window); rquad -= 15.0f; glutSwapBuffers(); exit(0); } } } int main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_ALPHA | GLUT_DEPTH); glutInitWindowSize(1000, 640); glutInitWindowPosition(0, 0); glutCreateWindow("TEST "); glutDisplayFunc(DISPLAY); } glutIdleFunc(DISPLAY); glutReshapeFunc(&ReSizeGLScene); glutKeyboardFunc(&keyPressed); glutMainLoop(); return 1; Phần chạy chương trình ... CHƯƠNG TRÌNH I.GIỚI THIỆU ĐỀ TÀI • • Thiết kế oto đơn giản chạy mặt ngang hình Oto chạy từ viền trái đến viền phải hình quay lại từ trái tạo cảm giác oto chạy liền mạch hinh Nền tảng môi trường... tạo oto có cấu tạo đơn giảnđơn giản • • • Sử dụng hàm tịnh tiến glTranslate để di chuyển tứ giác hình tròn Sử dụng hàm quay glRotate để quay (bánh) hình tròn Sử dụng hàm điều kiện if lúc oto

Ngày đăng: 27/11/2017, 06:59

Từ khóa liên quan

Mục lục

  • Slide 1

  • NỘI DUNG

  • I.GIỚI THIỆU ĐỀ TÀI

  • Nền tảng và môi trường phát triển

  • II.NÊU Ý TƯỞNG, GIẢI QUYẾT BÀI TOÁN

  • 2. giải quyết bài toán

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Phần 3. chạy chương trình

  • Slide 14

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

Tài liệu liên quan