1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo bài tập lớn học phần đồ họa máy tính đề tài mô phỏng phòng khách bằng opengl khả lập trình và visual c++

28 117 1

Đ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

Nội dung

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN - - BÁO CÁO BÀI TẬP LỚN HỌC PHẦN ĐỒ HỌA MÁY TÍNH ĐỀ TÀI: MƠ PHỎNG PHỊNG KHÁCH BẰNG OPENGL KHẢ LẬP TRÌNH VÀ VISUAL C++ Giảng viên hướng dẫn: ThS Vũ Minh Yến Nhóm thực hiện: Nhóm Lớp: 202220503116005 Khóa: 15 Hà Nội, 2023 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN - - BÁO CÁO BÀI TẬP LỚN HỌC PHẦN ĐỒ HỌA MÁY TÍNH Đề tài: MƠ PHỎNG PHỊNG KHÁCH BẰNG OPENGL KHẢ LẬP TRÌNH VÀ VISUAL C++ Giảng viên hướng dẫn: ThS Vũ Minh Yến Nhóm thực hiện: Nhóm Thành viên nhóm: Phan Duy Linh Lê Ngọc Sơn Phạm Ngọc Minh Nguyễn Văn Đức Lớp: 202220503116005 Khóa: 15 Hà Nội, 2023 MỤC LỤC MỞ ĐẦU Chương Xác định phân tích tốn 1.1 Bài toán 1.2 Mô tả đối tượng cần thiết kế 1.3 Mô tả bố cục khung cảnh chung 1.4 Mô tả kịch chương trình Chương Cài đặt chương trình 2.1 Kỹ thuật tạo mơ hình cánh cửa 2.2 Kỹ thuật tạo mơ hình ti vi 2.3 Kỹ thuật tạo mơ hình quạt .6 2.4 Kỹ thuật tạo mơ hình tủ lạnh .8 2.5 Kỹ thuật tạo mơ hình kệ ti vi .9 2.6 Kỹ thuật tạo mơ hình bàn trịn 10 2.7 Kỹ thuật tạo mơ hình ghế .11 2.8 Kỹ thuật tạo mơ hình đèn .12 2.9 Kỹ thuật tạo mơ hình cửa sổ 13 2.10 Kỹ thuật chiếu sáng 14 2.11 Kỹ thuật camera 15 Chương Kết đạt 3.1 Mơ hình cánh cửa .16 3.2 Mơ hình ti vi 15 3.3 Mô hình quạt 15 3.4 Mơ hình tủ lạnh 15 3.5 Mơ hình kệ ti vi 15 3.6 Mơ hình bàn tròn 15 3.7 Mơ hình ghế 15 3.8 Mơ hình đèn 15 3.9 Mơ hình cửa sổ 15 3.10 Mơ hình chiếu sáng .15 3.11 Mơ hình camera 15 KẾT LUẬN TÀI LIỆU THAM KHẢO MỞ ĐẦU Đồ họa máy tính lĩnh vực khoa học máy tính nghiên cứu sở tốn học, thuật toán kĩ thuật phép tạo, hiển thị điều khiển hình ảnh hình máy tính Về chất: q trình xây dựng phát triển cơng cụ hai lĩnh vực phần cứng phần mềm hỗ trợ cho lập trình viên thiết kế chương trình có khả đồ họa cao Việc mơ tả liệu thơng qua hình ảnh màu sắc đa dạng nó, chương trình đồ họa thường thu hút người sử dụng tính thân thiện, dễ dùng, … kích thích khả sáng tạo nâng cao suất làm việc Do vậy, đồ họa máy tính ứng dụng nhiều lĩnh vực: giáo dục, thương mại… Là sinh viên tìm hiểu làm quen với số kĩ thuật đồ họa máy tính thơng qua tài liệu, giảng cô Vũ Minh Yến - giáo viên giảng dạy Với kiến thức học nhóm định chọn đề tài: Mơ phịng khách Chương Xác định phân tích tốn 1.1 Bài tốn Thiết kế nội thất phịng khách openGL khả lập trình visual C++ Tồn tốn phát triển dựa project cô Yến cung cấp trình học thực hành song song với lý thuyết lớp việc hướng dẫn cài đặt khởi đầu cho môn học: - Hướng dẫn cài đặt OpenGL với thư viện sử dụng FreeGlut Glew - Project_Cube (tiền đề cho việc tạo dựng hình OpenGL) - Project_RotationCube (tiền đề cho chuyển động đối tượng) - Project_ban (tạo dựng mô hình từ việc lắp ghép từ hình bản) - Projection_view (hướng dẫn việc thiết lập góc nhìn cho cảnh) - Project_hinhlapphuong_chieusang (biểu diễn ánh sáng Blinn-Phong) 1.2 Mô tả đối tượng cần thiết kế Tổng quan phòng khách bao gồm: - Một phòng khối hộp: tường mặt: mặt trái, mặt phải mặt trước, mặt sau - quạt trần có khả quay - tủ đóng mở - tivi bật tắt - bàn trịn - ghế dài - cửa sổ - cửa vào đóng mở - kệ để tivi - đèn bật tắt 1.3 Mô tả bố cục khung cảnh chung 1.4 Mô tả kịch chương trình - Thiết kế nội thất phịng khách ln nhận quan tâm gia chủ khơng gian sinh hoạt chung cần thiết kế cho hài hòa phù hợp với tất thành viên - Mô hoạt động đối tượng phịng khách - Mơ yếu tố ánh sáng góc nhìn đối tượng - Các yếu tố ánh sánh góc nhìn tạo ngẫu nhiên - Chương trình chạy visual studio ngôn ngữ C++ sử dụng openGL - Sử dụng phím: o b/B: đóng/mở o t: tắt/bật quạt o 1, 2, 3: số quạt o 9: chuyển góc camera o Z/z, O/o, P/p, R/r: thao tác camera o Q/q, W/w: đóng mở tủ o S/s: tắt/ bật tivi o d: bật/tắt đèn o k/K: kéo rèm cửa - Các yếu tố ánh sánh góc nhìn tạo ngẫu nhiên - Chương trình chạy visual studio ngôn ngữ C++ sử dụng openGL Chương Cài đặt chương trình 1.1 Kỹ thuật tạo mơ hình cánh cửa (Phạm Ngọc Minh) - Mơ hình: - Mơ hình phân cấp: - Kĩ thuật cài đặt mat4 Cua_view; void Cua() { Cua_view = Translate(0.148f, -0.34f, -0.98f); mat4 CanhCua_view = Translate(0.25, 0.0, 0.0) * RotateY(-mo); ToMau(255, 150, 0.0); mat4 m = Translate(-0.25, 0.0, 0.0) * Scale(0.4f, 0.66f, 0.02f); glUniformMatrix4fv(model_loc, 1, GL_TRUE, model * Cua_view * CanhCua_view* m); glDrawArrays(GL_TRIANGLES, 0, NumPoints); //Num cua ToMau(150, 200, 150); m = Translate(-0.4, 0.0, 0.0) * Scale(0.05, 0.05, 0.1); glUniformMatrix4fv(model_loc, 1, GL_TRUE, model * Cua_view * CanhCua_view * m); glDrawArrays(GL_TRIANGLES, 0, NumPoints); } 1.2 Kỹ thuật tạo mơ hình ti vi (Lê Ngọc Sơn) - Mơ hình: - Mơ hình phân cấp: - Kĩ thuật cài đặt: void ketivi() { // viền ti vi ToMau(0, 0, 0); instance2 = Translate(-0.9f, 0.2f, -0.05f); createElement(0.02f, 0.02f, 0.84f); instance2 = Translate(-0.9f, -0.3f, -0.05f); createElement(0.02f, 0.02f, 0.84f); instance2 = Translate(-0.9f, -0.05f, 0.35f); createElement(0.02f, 0.5f, 0.02f); instance2 = Translate(-0.9f, -0.05f, -0.45f); createElement(0.02f, 0.5f, 0.02f); ToMau(tivi, tivi, tivi); instance2 = Translate(-0.9f, -0.05f, -0.05f); createElement(0.02f, 0.5f, 0.8f); } 1.3 Kỹ thuật tạo mơ hình quạt (Phan Duy Linh) - Mơ hình: 10 - Mơ hình phân cấp: - Kĩ thuật cài đặt: void tuketivi() { ToMau(255, 255, 0); //ngan instance2 = Translate(-0.8f, -0.4f, -0.05); createElement(0.3f, 0.02f, 1.2f); instance2 = Translate(-0.8f, -0.65f, -0.05f); createElement(0.3f, 0.02f, 1.2f); //hai ben instance2 = Translate(-0.8f, -0.525f, -0.65f); createElement(0.3f, 0.25f, 0.015f); instance2 = Translate(-0.8f, -0.525f, 0.55f); createElement(0.3f, 0.25f, 0.015f); //do de ngan ToMau(0, 200, 0); 11 instance2 = Translate(-0.85f, -0.58f, 0.32f)*Translate(h,0,0); createElement(0.1f, 0.1f, 0.25f); ToMau(0, 0.4, 200); instance2 = Translate(-0.85f, -0.58f, 0.06f)*Translate(h,0,0); createElement(0.1f, 0.1f, 0.25f); ToMau(200, 255, 0.3); instance2 = Translate(-0.85f, -0.58f, -0.2f)*Translate(h,0,0); createElement(0.1f, 0.1f, 0.25f); instance2 = Translate(-0.85f,-0.59f, -0.41f)*Translate(h,0,0); createElement(0.1f, 0.08f, 0.15f); ToMau(0.5, 255, 255); for (int i = 0; i < 360; i+=2){ instance2 = Translate(-0.875f, -0.38f, -0.125)*RotateY(i); createElement(0.1f, 0.02f, 0.001f); } for (int i = 0; i < 360; i += 2){ instance2 = Translate(-0.725f, -0.38f, 0.025) * RotateY(i); createElement(0.1f, 0.02f, 0.001f); } for (int i = 0; i < 360; i += 2){ instance2 = Translate(-0.875f, -0.38f, 0.025) * RotateY(i); createElement(0.1f, 0.02f, 0.001f); } for (int i = 0; i < 360; i += 2){ instance2 = Translate(-0.725f, -0.38f, -0.125)* RotateY(i); createElement(0.1f, 0.02f, 0.001f); } } 1.6 Kỹ thuật tạo mơ hình bàn trịn (Nguyễn Văn Đức) - Mơ hình: - Mơ hình phân cấp: 12 - Kĩ thuật cài đặt: void banan() { ////ban ToMau(139, 131, 120); for (int i = 0; i < 360; i += 2){ instance2 = Translate(0.2f, -0.65f, 0.0f)*RotateY(i); createElement(1.2f, 0.005f, 0.1f); } ToMau(126, 192, 238); for (int i = 0; i < 360; i += 2){ instance2 = Translate(0.2f, -0.575f, 0.0f) * RotateY(i); createElement(0.2f, 0.15f, 0.1f); } for (int i = 0; i < 360; i += 2){ instance2 = Translate(0.2f, -0.5f, 0.0f) * RotateY(i); createElement(0.5f, 0.01f, 0.1f); } ToMau(255, 255, 255); for (int i = 0; i < 360; i += 2){ instance2 = Translate(0.2f, -0.49f, 0.0f) * RotateY(i); createElement(0.45f, 0.01f, 0.1f); } } 1.7 Kỹ thuật tạo mô hình ghế (Nguyễn Văn Đức) - Mơ hình: 13 - Mơ hình phân cấp: - Kỹ thuật cài đặt: void caighe() { ToMau(255, 255, 0); //be ghe instance2 = Translate(0.8f, -0.55f, 0.0f); createElement(0.3, 0.2, 1.5); //cong chan ghe ToMau(255, 255, 0); for (int i = 1; i

Ngày đăng: 29/11/2023, 05:59

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w