Mục lục:

Mô phỏng hệ mặt trời: 4 bước
Mô phỏng hệ mặt trời: 4 bước

Video: Mô phỏng hệ mặt trời: 4 bước

Video: Mô phỏng hệ mặt trời: 4 bước
Video: Khám phá bí ẩn các hành tinh trong Hệ Mặt trời | Khoa học vũ trụ - Top thú vị | 2024, Tháng bảy
Anonim

Đối với dự án này, tôi bắt đầu tạo ra một mô phỏng về cách trọng lực ảnh hưởng đến chuyển động của các hành tinh trong hệ mặt trời. Trong video trên \, thiên thể Mặt trời được thể hiện bằng hình cầu lưới thép và các hành tinh được tạo ra một cách ngẫu nhiên.

Chuyển động của các hành tinh dựa trên vật lý thực tế, Định luật Vạn vật hấp dẫn. Định luật này xác định lực hấp dẫn do một khối lượng khác tác dụng lên một khối lượng; trong trường hợp này là Mặt trời trên tất cả các hành tinh, một hành tinh ở trên nhau.

Đối với dự án này, tôi đã sử dụng Xử lý, một môi trường lập trình dựa trên java. Tôi cũng đã sử dụng tệp ví dụ Xử lý mô phỏng lực hấp dẫn của các hành tinh. Tất cả những gì bạn cần cho việc này là phần mềm Xử lý và một máy tính.

Bước 1: 2 Mô phỏng chiều

Tôi bắt đầu bằng cách xem một số video về cách viết mã mà Dan Shiffman đã tạo trên Kênh YouTube của anh ấy, Chuyến tàu mã hóa (Phần 1/3). Tại thời điểm này, tôi nghĩ rằng tôi sẽ sử dụng đệ quy để tạo ra hệ mặt trời, tương tự như cách Shiffman chỉ sử dụng các định luật vật lý.

Tôi đã tạo ra một vật thể hành tinh có 'hành tinh con', đến lượt nó cũng có hành tinh 'con'. Mã cho mô phỏng 2D chưa hoàn thành bởi vì tôi không có cách tuyệt vời để mô phỏng lực hấp dẫn cho mỗi hành tinh. Tôi đã xoay chuyển từ cách nghĩ này, theo một hướng dựa trên ví dụ xử lý có sẵn về lực hút hấp dẫn. Vấn đề là tôi cần tính toán lực hấp dẫn từ tất cả các hành tinh khác trên mỗi hành tinh, nhưng không thể nghĩ ra cách lấy thông tin của một hành tinh riêng lẻ một cách dễ dàng. Sau khi xem hướng dẫn Xử lý thực hiện nó như thế nào, tôi đã nhận ra chính xác cách thực hiện bằng cách sử dụng các vòng lặp và mảng thay thế

Bước 2: Đưa nó đến 3 kích thước

Sử dụng mã ví dụ cho Sức hút hành tinh đi kèm với quá trình xử lý, tôi bắt đầu một chương trình mới cho mô phỏng 3D. Sự khác biệt chính là trong lớp Hành tinh, nơi tôi đã thêm một hàm thu hút, tính toán lực hấp dẫn giữa hai hành tinh. Điều này cho phép tôi mô phỏng cách hệ mặt trời của chúng ta hoạt động, nơi các hành tinh không chỉ bị thu hút bởi mặt trời mà còn đối với mọi hành tinh khác.

Mỗi hành tinh có các đặc điểm được tạo ngẫu nhiên như khối lượng, bán kính, vận tốc quỹ đạo ban đầu, v.v … Các hành tinh là hình cầu đặc trong khi Mặt trời là hình cầu lưới thép. Ngoài ra, vị trí camera xoay quanh tâm cửa sổ.

Bước 3: Sử dụng các hành tinh thực

Image
Image

Sau khi tôi nhận được khuôn khổ cho mô phỏng 3D, tôi đã sử dụng Wikipedia để tìm dữ liệu hành tinh thực tế cho hệ mặt trời của chúng ta. Tôi đã tạo một mảng các đối tượng hành tinh và nhập dữ liệu thực. Khi tôi làm điều này, tôi phải thu nhỏ tất cả các đặc điểm. Khi tôi làm điều này, lẽ ra tôi nên lấy các giá trị thực và nhân với một hệ số để thu nhỏ các giá trị, thay vào đó tôi đã làm điều đó theo đơn vị Trái đất. Đó là tôi lấy tỷ số giữa giá trị của Trái đất với giá trị của các vật thể khác, ví dụ như Mặt trời có khối lượng gấp 109 lần Trái đất. Tuy nhiên, điều này dẫn đến kích thước của các hành tinh trông quá lớn hoặc quá nhỏ.

Bước 4: Kết luận và nhận xét

Nếu tôi tiếp tục làm việc trên mô phỏng này, tôi sẽ tinh chỉnh / cải thiện một số thứ:

1. Đầu tiên, tôi sẽ chia tỷ lệ mọi thứ một cách thống nhất bằng cách sử dụng cùng một hệ số tỷ lệ. Sau đó, để cải thiện khả năng hiển thị của các quỹ đạo, tôi sẽ thêm một đường mòn phía sau mỗi hành tinh để xem mỗi cuộc cách mạng so với cuộc cách mạng trước đó như thế nào

2. Máy ảnh không tương tác, có nghĩa là một phần của quỹ đạo nằm ngoài màn hình, "phía sau người" đang xem. Có một thư viện máy ảnh 3D được gọi là Peazy Cam, được sử dụng trong Phần 2 của loạt video về Coding Train về chủ đề này. Thư viện này cho phép người xem xoay, xoay và thu phóng máy ảnh để họ có thể theo dõi toàn bộ quỹ đạo của một hành tinh.

3. Cuối cùng, các hành tinh hiện không thể phân biệt được với nhau. Tôi muốn thêm 'da' cho từng hành tinh và Mặt trời để người xem có thể nhận ra Trái đất và những thứ tương tự.

Đề xuất: