1

我是一名新手程序员,正在学习 C++。我正在做一个计算生物学项目,我将细胞表示为粒子。我已经开设了一门课Cell,我在其中跟踪 x 和 y 位置、速度和加速度。

我有一个问题有 2 分:1)现在,我只跟踪我的细胞的质心,所以它只是点。但是,我需要为所有这些粒子制作具有相同边缘的细长粒子(细胞都是相同的)。我想不出一种方法来初始化一个位于我的质心中间的固定边缘,并用“简单”的 C++ 代码跟踪它的每个时间步(也使边缘“跟随”我的质心)(意思是我目前的知识)。我的粒子应该是这样的。

我现在的可视化有点愚蠢......我为每个时间步导出文件中点的坐标,然后我制作了一个脚本来PNGs为每个时间步gnuplot生成使用,并PNGs使用ffmpeg. 这导致了我的实际问题。

2)为了解决第一点,我意识到我需要一种更好的可视化方法。我已经研究了 OpenGL 和其他可能的方法来做到这一点,但我觉得有点失落。另外,我猜有一种直接的可视化方法,而不必输出到文件会更快。尽管至少到目前为止,速度对我来说不是问题。

我在 Windows 下,使用 Visual Studio 2010。

4

1 回答 1

1

至于表示粒子,看起来你可以使用一条线。一种方法是使用端点 A = (x1, y1) 和 B = (x2, y2)。那么“重心”就是中点 M = ((x1 + x2) / 2, (y1 + y2) / 2)。

使用这种表示将使可视化变得非常容易。OpenGL 直接支持在给定端点的情况下绘制线。

于 2013-02-07T23:58:48.820 回答