我正在使用Python模拟一个对数螺旋星系。 使用参数方程式,
x= a*exp(b*theta)*cos(theta)
和
y= a*exp(b*theta)*sin(theta)
我使用numpy.random来获取星星的随机分布。 下面是示例代码。
import random
from math import *
from pylab import *
import numpy as np
n=100000
a= 1
b=0.6
th =np.random.randn(n)
x= a*exp(b*th)*cos(th)
y=a*exp(b*th)*sin(th)
x1 = a*exp(b*(th))*cos(th+ pi)
y1=a*exp(b*(th))*sin(th + pi)
plot(x,y,"*")
plot(x1, y1,"*")
show()
生成的图像如下所示:带有两个臂的螺旋星系 我的需求: 1)恒星应该沿着螺旋星系径向分布。我只得到了沿着臂部的分布。 2)两条臂都应该是蓝色的。这里我有一条臂是蓝色的,另一条是绿色的。
模拟完成后,我需要旋转星系。任何关于此事的帮助将不胜感激。
**编辑:我使用
plot(x1, y1,"b*")
使两条臂都变成了蓝色。
plot(x1, y1, "b*")
将绘制蓝色的星形。如果你只指定了"*"
,它将改变多个图的颜色。至于其他问题:你尝试过什么?向我们展示你失败的尝试,我们可以从那里帮助你。 - Ianx
、y
、x1
和y1
添加高斯噪声,这样会得到一些结果。但是是否足够满足你的目的还不清楚。如果你只是想做一个漂亮的图片,那就无所谓了。但如果你想模拟一些天体物理现象,那可能不是你想要的。也许你应该试着在 physics.stackexchange 上提问? - Praveen