使用类和列表的C ++中的重力(无图形表示)
我需要实现的是一个程序,它将根据天文物体的类别和所述物体的列表,使用欧拉方程模拟二维平面(仅x和y轴)中的重力。
至于对象,我需要给它两个位置,一个质量和一个速度(如果它从一开始就存在)。 由于我不会碰撞,Radius被忽略。
然后,我被告知重新计算每个对象的位置和速度,当我根据这个新对象的质量向列表中添加一个新对象时。
我不知道该怎么做,因为所有这些都应该由时间决定,对吧? 这是一个不断变化的情况,尤其是没有考虑到碰撞。 这意味着所有的物体都会无限旋转并飞来飞去,所以我不能简单地说:“好吧,当添加一个新物体时,前一个物体移动到XY并停留在那里”。
我曾尝试过寻找这种方法,但大多数重力项目都使用Box2D引擎或类似的库,而我需要做的只是使用简单的类,列表和公式。
我知道它背后的数学,引力常数,力方程和什么,但我绝对不知道如何实现这一点。 我遇到了一个很大的问题,因为这个任务是针对星期一的,而且我自己做了很多工作(我有一家新开业的公司),我从C ++讲座中遗忘了很多。
如果有人能帮助我,我会很感激,谢谢!
编辑:我真的没有丝毫的线索如何解决这个问题,我问的每个人都告诉我用向量做一个类,把它放在一个列表中,并创建一个方法来及时更新所有参数,但是当我知道这个,因为我理解这个主题,所以我不知道如何用代码来表达它......我知道我应该早一点做,但我现在真的很绝望。 我需要修改代码并理解它,反正我不是计算机虚拟,我需要向我的教授解释它,所以我会掌握它 - 我现在只是不了解C ++,如果我没有及时完成,我可能已经完成了我的学业。
链接地址: http://www.djcxy.com/p/65401.html上一篇: Gravity in C++ using classes and lists (no graphical representation)