2009-02-02 64 views
7

Tôi muốn biết các mô phỏng tương tự, cụ thể, như mô phỏng về tưới một trường here.Mô phỏng đơn giản cho Vật lý bằng Python?

Thư viện/trang internet yêu thích của bạn cho các mô phỏng như vậy bằng Python là gì?

Tôi biết ít Simpy, Numpy và Pygame. Tôi muốn lấy các ví dụ về chúng.

+0

Dường như một câu hỏi mơ hồ đối với tôi ... –

+0

@ David: Tôi đã làm rõ. –

Trả lời

12

Nếu bạn đang tìm kiếm một số trò chơi vật lý (va chạm, biến dạng, hấp dẫn, vv) mà trông thực và hợp lý nhanh xem xét tái sử dụng một số công cụ vật lý thư viện.

Là tham chiếu đầu tiên, bạn có thể muốn xem xét pymunk, trình bao bọc Python của Chipmunk thư viện vật lý 2D. Bạn có thể tìm thấy danh sách các công cụ vật lý nguồn mở khác nhau (2D và 3D) trong Wikipedia.

Nếu bạn đang tìm kiếm chất đúng mô phỏng, không có vấn đề gì ngôn ngữ mà bạn muốn sử dụng, nó sẽ được nhiều chậm (hầu như không bao giờ real-time), và bạn cần phải sử dụng một số phân tích số phần mềm (và có thể viết một cái gì đó cho mình). Câu trả lời chính xác tùy thuộc vào vấn đề bạn muốn giải quyết. Nó là một lĩnh vực khá phức tạp (của toán học). Ví dụ, nếu bạn cần phải làm mô phỏng trong cơ học liên tục hoặc điện từ, bạn có thể cần sự khác biệt hữu hạn, phương pháp khối lượng hữu hạn hoặc phần tử hữu hạn. Đối với Python, có một số thư viện sẵn sàng để sử dụng, ví dụ: FiPy (FVM), GetFem++ (FEM), FEniCS/DOLFIN (FEM) và một số khác.

3

Dưới đây là một số đơn giản astronomy related python. Và đây là một số hardcore code từ cùng một anh chàng.

Eagleclaw giải quyết và vẽ các phương trình hyperbol khác nhau bằng cách sử dụng một số trăn. Tuy nhiên, hầu hết các mã được viết bằng Fortran để thực hiện các phép tính và python để vẽ kết quả. Nếu bạn đang nghiên cứu vật lý mặc dù bạn có thể phải làm quen với loại mã bọc Fortran này. Đó là một thực tế. Nhưng điều này không thực sự là những gì bạn đang tìm kiếm tôi đoán. Điều tốt là nó được ghi lại trong một phong cách lập trình biết chữ nên nó phải dễ hiểu.

+3

Tất cả ba liên kết bị hỏng ... – linusg

1

Tôi đã nghe nói về PyBox2D, là cổng của Box2D thực sự tuyệt vời. Để trích dẫn trang web:

Box2D là một tính năng phong phú 2d cơ thể vật lý cứng nhắc cơ thể, được viết bằng C++ bởi Erin Catto. Nó đã được sử dụng trong nhiều trò chơi, bao gồm cả Crayon Physics Deluxe, người chiến thắng của giải thưởng Grand Game 2008.

Các vấn đề liên quan