0

我对基本的编程概念相当熟悉,我的大部分编程经验都在 MATLAB 中。我对 C/C++ 有一些经验,但不是很多。我想通过一个我认为很酷的自发项目自学 C++(因为这会让我保持动力)。这是我的想法:

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

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

  1. 这是可行的,还是我野心勃勃?
  2. 我猜我不能只使用 CodeBlocks,因为我需要一些基于图形的东西来进行可视化。你有什么建议吗?视觉基础,也许?
  3. 在你看来,你认为我会通过这个项目获得相当多的 C++ 接触,还是你认为我应该专注于一些不那么物理的东西(恰好是我的专业)等等......嗯...... .计算机科学?

谢谢!

4

1 回答 1

1

由于没有人给出更详细的答案,我会试一试。

  1. 这是可行的。虽然,如果您从未有过任何编程或 C++ 经验,我不确定这样的项目对您来说有多困难。

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

  3. 好吧,进行这种模拟肯定会让您编写大量代码(可能是几个 kLOC),并让您大量接触 C++ 及其功能(这就是为什么我认为它可能有点困难如果您之前没有使用 C++ 的经验)。

于 2013-06-05T08:46:53.760 回答