1. Trang chủ
  2. » Công Nghệ Thông Tin

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

Đ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

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 526,44 KB

Nội dung

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

w