2011-08-05 31 views
7

Tôi đang tìm cách tính gần đúng thể tích chất lỏng di chuyển trên bản đồ chiều cao. Giải pháp đơn giản nhất mà tôi có thể nghĩ đến là ước lượng nó như một số lượng lớn các quả cầu không được vẽ, có đường kính nhỏ (< 0.1m). Sau đó tôi đặt một mặt phẳng có thể nhìn thấy thể hiện bề mặt của nước trên "đỉnh" của các quả cầu, tại các vị trí mà chúng đã nghỉ ngơi. Theo hiểu biết của tôi, không có động cơ vật lý được quản lý nào có chứa bộ mô phỏng chất lỏng tích hợp, do đó có câu hỏi.Mô phỏng lưu lượng chất lỏng trên bản đồ chiều cao

Việc triển khai sẽ bao gồm việc sử dụng một công cụ vật lý như JigLibX, có khả năng mô phỏng chuyển động của các hình cầu. Để xác định chiều cao của các mặt phẳng, tôi đã nghĩ đến việc lấy trung bình chiều cao tối đa của mỗi hình cầu nằm trên lớp trên cùng của một nhóm.

Tôi không mong đợi hiệu suất trở nên tuyệt vời, nhưng liệu nó có thể tiếp cận được trong thời gian thực không? Nếu không, tôi có thể sử dụng mô phỏng này cho các dòng chảy trước khi nướng không?

Tôi hy vọng điều này có ý nghĩa, tôi thực sự muốn có ý kiến ​​/ đề xuất về việc liệu điều này có khả thi hay không, hoặc nếu có cách tiếp cận tốt hơn.

Nhờ sự giúp đỡ, Venatu

(Nếu, nền tảng mục tiêu của tôi có liên quan của nó là XNA 4.0, sử dụng C# Windows. Chỉ vào thời điểm này trong thời gian, vì vậy PhysX/Havok là khả năng mô phỏng, nhưng tôi sẽ thích một giải pháp được quản lý)

+0

Bạn có thể muốn có một cái nhìn tại các nghiên cứu [niêm yết trên vterrain.org] (http://vterrain.org/Water/). Đặc biệt là các công trình mô phỏng sông. – Bart

+0

Tôi sắp thực hiện một cái gì đó chính xác như bạn mô tả, với rất nhiều quả cầu nhỏ! Kế hoạch là để cho phép các lĩnh vực để làm xói mòn cảnh quan, hy vọng cắt thung lũng sông. –

Trả lời

2

Tôi chưa từng thấy động lực học thực tế trong thời gian thực mà không sử dụng một cái gì đó giống như PhysX - có lẽ vì các tính toán cần rất phức tạp! Vấn đề với cách tiếp cận của bạn như tôi thấy nó sẽ đi kèm với sự tiếp xúc nghỉ ngơi của tất cả các lĩnh vực khi họ giải quyết xuống, chiếm rất nhiều sức mạnh xử lý. Rất nhiều điểm liên lạc nghỉ ngơi nổi tiếng về việc ăn uống hiệu suất rất nhanh, ngay cả trên máy tính để bàn mạnh mẽ nhất. Nếu bạn đang đi xuống tuyến đường này thì tôi khuyên bạn nên mô hình hóa chất lỏng như một cơ thể đàn hồi nhưng rắn sử dụng vật lý lò xo, nơi lực tác dụng lên một phần nước sẽ sử dụng lò xo để truyền cho phần còn lại. Điều này cho bạn tùy chọn thiết lập một điểm phá vỡ cho các lò xo và tách cơ thể thành hai hoặc nhiều cơ quan khi điều đó xảy ra (và ngược lại để quay lại với nhau.) Điều này có thể cung cấp cho bạn nền tảng cho những thứ như phun. Nó cũng là một cách tiếp cận linh hoạt hơn về hiệu suất, bởi vì bạn có thể chọn số lượng hạt và lò xo bạn sử dụng để ước tính mô hình của bạn.

Đó là một chủ đề lớn và phức tạp, nhưng tôi hy vọng rằng cung cấp ít nhất một số thông tin chi tiết!

1

Phương pháp phổ biến nhất để mô phỏng chất lỏng trong thời gian thực là Thủy động học dạng hạt mịn.

Một số liên kết hữu ích:

http://en.wikipedia.org/wiki/Smoothed-particle_hydrodynamics

http://http.developer.nvidia.com/GPUGems/gpugems_ch38.html

http://www.plunk.org/~trina/thesis/html/thesis_toc.html

Ngoài mô phỏng bản thân bạn cũng sẽ cần một số rộng giai đoạn các thuật toán chuyên ngành phát hiện va chạm như quét-và- prune hoặc băm tế bào.

Và bạn nói đúng, không có giải pháp 2d hoàn chỉnh nào cho động lực học chất lỏng.

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