Tải bản đầy đủ (.pdf) (11 trang)

Báo cáo bài tập lớn Đồ họa máy tính Mô phỏng lá rơi

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (751.83 KB, 11 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
--------------  -------------

BÁO CÁO BÀI TẬP LỚN

Đề bài

Mô phỏng chuyển động rơi của lá cây

Môn: Đồ Họa Máy Tính
Giảng viên: ThS.Đào Minh Thư

Thành viên nhóm
1. Nguyễn Xuân Hải
2. Hoàng Minh Phúc
3. Dương Hồng Hạnh
4. Thiều Mạnh Hùng

Hà Nội, 2013


Thành viên của nhóm
1. Nhóm trưởng : Nguyễn Xuân Hải
MSSV : 10020109

SĐT : 01647079192

Email :
2. Hoàng Minh Phúc
MSSV : 10020259



SĐT: 01663731892

3. Dương Hồng Hạnh
MSSV : 10020115

SĐT : 01685433685

4. Thiều Mạnh Hùng
MSSV : 10020169

SĐT : 0985950486


Nội dung
1 . Mô tả chương trình
Yêu cầu của chương trình:
- Mô phỏng scence gồm có tree và thể hiện được các yếu tố như gió, ánh
sáng.
- Mô phỏng chuyển động rơi của lá cây có tác động của gió, lực cản không
khí.
- Thay đổi được góc nhìn tùy ý.
Mô tả chức năng của chương trình:
-

Sử dụng phím F1 để xem toàn màn hình.

- Sau khi chạy chương trình, click chuột trái để bắt đầu việc mô phỏng
chuyển động rơi của lá cây. Sẽ có nhiều lá, và mỗi lá có 1 khoảng thời gian
chuyển màu từ xanh sang vàng khác nhau. Cứ sau một khoảng thời gian,

màu của các lá sẽ thay đổi, khi chuyển hẳn thành màu vàng thì lá sẽ rơi, lá
nào ngả màu vàng trước sẽ rơi trước. Việc chọn tọa độ rơi của lá cây là
ngẫu nhiên để mô phỏng sự ảnh hưởng của gió.
- Hướng gió cũng được tạo ngẫu nhiên. Có 2 hướng gió chính (quan sát tại
vị trí đối diện với ngôi nhà – vị trí ban đầu):
 Hướng theo trục x: (trục nằm ngang) gọi là windx
 Hướng theo trục z: (trục vuông góc với màn hình) gọi là windz
Với mỗi hướng trên, có 3 trường hợp xảy ra:
 windx: từ trái qua phải, từ phải qua trái và không có gió.
 windz: từ trước ra sau, từ sau ra trước và không có gió.
Kết hợp lại ta có tất cả 9 hướng gió (xem hình vẽ để biết thêm chi tiết).
Người dùng có thể thay đổi bằng cách sử dụng phím PageUp (thay đổi
windx) và PageDown (thay đổi windz).
- Dùng 4 phím mũi tên (lên, xuống, trái, phải) để thay đổi góc nhìn.


- Dùng phím Enter để bắt đầu lại từ đầu.
- Nhấn phím Esc để thoát.
(Có hướng dẫn sử dụng tại màn hình Console)
Một số hình ảnh của chương trình
Ban đầu khi chưa click chuột

Lá vàng sau đó bắt đầu rơi


Quan sát từ trên cao

Gió thổi từ trước ra sau



Gió thổi từ sau ra trước

Gió thổi từ phải qua trái


Gió thổi từ trái qua phải

Không có gió


Mô tả cài đặt các lớp chính:
 Lớp Leaf: mô phỏng chiếc lá
o Các thuộc tính:
 Tọa độ của lá (x, y, z) kiểu GLfloat
 Đối tượng model kiểu GLMmodel, dùng để load file Obj chứa
chiếc lá
o Các hàm:
 set(file) : load file Obj
 clone(myLeaf) : tạo bản sao. Vì có nhiều lá nên để tranh phải
load lại cùng 1 file Obj nhiều lần. Chỉ cần một model load file
Obj, các đối tượng model của các lá đều tham chiếu đến cùng
đối tượng model đó.
 setPosition(x1, y1, z1) : di chuyển lá đến vị trí (x1, y1, z1)
 các hàm getX(), getY(), getZ() để lấy tọa độ x, y, z của lá
 drawModel(x1, y1, z1) : thực hiện vẽ chiếc lá tại vị trí cách vị
trí hiện tại của lá một khoảng (x1, y1, z1). Trong hàm này, có
hàm glScalef() để co kích thước của lá lại cho nhỏ đi.
 Lớp House: mô phỏng nhà và cây
o Các thuộc tính:
 Tọa độ của nhà và cây (x, y, z) kiểu GLfloat

 Đối tượng model kiểu GLMmodel, dùng để load file Obj chứa
ngôi nhà và cây
o Các hàm:
 set(file, x1, y1, z1): load file Obj và đặt vật thể tại vị trí (x1,
y1, z1)


 drawModel(x1, y1, z1): thực hiện vẽ nhà và cây tại vị trí cách
vị trí hiện tại một khoảng (x1, y1, z1). Trong hàm này, có hàm
glScalef() để tăng kích thước của nhà và cây.


2 . Phân công công việc
1. Yêu cầu chung cho tất cả các thành viên trong nhóm:
Tìm hiểu nội dung đề bài, các yêu cầu cũng như kiến thức cần sử dụng,
tổng hợp lại những vướng mắc để giải quyết, và cố gắng thực hiện tốt phần
việc của mình trước khi test để báo cáo.
2. Phân công công việc cho các thành viên như sau :
 Code chính
- Người thực hiện :
 Nguyễn Xuân Hải
- Nhiệm vụ :
 Thực hiện thiết kế các lớp và code với mẫu thống nhất từ trước
đó
 Tổng hợp toàn bộ code hoàn chỉnh của chương trình từ những
phần riêng của các thành viên khác trong nhóm.
 Load file
- Người thực hiện :
 Dương Hồng Hạnh
- Nhiệm vụ :

 Thực hiện phần load file .obj, .mdl
 Tìm file và xử lý dữ liệu của file để load thành công file cần thiết.
 Chỉnh sửa ảnh
- Người thực hiện :
 Thiều Mạnh Hùng
- Nhiệm vụ :


 Dùng photoshop chỉnh sửa màu ảnh của các đối tượng sao cho
đẹp, hoàn chỉnh.
 Xử lý các phím chức năng, click chuột.
 Xứ lý các chức năng
- Người thực hiện :
 Hoàng Minh Phúc và Nguyễn Xuân Hải, cùng với 2 bạn còn lại
tìm hiểu các hàm để đưa vào bài làm.
- Nhiệm vụ :
 Xử lý chuyển động của lá cây, sự thay đổi màu sắc của lá cũng
như thời gian tự động chuyển màu (từ xanh sang vàng) của lá,
yếu tố gió, ánh sáng,
 Viết báo cáo
- Người thực hiện: Hoàng Minh Phúc, Nguyễn Xuân Hải



×