简单的气体/流体动力学源代码
Simple gas/fluid dynamics source code
我有一个三维体素对象矩阵,我想用它来存储一些基本物理原理的状态。这里的目的是在视频游戏中实时表示体积(约30FPS)。我想尝试使该卷能够执行以下操作:1.储存各种重量的流体和气体类型,并遵循基本的相互作用原理。例如,氧气比水轻。2.能够确定压力。3.能够与"实体"对象进行交互。因此,一个中空的3D盒子可以储存一些不会"泄漏"出去的东西。
所有这些都是非常基本的,可以放弃任何"准确性"测试。
很乐意接受想法以及任何合适的资源,以便进一步阅读。然而,我认为我不相信自己有能力拿一篇论文或一个高级方程式来建立自己的图书馆。
好吧,多流体模拟并不容易。你可以使用SPH(平滑粒子流体动力学),因为这种方法可以相对简单地模拟复杂的界面。如果我是对的,它也被广泛用于游戏/动画行业,例如Blender将其用于流体模拟。我建议你在研究更复杂的事情之前,先尝试做一个单一的流体模拟。要做好准备,这将需要相当多的努力,并且取决于您所寻求的并行化的准确性/分辨率类型。如果你有更多关于SPH的问题,我会尽力回答。
我在3D图形中看到的常用方法是基于Navier-Stokes方程的体素实现建模的。搜索这一点应该会有很多关于在代码甚至现成库中实现这种方法的方法的论文,但正如Azrael3000所说,计算流体学就像听起来一样困难,而且非常数学繁重。值得庆幸的是,它也可以很容易地拆分为多个线程,因此达到30FPS的最佳方法是将计算推送到GPU上。
另一件需要记住的事情是"体素"answers"帧"是图形术语。方程(记住,这是连续函数)的方法被称为FDTD-时域有限差分。在英语中,这意味着将字段采样为时间和空间上的离散点。
- 在Linux中哪里可以找到互斥、未来等的源代码
- 如果编译的源代码是特定于它编译的硬件的,我们如何分发它
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- 难以理解某些人解决IOI问题的源代码
- 使用g++编译hdf5源代码
- 如何使用C++读取另一个程序中的源代码输出
- Poco FindMySql.cmake 无法找到 MySQL 源代码
- 更改命令行 qt5 源代码构建配置的正确/快速方法
- C++出现控制台错误.我无法识别源代码的问题
- Qt Quick,如何更改 Ui 源代码?
- 使用 Git 处理 C++ Visual Studio 2019 解决方案的外部依赖项源代码管理的最佳方法是什么?
- 从macOS Catalina上的源代码编译LLVM(如何解决未找到"stdio.h")
- 如何使用QT创建器获取网页源代码?
- 从源代码构建 gRPC C++
- 如何使用我构建的库,而不会从源代码出错,但不为我自己的项目编译?
- 如何在使用 LLVM 编译时获取部分源代码的二进制代码
- 如何在源代码中包含外部库的头文件?
- 如何查找 torch.bmm 的 c++ 源代码 pytorch.
- 计算流体动力学和C++
- 简单的气体/流体动力学源代码