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

Báo cáo thực nghiệm đồ họa máy tính mô phỏng công trường xây dựn

27 2 0

Đ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

Kỹ thuật áp dụng cho camera...18 Trang 3 Mở đầuĐồ họa máy tính ngày nay được ứng dụng rất rộng rãi trong nhiều lĩnh vựckhoa học, kỹ thuật, nghệ thuật, kinh doanh, quản lý, .... Ngày nay

lOMoARcPSD|39150642 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN  - BÁO CÁO THỰC NGHIỆM Học phần: Đồ họa máy tính Đề tài: Mô phỏng công trường xây dựng Giáo viên hướng dẫn : Ths Vũ Minh Yến Nhóm sinh viên thực hiện : Nhóm 14 Lương Đức Anh - 2020604030 Nguyễn Tuấn Anh - 2020604631 Bùi Hải Linh - 2020606348 Nguyễn Quang Hiếu - 2020606997 Lớp: KHMT02 Khóa: K15 Hà Nội - Năm 2023 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 MỤC LỤC Mở đầu .2 CHƯƠNG 1 XÁC ĐỊNH VÀ PHÂN TÍCH BÀI TOÁN .3 1.1 Bài toán 3 1.2 Mô tả các đối tượng cần thiết kế 4 1.3 Mô tả bố cục khung cảnh chung 7 1.4 Mô tả kịch bản 9 CHƯƠNG 2 CÀI ĐẶT CHƯƠNG TRÌNH 10 2.1 Kỹ thuật áp dụng cho cả bài toán 10 2.2 Kỹ thuật áp dụng cho xe ben 11 2.3 Kỹ thuật áp dụng cho xe lu 12 2.4 Kỹ thuật áp dụng cho máy xúc 13 2.5 Kỹ thuật áp dụng cho xe ủi 15 2.6 Kỹ thuật áp dụng cho camera 18 CHƯƠNG 3 KẾT QUẢ ĐẠT ĐƯỢC 19 3.1 Cảnh quan 19 3.2 Mô hình xe ben 19 3.3 Mô hình xe lu 21 3.4 Mô hình máy xúc 22 3.6 Điều khiển camera 24 KẾT LUẬN 25 TÀI LIỆU THAM KHẢO .26 1 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 Mở đầu Đồ họa máy tính ngày nay được ứng dụng rất rộng rãi trong nhiều lĩnh vực khoa học, kỹ thuật, nghệ thuật, kinh doanh, quản lý, Các ứng dụng đồ họa rất đa dạng, phong phú và phát triển liên tục không ngừng Ngày nay, hầu như không có chương trình ứng dụng nào mà không sử dụng kĩ thuật đồ họa để làm tăng tính hấp dẫn của mình Một hệ đồ họa bao giờ cũng có hai thành phần chính đó là phần cứng và phần mềm Thành phần phần cứng bao gồm các thiết bị hiển thị (hay là thiết bị xuất) và các thiết bị nhập Tiêu biểu nhất trong các thiết bị hiển thị là màn hình mà cơ chế hoạt động dựa trên cấu tạo của ống tia âm cực CRT Các thiết bị nhập dữ liệu thường gặp bao gồm bàn phím, chuột Do vậy ứng dụng việc lập trình đồ họa dựa trên các thư viện glew và glut của OPENGL Chúng em đã áp dụng những kiến thức đã học vào để mô phỏng công trường của các máy đang hoạt động 2 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 CHƯƠNG 1 XÁC ĐỊNH VÀ PHÂN TÍCH BÀI TOÁN 1.1 Bài toán - Mô phỏng cảnh quan và hoạt động làm việc của máy ủi, máy cẩu, ô tô tải Cảnh quan công trường Các máy móc công là một phần không thể thiếu trong mọi ngành công nghiệp nặng Đặc biệt là ở các khu công trường, khu cảng các máy cẩu , máy ủi, tương tác với nhau hằng ngày Về cơ cấu hoạt động của máy móc khá đa dạng Do vật vừa muốn tìm hiểu về cơ chế hoạt động kèm theo là vận dụng khả năng mô phỏng đồ họa của OpenGL nên chúng em đã chọn đề tài này để thực hiện 3 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 1.2 Mô tả các đối tượng cần thiết kế - Xe ben: Mô hình xe ben + Chức năng: Di chuyển, nâng hạ thùng xe - Xe lu: 4 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 + Chức năng: Di chuyển con lăn, tắt bật đèn xe, mở cửa, đóng cửa - Máy xúc đất: 5 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 + Chức năng: Di chuyển, điều khiển gầu xúc - Xe ủi: + Chức năng: Di chuyển, điều khiển cần ủi 6 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 1.3 Mô tả bố cục khung cảnh chung Khung cảnh 7 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 Khung cảnh chiếu từ trên xuống 8 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 Khung cảnh chiếu bằng 1.4 Mô tả kịch bản - Các máy móc tương tác, phối hợp với nhau để tạo ra khung cảnh công trường với công việc đặc trưng của từng máy 9 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 - Bánh trước trái & phải: Xoay theo trục Z để quay bánh khi xe di chuyển → Quay theo trục Y để điều hướng → Translate để tại vị trí phù hợp của xe → Biến đổi theo thân xe - Ben nâng thùng: Xoay theo trục Z 1 góc 30° và Scale(1, y, 1) để co dãn theo thùng khi nâng lên → Translate để tại vị trí phù hợp với thùng xe => Biến đổi theo thân xe - Bánh sau: Xoay theo trục Z để quay bánh khi xe di chuyển → Translate để tại vị trí phù hợp của xe → Biến đổi theo thân xe - Thùng xe: Xoay theo trục Z để mở thùng xe → Translate đến vị trí thích hợp → Biến đổi theo thân xe - Cửa thùng xe: Xoay theo trục Z để mở cửa thùng xe → Translate đến vị trí thích hợp → Biến đổi theo thùng xe 2.3 Kỹ thuật áp dụng cho xe lu - Mô hình phân cấp: 12 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 - Thân xe: Xoay theo trục Y => Đặt tại vị trí x,z; y = 0.5 để phù hợp với mặt đất - Cửa xe: Xoay theo trục Y để mở, đóng cửa => Đặt tại vị trí x,y,z phù hợp với xe => Biến đổi theo thân xe - Bánh sau 1 & 2: Xoay theo trục Z để quay bánh khi xe di chuyển => Quay theo trục Y để điều hướng => Translate để tại vị trí phù hợp của xe => Biến đổi theo thân xe - Cái lu: Xoay theo trục Z để xoay lu khi xe di chuyển => Translate để tại vị trí phù hợp của xe => Biến đổi theo thân xe 2.4 Kỹ thuật áp dụng cho máy xúc - Các bộ phận của máy xúc: Thân xe , gầm xe, trục xúc, cửa xe, - Hoạt động: Di chuyển tiến lùi bằng bánh xe, quay xe trái/ phải, xoay vô lăng, cánh cửa đóng/ mở, xoay trục máy xúc 360 độ, khớp động lên xuống, … a Mô tả vắn tắt cho việc tạo mô hình máy xúc: Máy xúc gồm 3 bộ phận chính: thân xe xúc, gầm xe, trục xúc - Thân xe xúc:  Đầu cabin  Mái trên cabin  Mặt trái cabin ( cánh cửa trái )  Mặt phải cabin ( cánh cửa phải )  Vách ngăn sau đầu xe  Mặt kính  2 ghế ngồi  Vô lăng - Gầm xe:  Bộ trục bánh xe sau  Bộ trục bánh xe trước  Động cơ 13 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642  Khớp nối chuyển động bánh - Trục xúc:  Hệ thống xoay máy xúc 360 độ  Trục Xúc bậc 1  Khớp nối các bậc  Trục xúc bậc 2  Gầu xúc b Mô hình phân cấp của máy xúc: - Thân xe: Xoay theo trục Y → Đặt tại vị trí x,z; y = -0.08 để phù hợp với mặt đất - Cửa xe trái: Xoay theo trục Y để mở, đóng cửa → Đặt tại vị trí x,y,z phù hợp với xe ( với góc xoay [-60; 0]) → Biến đổi theo thân xe - Cửa xe phải: Xoay theo trục Y để mở, đóng cửa → Đặt tại vị trí x,y,z phù hợp với xe ( với góc xoay [0; 60]) → Biến đổi theo thân xe - Bánh trước: Xoay theo trục Z để quay bánh khi xe di chuyển → Quay theo trục Y để điều hướng → Translate để tại vị trí phù hợp của xe → Biến đổi theo thân xe - Bánh sau: Xoay theo trục Z để di chuyển xe → biến đổi theo thân xe 14 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 - Vô lăng: Xoay theo trục Y → Nghiêng góc 45 độ → Translate về lại vị trí đúng của xe → Biến đổi theo thân xe - Đế xoay : Xoay theo trục Y để phù hợp với vị trí cần xúc → Translate để tại vị trí phù hợp của xe → Biến đổi theo thân xe - Trục xúc bậc 1: Cho trục bậc 1 xoay theo trục Z ( với góc xoay [-80; 30] ) → xoay trục bậc 1 góc +10 độ sau đó Translate đặt lại đúng vị trí phù hợp → Biến đổi theo Đế xoay - Trục xúc bậc 2: Cho trục bậc 2 xoay theo trục Z ( với góc xoay [-20; 60] ) → xoay trục bậc 2 góc -80 độ sau đó Translate đặt lại đúng vị trí phù hợp → Biến đổi theo trục bậc 1 - Gầu xúc: Cho gầu xúc xoay theo trục Z ( với góc xoay [-20; 210] ) → xoay gầu xúc góc -90 độ sau đó Translate đặt lại đúng vị trí phù hợp → Biến đổi theo trục bậc 2 2.5 Kỹ thuật áp dụng cho xe ủi Các bộ phận của xe ủi: Thân xe , cửa xe trái/ phải, vô lăng, cần ủi, bánh xe trước/sau Hoạt động: Di chuyển tiến lùi bằng bánh xe, quay xe trái/ phải, xoay vô lăng, cánh cửa đóng/mở, nâng/ hạ cần ủi 15 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 a) Mô hình phân cấp: - Thân xe: Xoay theo trục Y → Đặt tại vị trí x ,z và y = 1 để phù hợp với mặt đất - Cửa xe trái, phải: Xoay theo trục Y để mở, đóng cửa → Dịch chuyển đến vị trí phù hợp của xe → Di chuyển theo thân xe - Vô lăng: Quay theo trục Y → Dịch chuyển đến vị trí phù hợp của xe → Biến đổi theo thân xe - Bánh trước: Xoay theo trục Z để quay bánh khi xe di chuyển → Quay theo trục Y để điều hướng → Dịch chuyển đến vị trí phù hợp của xe → Biến đổi theo thân xe - Bánh sau: Xoay theo trục Z để quay bánh khi xe di chuyển → Dịch chuyển đến vị trí phù hợp của xe → Biến đổi theo thân xe - Cần ủi 1: Xoay theo trục Z → Dịch chuyển đến vị trí phù hợp của xe → Biến đổi theo thân xe 16 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 - Cần ủi 2: Xoay theo trục Z → Dịch chuyển đến vị trí phù hợp của xe → Biến đổi theo Cần ủi 1 - Cần ủi 3: Dịch chuyển đến vị trí phù hợp của xe → Biến đổi theo Cần ủi 2 b) Mô tả vắn tắt cho việc tạo mô hình xe ủi: Máy xúc gồm 3 bộ phận chính : Thân xe, trục ủi, bộ bánh xe - Thân xe xúc: + Ghế lái + Vô lăng + Cửa xe trái/ phải + Nắp Cabin + Mặt trước Cabin + Mặt sau Cabin + Hai thanh khung + Thanh bám giữ sau xe + Thân dưới - Trục ủi: + Hai thanh giữ trục nâng + Trục giữ cần ủi + Cần ủi 1 + Cần ủi 2 + Bàn ủi - Bộ bánh xe + Bộ bánh xe trước + Hai trục nối chuyển động + Bộ bánh xe sau 17 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 2.6 Kỹ thuật áp dụng cho camera - Ta có vị trí của eye khi khởi tạo - Để xác định vị trí của vec4 cam_forward (at - eye) có độ dài là 1, ta sẽ lưu 3 góc x,y,z (cam_Rotation[x=0,y=1,z=2]) như hình: - Ta có công thức: vec3 cam_forward = normalize(vec3(cosf(DEGtoRAD(cam_Rotation[0])) * abs(sinf(DEGtoRAD(cam_Rotation[1]))), cosf(DEGtoRAD(cam_Rotation[1])), cosf(DEGtoRAD(cam_Rotation[2])) * abs(sinf(DEGtoRAD(cam_Rotation[1]))))); - Ta tìm được at: at = eye + cam_forward (at luôn cách eye một đoạn bằng 1) - vec3 cam_right = normalize(cross(cam_forward, up)); - vec3 cam_up = normalize(cross(cam_right, cam_forward)); - Để xoay camera, ta sẽ thay đổi góc x,y,z - Để di chuyển, ta sẽ tịnh tiến eye theo cam _forward, right, up 18 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 CHƯƠNG 3 KẾT QUẢ ĐẠT ĐƯỢC 3.1 Cảnh quan - Lá cây đung đưa, xe di chuyển trên đường, hồ nước, xe cộ di chuyển 19 Downloaded by ANH BACH (bachvan15@gmail.com)

Ngày đăng: 21/03/2024, 17:21

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

TÀI LIỆU LIÊN QUAN

w