我是一名新手程序员,学习C ++。我正在做一个计算生物学项目,我将细胞表示为粒子。我已经创建了一个Cell
课程,用于跟踪x和y位置,速度和加速度。
我有两个问题: 1)现在,我只跟踪我的细胞的质心,所以它只是点。但是,我需要为所有这些细胞制作具有相同边缘的细长颗粒(细胞将全部相同)。我想不出一种方法来初始化一个固定边缘,这个固定边缘将位于我的质心的中间,并且用“简单”的C ++代码跟踪每个时间步长(也是为了使边缘“跟随”我的质心)意思是我目前的知识)。 我的粒子应该看起来像this。
我的可视化现在有点愚蠢......我在每个时间步骤导出文件中点的坐标,然后我使用{{1}制作了一个脚本,为每个时间步生成PNGs
使用gnuplot
生成PNGs
中的视频。这导致了我的实际问题。
2)为了解决第一点,我意识到我需要一种更好的可视化方法。我已经研究过OpenGL和其他可能的方法来做到这一点,但我觉得有点丢失。此外,我想有一个直接的可视化方法,而不必输出到文件。虽然速度对我来说至少到目前为止都不是问题。
我在Windows下使用Visual Studio 2010。
答案 0 :(得分:1)
就表示粒子而言,看起来你可以使用一条线。一种方法是使用端点A =(x1,y1)和B =(x2,y2)。那么“重心”就是中点M =((x1 + x2)/ 2,(y1 + y2)/ 2)。
使用此表示将使可视化变得非常容易。 OpenGL直接支持给定端点绘制线条。