ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM KHÓA LUẬN TỐT NGHIỆP ỨNG DỤNG XNA XÂY DỰNG CHƯƠNG TRÌNH MƠ PHỎNG VẬT LÝ APPLY XNA TO BUILD A PHYSICS SIMULATION GVHD SVTH LỚP KHÓA : ThS PHẠM THI VƯƠNG : PHẠM TRỊNH ĐỒNG NGUYỄN THỊNH KHẢ : CNPM02 : 02 TP Hồ Chí Minh, tháng 02 năm 2012 MỤC LỤC Foreword Mở đầu Lời cảm ơn Mục lục Thuật ngữ từ viết tắt Danh mục bảng biểu Danh mục hình vẽ CHƢƠNG I: GIỚI THIỆU 1 Giới thiệu đề tài Mục tiêu đề tài CHƢƠNG II: KIẾN THỨC VẬT LÝ Chuyển động điều hòa lắc đơn Chuyển động vật mặt phẳng nghiêng 10 Chuyển động vật bị ném xiên 14 CHƢƠNG III: CÔNG NGHỆ XNA 17 Tổng quan XNA 17 1.1 Giới thiệu XNA 17 1.2 XNA Framework 17 1.3 XNA Game Studio 18 Cấu trúc Project XNA Game 19 XNA với lập trình Game 2D 22 3.1 Giới thiệu XNA Game 2D 22 3.2 Tạo Class cho Project 22 3.3 Xử lí Input, Audio Font 24 XNA với lập trình Game 3D 30 4.1 Môt số khái niệm đơn vị lập trình Game 3D 30 4.2 XNA với lập trình Game 3D 35 GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả CHƢƠNG IV: PHYSICS SIMULATOR 42 Phân tích yêu cầu 42 Thiết kế 43 2.1 Use Case 43 2.2 Giải thích 43 Xử lí 45 3.1 Phóng đại góc quay lắc đơn 45 3.2 Vấn đề với việc chọn vị trí ban đầu lắc đơn 45 3.3 Vấn đề xem thơng số vị trí lắc đơn 46 3.4 Tìm cơng thức chung cho Pha chuyển động mặt phẳng 46 3.5 Lực ma sát nghỉ 48 3.6 Vận tốc chuyển đổi mặt phẳng 50 3.7 Vấn đề AdaptRatio ném xiên 51 3.8 Chuyển động ném xiên xuống thấp độ cao ban đầu 51 3.9 Ý tưởng Game Tổng Hợp 52 3.10 Hiển thị tiếng Việt 54 3.11 Vấn đề với GameTime 57 Cài đặt 59 4.1 Diagram 59 4.2 DGui 73 4.3 Giao diện 78 CHƢƠNG V: KẾT LUẬN 85 Ưu điểm 85 Nhược điểm 85 So sánh Physics Simulator với số ứng dụng mô vật lý khác 86 Hướng phát triển 87 TÀI LIỆU THAM KHẢO 88 GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả THUẬT NGỮ VÀ TỪ VIẾT TẮT GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả DANH MỤC BẢNG BIỂU Bảng IV.4.3.1.1.1 Bảng IV.4.3.2.2.1 Bảng IV.4.3.3.2.1 Bảng IV.4.3.4.2.1 Bảng V.1 Bảng V.2 Bảng V.3 Bảng V.4 Bảng V.5 Button OK hình thơng tin Các Control hình Input 'Con lắc đơn' Các Control hình Input 'Vật ném xiên' Các Control hình Input 'Mặt phẳng nghiêng' Physics Simulator so với ứng dụng mô vật lý Physics Simulator so với ứng dụng mô vật lý Physics Simulator so với ứng dụng mô vật lý Physics Simulator so với ứng dụng mô vật lý Physics Simulator so với ứng dụng mô vật lý GVHD: ThS Phạm Thi Vương 78 79 81 83 86 86 86 86 87 SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả DANH MỤC HÌNH VẼ Hình I.1.1 Hình I.1.2 Hình I.1.3 Hình I.1.4 Hình I.1.5 Hình II.1.1 Hình II.2.1 Hình II.3.1 Hình II.3.2 Hình III.3.3.2.1 Hình III.3.3.2.2 Hình III.3.3.2.3 Hình III.4.1.1.1 Hình III.4.1.3.1 Hình III.4.1.3.2 Hình III.4.1.4.1 Hình III.4.1.5.1 Hình III.4.1.5.2 Hình III.4.1.6.1 Hình III.4.1.6.2 Hình III.4.2.1.1 Hình III.4.2.1.2 Hình III.4.2.2.1 Hình III.4.2.2.2 Hình III.4.2.2.3 Hình III.4.2.2.4 Hình III.4.2.2.5 Hình III.4.2.2.6 Hình III.4.2.5.1 Hình IV.2.1.1 Hình IV.3.2.1 HìnhIV.3.10.1.1 Hình IV.3.10.2.1 Hình IV.3.10.2.2 Hình IV.3.10.3.1 Hình IV.4.1.1.1 Hình IV.4.1.1.2 Hình IV.4.1.1.3 Hình IV.4.1.1.4 Ứng dụng mô vật lý thứ Ứng dụng mô vật lý thứ Ứng dụng mô vật lý thứ Ứng dụng mô vật lý thứ Ứng dụng mô vật lý thứ Con lắc đơn Mặt phẳng nghiêng Vật ném xiên Phân tích chuyển động ném xiên New Wave Bank New Sound Bank Import Audio Hệ trục tọa độ 3D Mesh Overview Mesh 3D – Pyramid Rendering Pipeline Height Map Terrain tạo từ Height Map hình Wireframe (trên), SolidRendering (dƣới) Keyframed Animation Skeletal Animation với Mesh Skeleton Perspective Projection Orthogonal Projection Point List Line List Line Strip Triangle List Triangle Strip Triangle Fan Skeletal Animation – Alien Spider Use Case Xác định vị trí lắc Add New Sprite Font Character Map Thơng số kí tự Calculator (Programmer Mode) General Diagram Diagram Section Diagram Section Diagram Section GVHD: ThS Phạm Thi Vương 11 15 15 26 26 27 30 31 31 32 32 33 34 34 35 36 36 37 37 38 38 38 41 43 45 54 55 56 56 59 59 60 61 SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả Hình IV.4.1.1.5 Hình IV.4.2.3.1.1 Hình IV.4.2.3.1.2 Hình IV.4.2.3.1.3 Diagram Section Project Dependencies Project Build Order Add DGui Reference GVHD: ThS Phạm Thi Vương 62 75 76 76 SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả Physics Simulator CHƯƠNG I: GIỚI THIỆU Giới thiệu đề tài Vật lý nghiên cứu tự nhiên với nhiều lĩnh vực: cơ, nhiệt, quang, điện, hạt nhân… Các lĩnh vực đem lại tri thức để ngƣời hiểu rõ giới xung quanh Trong đó, học, đặc biệt động lực học, lĩnh vực tƣợng gần gũi nhất: Con lắc đơn (vật treo đung đƣa cành cây), Vật ném xiên(quả bóng chuyền lên cao rơi xuống), Mặt phẳng nghiêng(quyển sách đặt mặt bàn nghiêng) Trong học, ba loại tƣợng dễ quan sát thấy trực tiếp so với số tƣợng khác nhƣ: Con lắc lò xo, Ròng rọc… Rất nhiều tƣợng đƣợc hiểu chi tiết qua mô tả nhờ thông số, từ ngữ (sách, vở) Trong khi, tại, công nghệ thông tin với phát triển cao công nghệ vi tính cung cấp hỗ trợ đại lớn Điều dẫn tới khả mơ tƣợng vật lý cách trực quan, nhƣ nhiều ứng dụng có thị trƣờng XNA vốn cơng cụ cho lập trình Game C# Microsoft với nhiều ƣu điểm hỗ trợ tốt cho mục đích mơ Một số ứng dụng Mô vật lý Ứng dụng [13] Hình I.1.1 GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả Physics Simulator - - - Copyright © Walter Fendt, May 21, 1998 Là mô tƣợng lắc đơn Đặc điểm chính: o Các chức năng: Chức Reset, Start Chức chỉnh chế độ quan sát với tốc độ chậm (Slow Motion) Chức chỉnh thơng số bên cạnh hình mơ o Các thông tin hiển thị: Hiển thị số thông số tƣợng Hiển thị Đồ thị, Quỹ đạo chuyển động Hiển thị đồng hồ đếm thời gian Ƣu điểm chính: o Giao diện thể tính chất khoa học o Thể thông tin hầu hết thơng số cần thiết Khuyết điểm chính: o Khơng có thơng tin lƣợng Ứng dụng 2[6] Hình I.1.2 - Thiết kế: CN.Trần Văn Huy – Đại Học Sƣ Phạm Hà Nội Là mô tƣợng vật ném xiên với hình ảnh đại bác bắn từ độ cao khác GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả Physics Simulator - - Đặc điểm chính: o Các chức năng: Điều chỉnh thông số không cách nhập trực tiếp mà qua hình ảnh bảng điều khiển: Chức điều chỉnh góc bay Chức điều chỉnh vận tốc Chức điều chỉnh độ cao o Các thông tin hiển thị: Hiển thị Quỹ đạo Hiển thị Vector vận tốc Hiển thị Màn hình theo kiểu lƣới bảng khơng gian Ƣu điểm chính: o Giao diện chức thân thiện Nhƣợc điểm chính: o Khơng có thơng tin thông số tƣợng Ứng dụng [13] Hình I.1.3 - Copyright © Walter Fendt, September 13, 2000 Là mô tƣợng vật ném xiên Đặc điểm chính: GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả 74 Physics Simulator - Kế thừa: DTextBox – DTextBoxBase – DPanel – DGuiSceneNode Hỗ trợ nhiều Contructor Là thành phần quan trọng việc bắt phím nhập liệu (XNA hỗ trợ kiểm tra phím nhấn bàn phím) Mọi xử lí bàn phím trỏ chuột đƣợc thực hàm UpdateKeyboardInput (class DTextboxBase): o Loại bỏ tất phím bấm buffer trƣớc o Ƣu tiên xử lí phím chức trƣớc nhƣ Ctrl + A, Ctrl + Alt, Enter, Backspace o Mỗi lần ngƣời dùng nhập liệu, phím nhấn đƣợc đƣa vào buffer hiển thị lên control EnterPressed Event - Là kiện nhấn phím Enter cho textbox GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả 75 Physics Simulator - DGui có hỗ trợ tính này, thuận lợi cho việc kiểm tra liệu nhập thực lệnh khác Sự kiện đƣợc sử dụng nhiều hình mơ Lỗi UpdateCursorPosition - - - Một tính chƣơng trình gán lại giá trị cho textbox ngƣời dùng nhập sai Một lỗi đƣợc tìm thấy DGui – class Textbox khơng xác định đƣợc vị trí nháy trỏ chuột textbox sau thay đổi liệu ô Textbox Để sửa lỗi không can thiệp sau vào code DGui, cần phải thiết lập lại vị trí trỏ chuột textbox giá trị mà đảm bảo ln tồn tại, CursorIndex = Tuy nhiên thuộc tính CursorIndex protected nên ta sửa lại public o Lỗi đƣợc sửa tạm thời 4.2.3 Làm việc với DGui 4.2.3.1 Project Dependencies Project Build Order Hình IV.4.2.3.1.1 - Để đảm bảo thành phần DGui hoạt động tốt project, ta thực bƣớc sau: o Nhấp phải vào Solution Name project chọn Add \ Existing Project GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả 76 Physics Simulator o Chọn file *.csproj DGui o Nhấp phải vào Solution Name project chọn Project Dependencies o Và thiết lập project cần sử dụng DGui phụ thuộc vào project DGui nhƣ hình bên o Kết Build Order là: Hình IV.4.2.3.1.2 o Bƣớc Add Reference project cần sử dụng DGui o Nhấp phải mục References project chọn Add Reference, thiết lập nhƣ hình bên dƣới Hình IV.4.2.3.1.3 GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả 77 Physics Simulator - Vậy hoàn thành việc đƣa control DGui vào project 4.2.3.2 Using DGui - Khai báo Statements using DGui; - Khai báo biến: DGuiManager gui; DForm form; DTextBox tbM, tbL, tbAlpha, tbV; - Bắt buộc phải có thành phần DguiManager Dform Tạo đối tƣợng thể hình: gui = newDGuiManager(ScreenManager.Game, ScreenManager.SpriteBatch); form = newDForm(gui, "Gui", null); form.Size = newVector2(100, 150); form.Position = newVector2(100, 470); form.BorderColor = Color.White; form.TintColor = colorBg; form.Initialize(); gui.AddControl(form); tbM = newDTextBox(gui, 0, 0, 100, 30); tbM.FontName = "Font\\InputFont"; tbM.Initialize(); tbM.Text = m.ToString(); form.AddPanel(tbM); … ScreenManager.Game.Components.Add(gui); - Đoạn code phải đƣợc thực theo trình tự: o Khởi tạo đối tƣợng gui o Khởi tạo đối tƣợng form Initialize() o Thực phƣơng thức AddControl(form) với đối tƣợng gui o Khai báo đối tƣợng khác, bắt buộc phải có hàm Initialize() o Thực phƣơng thức AddPanel(control) với đối tƣợng form o Cuối thêm gui nhƣ component vào game GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả 78 Physics Simulator 4.3 Giao diện 4.3.1 Giới thiệu chung 4.3.1.1 Màn hình thơng tin Màn hình thơng tin hình cung cấp thông tin tƣợng.Tùy vào tƣợng mà thơng tin là: - Các thành phần tƣợng Điều kiện chung để xảy tƣợng (theo lý thuyết khoa học) Ứng dụng thực tiễn tƣợng Hình minh họa theo lý thuyết vật lý tƣợng Bài toán thể trƣờng hợp đƣợc chọn để mô tƣợng Điều kiện riêng để thực mô tƣợng (đƣợc đặt cho phù hợp với chức mô phỏng) Từ Màn hình thơng tin, để vào Màn hình Mơ (Màn hình Simulator), nhấn chuột trái vào nút góc dƣới bên phải hình STT Tên 01 btnConfirm Loại Button Ý nghĩa Sự kiện Kiểm tra hợp lệ chuyển giá btnConfirm_Click trị qua hình mơ Bảng IV.4.3.1.1.1 4.3.1.2 Màn hình Simulator Là hình thể mô tƣợng, chứa thông tin chức để tùy biến mô cách đa dạng Thông tin: Tùy vào tƣợng mà thơng tin là: - Các liệu đầu vào: đƣợc đặt Textbox, dùng để theo dõi thay đổi thông số ban đầu cho Mô Chƣơng trình sẽthơng báo liệu nhập khơng hợp lệ với điều kiện khoa học điều kiện mô tƣợng Các thông báo hình làm tối khung cảnh xung quanh Tùy vào tƣợng mà thông báo là: o Nhập thiếu liệu nhập liệu sai định dạng o Không thỏa mãn điều kiện chung o Không thỏa mãn điều kiện riêng - Các thơng số đƣợc tính tốn theo cơng thức lý thuyết khoa học - Các thông số tùy biến đặc trƣng riêng chƣơng trình mơ Chức năng: Tùy vào tƣợng mà chức là: GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả 79 Physics Simulator - Lƣu giữ mô tập tin riêng Tạm dừng / Tiếp tục chạy mô Làm chậm mô / Trở tốc độ mơ bình thƣờng Tự động cho mô chạy lại từ đầu sau tƣợng kết thúc Các chức tùy biến đặc trƣng riêng chƣơng trình mơ 4.3.2 Con lắc đơn 4.3.2.1 Màn hình thơng tin Là hình thơng tin „Con lắc đơn‟ với: Thơng tin: - Tên mô - Cấu tạo: Các thành phần tƣợng - Điều kiện: Điều kiện để xảy tƣợng (theo lý thuyết khoa học) - Bài toán: Bài toán thể trƣờng hợp đƣợc chọn để mơ tƣợng 4.3.2.2 Màn hình Simulator STT 01 02 03 04 Tên tbM tbL tbAlpha tbV Loại Textbox Textbox Textbox Textbox Ý nghĩa Nhập giá trị m Nhập giá trị l Nhập giá trị α Nhập giá trị v Sự kiện - Bảng IV.4.3.2.2.1 Là hình Simulator „Con lắc đơn‟ với: Thông tin: - Các liệu đầu vào: o Dữ liệu nhập: m: Khối lƣợng vật treo l: Độ dài dây treo α: Góc thể độ lệch vị trí ban đầu treo vật so với vị trí cân Vị trí cân vị trí mà vật nằm thẳng đứng dƣới điểm treo Góc đƣợc tính radian, chấp nhận giá trị âm dƣơng với vị trí vị trí cân bằng, phần âm phần khơng gian bên trái phần dƣơng phần không gian bên phải vị trí cân v: Vận tốc ban đầu mà vật đƣợc cung cấp, chấp nhận giá trị âm (hƣớng từ phải sang trái) dƣơng (hƣớng từ trái sang phải) GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả 80 Physics Simulator o Thông báo: Nhập thiếu liệu nhập liệu sai định dạng (ví dụ: khối lƣợng âm, độ dài âm…) Biên độ góc vƣợt 0.175 radian: chƣơng trình kiểm tra liệu nhập, tính tốn biên độ góc để so sánh với điều kiện góc quay không 10 độ (xấp xỉ 0.175 radian) Khối lƣợng, Độ dài khơng đƣợc Góc lệch ban đầu Vận tốc ban đầu không đƣợc đồng thời 0: Nếu hai liệu đồng thời vật đứng yên vị trí cân - Các thơng số đƣợc tính tốn theo công thức lý thuyết khoa học: o α_max: Giá trị tuyệt đối Biên độ góc (Góc lệch cực đại) o α: Góc lệch tức thời (Góc lệch thời điểm tại) o v_max: Giá trị tuyệt đối Vận tốc cực đại (tại vị trí cân bằng) o v: Vận tốc tức thời (Vận tốc thời điểm tại) o Wt: Thế thời điểm o Wd: Động thời điểm - Các thông số tùy biến đặc trƣng riêng chƣơng trình mơ phỏng: o Trạng thái: Trạng thái mô (“Dừng” – “Đang chạy”) o Mức phóng đại góc quay: Số lần mà góc quay đƣợc phóng đại (vì lắc đơn tƣợng với điều kiện góc quay nhỏ 10 độ, khó quan sát, nên góc quay đƣợc phóng theo dõi tiện lợi) Chức năng: - Lƣu giữ mô tập tin riêng - Tạm dừng / Tiếp tục chạy mô - Làm chậm mô / Trở tốc độ mô bình thƣờng - Các chức tùy biến đặc trƣng riêng chƣơng trình mơ phỏng: o Chọn vị trí ban đầu cho vật: Chọn Góc lệch ban đầu để bắt đầu lại mô với Khối lƣợng vật Độ dài dây, ra, Vận tốc ban đầu Số đo thể Góc lệch ban đầu thay đổi tƣơng ứng vị trí chọn thay đổi.Đồng thời, đƣa Mức phóng dại góc quay giá trị mặc định (9 lần) o Kiểm tra thơng số vị trí bất kỳ: Chọn vị trí q trình tƣợng mơ xảy để theo dõi thông số đó.Đồng thời, đƣa Mức phóng dại góc quay giá trị mặc định (9 lần) o Tăng / Giảm / Đƣa Mức phóng đại góc quay giá trị mặc định: Thay đổi Mức phóng đại góc quay để tiện lợi cho theo dõi cách tùy ý Mức GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả 81 Physics Simulator phóng đại nằm đoạn từ lần tới lần Khi Chọn vị trí ban đầu Kiểm tra thơng số Mức phóng đại góc quay đƣợc đƣa giá trị mặc định (9 lần) 4.3.3 Vật ném xiên 4.3.3.1 Màn hình thơng tin Là hình thơng tin „Vật ném xiên‟ với: Thông tin: - Tên mô - Bài toán: Bài toán thể trƣờng hợp đƣợc chọn để mô tƣợng - Điều kiện: Điều kiện riêng để thực mô tƣợng (đƣợc đặt cho phù hợp với chức mô phỏng) 4.3.3.2 Màn hình Simulator STT 01 02 03 04 Tên tbM tbH tbAlpha tbV Loại Textbox Textbox Textbox Textbox Ý nghĩa Nhập giá trị m Nhập giá trị h Nhập giá trị α Nhập giá trị v Sự kiện - Bảng IV.4.3.3.2.1 Là hình Simulator „Vật ném xiên‟ với: Thông tin: - Các liệu đầu vào o Dữ liệu nhập: m: Khối lƣợng vật h: Độ cao từ điểm bị ném vật so với mặt đất vo: Vận tốc ban đầu mà vật đƣợc cung cấp α: Góc mà vật đƣợc ném đi, so với phƣơng ngang Trên hình mô phỏng, vật đƣợc ném từ trái sang phải, với góc ném góc hợp nửa bên phải phƣơng ngang (bên phải so với vị trí ném) phƣơng ném o Thông báo: Nhập thiếu liệu nhập liệu sai định dạng (ví dụ: khối lƣợng âm, độ cao âm…) Dữ liệu nhập không thỏa mãn điều kiện mô GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả 82 Physics Simulator Các thơng số đƣợc tính tốn theo cơng thức lý thuyết khoa học (gốc tọa độ theo chiều dài (mét): O(0;0) đặt điểm nối đƣờng thẳng mặt đất đƣờng thẳng thẳng đứng qua vị trí ban đầu vật): o X: Tầm xa tức thời (Tầm xa thời điểm tại, so với gốc tọa độ X) o L (Limit): Tầm xa cực đại mà vật vƣơn tới (Tầm xa vật so với gốc tọa độ X, vật chạm đất, kết thúc tƣợng) o Y: Độ cao tức thời (Độ cao thời điểm tại, so với gốc tọa độ Y) o h (Limit): Độ cao cực đại mà vật vƣơn tới (Độ cao vật so với gốc tọa độ Y, vật vị trí cao nhất) o Wt: Thế thời điểm o Wd: Động thời điểm - Các thông số tùy biến đặc trƣng riêng chƣơng trình mơ phỏng: o Trạng thái: Trạng thái mô (“Dừng” – “Đang chạy”) o Chạy lại: Trạng thái chế độ „cho phép tự động lặp lại mô tƣợng kết thúc‟ (“Bật” – “Tắt”) Chức năng: - Lƣu giữ mô tập tin riêng - Tạm dừng / Tiếp tục chạy mô - Làm chậm mô / Trở tốc độ mơ bình thƣờng - Tự động cho mô chạy lại từ đầu sau tƣợng kết thúc - Các chức tùy biến đặc trƣng riêng chƣơng trình mơ phỏng: o Kiểm tra thơng số vị trí bất kỳ: Chọn vị trí trình tƣợng mơ xảy để theo dõi thơng số - 4.3.4 Mặt phẳng nghiêng 4.3.4.1 Màn hình thơng tin Là hình thơng tin „Mặt phẳng nghiêng‟ với: Thông tin: - Tên mô - Cấu tạo: Các thành phần tƣợng - Công dụng: Ứng dụng thực tiễn tƣợng - Điều kiện: Điều kiện riêng để thực mô tƣợng (đƣợc đặt cho phù hợp với chức mơ phỏng) - Bài tốn: Bài tốn thể trƣờng hợp đƣợc chọn để mơ tƣợng 4.3.4.2 Màn hình Simulator GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả 83 Physics Simulator STT 01 02 03 04 05 06 Tên tbM tbL tbAlpha tbK tbMuy tbFk Loại Textbox Textbox Textbox Textbox Textbox Textbox Ý nghĩa Nhập giá trị m Nhập giá trị l Nhập giá trị α Nhập giá trị k Nhập giá trị µ Nhập giá trị Fk Sự kiện - Bảng IV.4.3.4.2.1 Là hình Simulator „Mặt phẳng nghiêng‟ với: Thông tin: - Các liệu đầu vào: o Dữ liệu nhập: m: Khối lƣợng vật l: Chiều dài mặt phẳng nghiêng α: Góc thể độ nghiêng mặt phẳng nghiêng so với mặt phẳng nằm ngang qua đầu có độ cao thấp Trên hình mơ phỏng, mặt phẳng nghiêng nghiêng sang phải, với góc nghiêng góc hợp nửa bên phải mặt phẳng ngang (bên phải so với đầu có độ cao thấp mặt phẳng nghiêng) mặt phẳng nghiêng k: Hệ số ma sát động (trong mô hệ số ma sát trƣợt) µ: Hệ số ma sát nghỉ (Hệ số ma sát tĩnh) Fk: Giá trị tuyệt đối độ lớn lực kéo tác động lên vật o Thông báo: Nhập thiếu liệu nhập liệu sai định dạng (ví dụ: khối lƣợng âm, chiều dài âm,…) Dữ liệu nhập không thỏa mãn điều kiện mô - Các thơng số đƣợc tính tốn theo công thức lý thuyết khoa học: o a: Gia tốc tức thời (Gia tốc thời điểm tại, giá trị âm chuyển động chậm dần, giá trị dƣơng chuyển động nhanh dần) o v: Vận tốc tức thời (Vận tốc thời điểm tại, giá trị âm hƣớng từ phải sang trái, giá trị dƣơng hƣớng từ trái sang phải) o Fms: Giá trị tuyệt đối độ lớn lực ma sát tác động lên vật (xét thời điểm tại, vật chuyển động lực ma sát động, vật khơng chuyển động lực ma sát nghỉ) GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả 84 Physics Simulator Tổng hợp tất lực tác động lên vật theo phƣơng chuyển động (xét thời điểm tại, giá trị âm hƣớng từ phải sang trái, giá trị dƣơng hƣớng từ trái sang phải) o Wt: Thế thời điểm o Wd: Động thời điểm - Các thông số tùy biến đặc trƣng riêng chƣơng trình mơ phỏng: o Trạng thái: Trạng thái mô (“Dừng” – “Đang chạy”) o Chạy lại: Trạng thái chế độ „cho phép tự động lặp lại mô tƣợng kết thúc‟ (“Bật” – “Tắt”) o Đảo lực: Trạng thái chế độ „đảo ngƣợc hƣớng lực kéo ban đầu‟ (“Bật” – “Tắt”) Chức năng: - Lƣu giữ mô tập tin riêng - Tạm dừng / Tiếp tục chạy mô - Làm chậm mô / Trở tốc độ mơ bình thƣờng - Tự động cho mô chạy lại từ đầu sau tƣợng kết thúc - Các chức tùy biến đặc trƣng riêng chƣơng trình mơ phỏng: o Chọn vị trí ban đầu cho vật: Chọn vị trí xuất phát để bắt đầu lại mô phỏng, giữ nguyên tất liệu ban đầu, ngoại trừ Lực kéo o Hiển thị Vector vận tốc: Hiển thị Vector vận tốc mơ Hình ảnh thể Vector đƣợc vẽ theo tỉ lệ tăng giảm độ dài tƣơng ứng với thay đổi vận tốc o Hiển thị Vector lực cấp I: Hiển thị Vector: Trọng lực, Trọng lực theo phƣơng Ox, Trọng lực theo phƣơng Oy, Phản lực o Hiển thị Vector lực cấp II: Hiển thị Vector: Lực kéo, Lực ma sát động (khi vật chuyển động), Lực ma sát tĩnh (khi vật ngừng chuyển động), Lực tổng hợp lực theo phƣơng chuyển động (không bao gồm lực ma sát), Lực tổng hợp tất lực theo phƣơng chuyển động o Tăng Lực kéo thêm o Giảm Lực kéo o Đảo ngƣợc Lực kéo: Đảo ngƣợc hƣớng Lực kéo để theo dõi đƣợc số lƣợng đa dạng chuyển động tƣợng o FTotal: GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả 85 Physics Simulator CHƯƠNG V: KẾT LUẬN Chƣơng trình Mơ Vật lý với XNA bao gồm ba tƣợng „Con lắc đơn‟, „Vật ném xiên‟, „Mặt phẳng nghiêng‟ Game Tổng hợp đƣợc hoàn thành với kết nhƣ sau: Ưu điểm - - Hoàn thành yêu cầu mục tiêu gốc đƣợc đề Thực với tiến độ đặn, tích cực khoa học Áp dụng xác cơng thức vật lý cho tƣợng tƣơng ứng Ứng dụng hiệu công nghệ XNA nhƣ DGui Mở rộng sáng tạo thêm chức trình thực thay đảm bảo chức gốc lý thuyết vật lý, có hình ảnh đƣợc thể theo thông số động (thay đổi theo liệu) để phù hợp với giới hạn cho phép điều kiện mơ (kích thƣớc hình): o Con lắc đơn: Độ dài dây treo thay đổi động o Vật ném xiên: Chức Xem thông số vị trí quỹ đạo chuyển động Khơng gian mơ đƣợc tính tốn động để đảm bảo thể hết quỹ đạo chuyển động đa dạng tầm xa, độ cao vật ném xiên o Mặt phẳng nghiêng: Chức Ẩn / Hiện Vector lực để hỗ trợ cho việc theo dõi biến đổi tƣợng Chức Thay đổi Lực kéo trình chuyển động, kể Đảo ngƣợc Lực kéo, hỗ trợ tạo nhiều trƣờng hợp để theo dõi Các Vector Chiều dài mặt phẳng đƣợc thể theo tỉ lệ thông số động Mở rộng sáng tạo thêm mục Game Tổng Hợp để tập hợp đƣợc nghiên cứu (Game với XNA, Con lắc đơn, Vật ném xiên, Mặt phẳng nghiêng) Ý tƣởng Game Tổng Hợp chịu ảnh hƣởng từ ý tƣởng ban đầu định hình cho Chƣơng trình, tiến hóa theo suốt thời gian Chƣơng trình đƣợc xây dựng (bắt đầu từ ý tƣởng Hệ Tổng Hợp) Nhược điểm - Xử lý tƣơng tác nằm tầm bình thƣờng Mỹ thuật Âm nhạc nằm mức giản đơn GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả 86 Physics Simulator So sánh Physics Simulator với số ứng dụng mô vật lý khác So với ứng dụng - Copyright © Walter Fendt, May 21, 1998 Giao diện Chức Thơng tin Điểm mạnh Tính thân thiện Chọn vị trí ban đầu (kéo thả) Xem thơng số vị trí Phóng đại góc quay … Thể thông tin lƣợng Điểm không tƣơng đƣơng Các chức Đồ thị Đồ thị Bảng V.1 So với ứng dụng - Thiết kế: CN.Trần Văn Huy – Đại Học Sư Phạm Hà Nội Điểm mạnh Giao diện Chức Thông tin Điểm không tƣơng đƣơng Tính sinh động Xem thơng số vị trí … Thể thơng tin thơng số Bảng V.2 So với ứng dụng - Copyright © Walter Fendt, September 13, 2000 Giao diện Chức Thơng tin Điểm mạnh Tính thân thiện Xem thơng số vị trí … Thể thơng tin lƣợng Điểm không tƣơng đƣơng Trục tọa độ Bảng V.3 So với ứng dụng – Copyright: Fu-Kwun Hwang Điểm mạnh Giao diện Chức Thông tin Điểm khơng tƣơng đƣơng Tính sinh động Xem thơng số vị trí … Thể thơng tin thông số Bảng V.4 GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả 87 Physics Simulator So với ứng dụng – Copyright © 2004-2010 University of Colorado Điểm mạnh Giao diện Chức Thơng tin Chọn vị trí ban đầu (kéo thả) … Thể thông tin lƣợng Điểm không tƣơng đƣơng Tính thân thiện Tính sinh động Các chức Đồ thị Đồ thị Bảng V.5 Hướng phát triển - Khắc phục nhƣợc điểm Từ điểm không tƣơng đƣơng so với ứng dụng mô nêu trên, chọn yếu tố phù hợp thú vị để bổ sung Mở rộng mô cho nhiều tƣợng vật lý GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả 88 Physics Simulator TÀI LIỆU THAM KHẢO Tiếng Việt: VNULib [1] Cơ học - Tập II - Động lực học - Đỗ Sanh - 531-1 D6311S 2005 T.2 C.1 100018941 [2] Cơ học lý thuyết - Tập Phần động lực học - Nguyễn Trọng (Chủ biên) - Tống Danh Đạo - Lê Thị Hoàng Yến - 531.11 N5764T 2006 T.2 C.1 100016952 [3] Cơ sở Vật lý Tập Một - Cơ Học - I - David HalliDay - Robert Resnick - Jearl Walker - General Collection 531 H188D 2002 C.1 100000493 [4] Mô Vật lý - Võ Văn Hoàng - 531-07 V8721H 2004 C.1 100005541 eBook [5] Tra cứu kiến thức vật lý 10 – Adcom.Co, Ltd Web Online [6] http://bipbee.com/home/ [7] http://phanminhchanh.info/ [8] http://thuvienvatly.com/ [9] http://www.moon.vn/ Tiếng Anh: VNULib [10] Textbook of Vector Dynamics – DPH Physics Series - D.K.JHA – General Collection – 531.11 J598D 2005 C.1 100040802 Web Online [11] http://phet.colorado.edu/en/ [12] http://www.edinformatics.com/il/il_physics.htm [13] http://www.walter-fendt.de/ph14e/ GVHD: ThS Phạm Thi Vương SVTH: Phạm Trịnh Đồng Nguyễn Thịnh Khả ... IV.4.1.1.3 Hình IV.4.1.1.4 Ứng dụng mơ vật lý thứ Ứng dụng mô vật lý thứ Ứng dụng mô vật lý thứ Ứng dụng mô vật lý thứ Ứng dụng mô vật lý thứ Con lắc đơn Mặt phẳng nghiêng Vật ném xiên Phân tích... chƣơng trình mơ vật lý “Physics Simulator”, ứng dụng XNA áp dụng lý thuyết vật lý để mô tƣợng vật lý sau: Con lắc đơn, Vật ném xiên, Mặt phẳng nghiêng Mục tiêu đề tài - Ứng dụng XNA áp dụng lý thuyết... Input 'Vật ném xiên' Các Control hình Input 'Mặt phẳng nghiêng' Physics Simulator so với ứng dụng mô vật lý Physics Simulator so với ứng dụng mô vật lý Physics Simulator so với ứng dụng mô vật lý