用c++实现物体撞击液体表面的视觉模拟



我对基本的编程概念比较熟悉,我的编程经验主要是MATLAB。我有一些使用C/c++的经验,但不是很多。我想通过一个我认为很酷的自我发起的项目来自学c++(因为这会让我保持动力)。这是我的想法:

我想模拟一个物体(用户定义的形状、质量、密度等)落入(用户指定的高度)具有初始静止表面(用户定义的属性,如密度、粘度等)的液体中。我想用适当的物理效果来可视化飞溅的效果。我不需要这个视频很精彩。我所寻找的是:一旦物体击中表面,就会有数学函数定义在击中后任何给定时间的表面形状(当然,我必须先弄清楚物理)。我想在点击后的给定时间点找到这些形状,比如每0.1s,然后我可以快速连续地显示这些表面,所以它基本上是一个视频,显示表面形状如何随时间变化。

假设我熟悉所涉及的物理,我的问题是:

    这是可行的,还是我的野心太大了?
  1. 我猜我不能只使用CodeBlocks,因为我需要一些基于图形的东西来做可视化。你有什么建议吗?也许是Visual basic ?
  2. 在你看来,你认为我会通过这个项目获得相当数量的c++接触,或者你认为我应该专注于一些不那么物理的东西(碰巧是我的专业),更多的……嗯……计算机科学?

谢谢!

既然没有人给出更详细的答案,我就试一试。

  1. 这是可行的。不过,如果你从来没有任何编程或c++的经验,我不确定这样一个项目对你来说有多难。

  2. 你可以使用代码块或任何你正在使用的IDE。你只需要下载OpenGL或Qt或任何你将使用的库,并正确配置代码块,以便它可以编译和链接所有东西。可视化是OpenGL的一部分。OpenGL (GLUT)创建一个窗口,它在其中绘制您告诉它的所有内容。就我个人而言,我更喜欢Linux的OpenGL(和其他)的东西,但这只是我。一个好的文本编辑器和g++可以走很长的路。这不是必须的,只是说说而已。

  3. 嗯,制作这种模拟肯定会让你编写相当数量的代码(可能是几个kLOC),并让你大量了解c++及其功能(这就是为什么我认为如果你之前没有c++经验,这可能有点困难)。

相关内容

  • 没有找到相关文章

最新更新