LỜI NÓI ĐẦUCùng với sự phát triển của khoa học kỹ thuật, yêu cầu mô phỏng các hiện tượng tự nhiên bằng phần mềm cũng tăng lên một cách đáng kể.. Một trong những ứng dụng của công nghệ nà
Trang 1──────── * ───────
BÁO CÁO
MÔN: PROJECT 1
MÔ PHỎNG SỰ PHÂN TÁN CỦA GIỌT MỰC
TRÊN MẶT NƯỚC
Sinh viên thực hiện : Trần Ngọc Vinh - 20173468 Lớp : KTMT.06 K62
Giáo viên hướng dẫn : PGS.TS.Đặng Văn Chuyết
Hà Nội, tháng 12 năm 2019
Trang 2MỤC LỤC
MỤC LỤC 2
LỜI NÓI ĐẦU 3
CHƯƠNG 1 KHẢO SÁT, ĐẶC TẢ YÊU CẦU BÀI TOÁN 4
1.1 Mô tả yêu cầu bài toán 4
1.2 Hướng tiếp cận 4
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ 4
2.1 Giao diện hiển thị 4
CHƯƠNG 3 CÔNG NGHỆ SỬ DỤNG 5
3.1 Java AWT (Abstract Window Toolkit) 5
3.2 Java Swing 6
CHƯƠNG 4 XÂY DỰNG CHƯƠNG TRÌNH 7
4.1 Giao diện ban đầu 7
CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 8
LỜI CẢM ƠN 9
2
Trang 3LỜI NÓI ĐẦU
Cùng với sự phát triển của khoa học kỹ thuật, yêu cầu mô phỏng các hiện tượng tự nhiên bằng phần mềm cũng tăng lên một cách đáng kể Một trong những ứng dụng của công nghệ này được nhiều người biết đến nhất đó chính là chương trình mô phỏng, dự đoán ảnh hưởng của các thiên tai như bão lụt, động đất, sóng thần, góp phần phòng chống, sơ tán người dân khỏi khu vực nguy hiểm một cách hiệu quả nhất giảm thiểu thiệt hại về người và của Sau khi biết đến những thành tựu lớn này, em rất ấn tượng và cũng muốn góp một chút công sức dù là rất nhỏ cho lĩnh vực này nhưng với vốn kiến thức có hạn, việc bắt tay vào làm những công việc phức tạp như thế này đối với em là bất khả thi nên em quyết định thông qua môn Project 1 tìm hiểu dần về công việc này Từ đó em quyết định bắt tay vào làm một phần mềm mô phỏng sự phân tán của các giọt mực trên mặt nước ở mức đơn giản nhất
Trang 4CHƯƠNG 1 KHẢO SÁT, ĐẶC TẢ YÊU CẦU BÀI TOÁN
Mô phỏng sự phân tán của một giọt mực trên mặt nước
Cụ thể: một giọt mực có n phần tử (n nhập bên ngoài, tự chọn)
- Để mô tả phát tán: Sau thời gian nhất định tính lại vị trí của từng phần tử mực một ( coi vị trí ban đầu của mỗi phần tử mực là tọa độ nhất định, ngẫu nhiên)
- Giả định tại mỗi thời điểm tính thì phần tử mực phát ra hướng mới ngẫu nhiên Vận tốc mực luôn đều, không tính lực cản mặt nước, ảnh hưởng trọng lực
ta không xét
- Sử dụng ngôn ngữ Java để xây dựng chương trình mô phỏng
Ở bài toán này, chúng ta bỏ qua các lực phức tạp mà chỉ cho các phần tử mực chuyển động đều với vận tốc không đổi, hướng chuyển động của mỗi phần
tử mực ngẫu nhiên trong từng thời điểm, do đó chúng ta tính đến việc cho các giọt mực một vận tốc như nhau và không đổi trong suốt quá trình chuyển động còn hướng chuyển động thì cứ sau t(s) lại thay đổi một lần, để cho quá trình mô phỏng giống thực tế thì chúng ta cho t = 0.1(s)
Gán tọa độ ban đầu của giọt mực là (xStart, yStart)
Gọi góc của vecto vận tốc là a ta có tọa độ của các giọt mực trong từng thời điểm là : xmới = xcũ + t*v*cos(a)
ymới = ycũ + t*v*sin(a)
CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ
Ở đây ta tạo một Frame với các Panel chính:
- Panel pnlTitle : chứa tiêu đề của chương trình
- Panel pnlSimulation : nơi hiển thị quá trình phân tán
- Panel pnlWest : nơi để nhập số phần tử và chứa các tùy chọn cho chương trình, panel này bao gồm :
+ Panel pnlForm : chứa form để nhập các dữ liệu cần thiết, hiện tại chỉ
có nhập n nhưng sau này em hướng đến việc nhập các số liệu khác ảnh
hưởng đến việc phân tán chứ không chỉ dừng lại ở việc phân tán đơn giản với vận tốc và góc chuyển động như hiện nay
+ Panel pnlOption : chứa các tùy chọn như sau Bắt đầu – để bắt đầu phân tán, Nhập lại – để tùy chọn nhập lại số liệu với các giá trị khác, Tạm
4
Trang 5dùng để cho các phần tử mực tiếp tục phân tán.
Java AWT (Abstract Window Toolkit): là một API để phát triển các ứng dụng dựa trên GUI hoặc cửa sổ trong java
Gói java.awt cung cấp các lớp cho api AWT như TextField, Label, TextArea, RadioButton, CheckBox, Choice, List, v.v
Hệ thống phân cấp của các lớp Java AWT được đưa ra dưới đây.
Trang 61.2 Java Swing
Java Swing: được sử dụng để tạo các ứng dụng window-based Nó được xây dựng trên API AWT (Abstract Windowing Toolkit) và được viết hoàn toàn bằng Java
Không giống như AWT, Java Swing cung cấp các thành phần không phụ thuộc vào nền tảng và nhẹ hơn
6
Trang 7CHƯƠNG 4 XÂY DỰNG CHƯƠNG TRÌNH
Như đã trình bày ở trên thì đây là giao diện sau khi hiển thị
Hình 1: Giao diện chính 1
Sau khi nhập n và ấn bắt đầu thì giao diện sẽ hiển thị như sau:
Trang 8Hình 2: Qúa trình phân tán
Ưu điểm:
Dễ sử dụng
Nhược điểm:
Giao diện menu chưa đẹp mắt
Chưa mô phỏng sát với thực tế
Hướng phát triển của đề tài:
Làm phần giao diện thêm đẹp mắt
Phát triển thêm các thuật toán để có thể mô tả các loại phân tán phức tạp hơn
8
Trang 10LỜI CẢM ƠN
Qua một thời gian tìm hiểu và tiến hành thực hiện đến nay, Project
“Chương trình mô phỏng phân tán của giọt mực trên mặt nước” đã hoàn thành
Em xin chân thành cảm các thầy cô đã trang bị kiến thức quý báu cho em trong suốt quá trình học Đặc biệt là các thầy các cô trong khoa Công nghệ thông tin
đã tận tình giảng dạy, chỉ bảo, trang bị cho em những kiến thức cần thiết nhất trong suốt quá trình học tập tại khoa, đã tạo mọi điều kiện thuận lợi giúp em thực hiện đề tài lớn này
Em cũng xin chân thành cảm ơn thầy Đặng Văn Chuyết đã tận tình hướng dẫn em hoàn thành tốt đề tài này
Trong quá trình thực hiện đề tài, chúng em đã cố gắng rất nhiều nhưng vẫn không tránh khỏi những thiếu xót cũng như những hạn chế nhất định Em mong nhận được sự đóng góp ý kiến, chỉ bảo tận tình của các thầy cô trong khoa
để đề tài của em hoàn thiện hơn và thiết thực hơn
Em xin chân thành cảm ơn!
10