最近,我决定作为一项挑战,用Python模拟atom。起初,这对我来说似乎很简单——要画原子核,我只需在proton-neutron-proton-neutron
模式中画一些圆,如下所示:
x o x o x
o x o x o
x o x o x
o x o x o
[...]
这可以通过以下代码简单地实现(为了简单起见,我的模拟中的nucleus将是正方形,但由圆形组成,nucleus只能有奇数个n_per_row
(每行粒子数)):
def neutron_proton(n_per_row, number_of_particles):
ret = []
sub_vec = []
x = 0
for i in range(0, number_of_particles):
if i % 2 == 0:
sub_vec.append("proton")
else:
sub_vec.append("neutron")
x += 1
if x == n_per_row:
ret.append(sub_vec)
sub_vec = []
x = 0
return ret
很明显,这段代码存在一些问题:
但我有一个紧迫的问题——我需要让电子在轨道上围绕原子核旋转。我不知道如何在pygame中做到这一点。我发现了一个半有用的帖子,里面的答案使用了经典物理学,这对这个问题很好,但我想要更准确一点的答案。有一点特别重要,那就是答案使用的引力常数。我不知道电子和它各自的原子核的相对引力常数是多少。有人能帮我吗
目前没有回答
相关问题 更多 >
编程相关推荐