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()
結果の画像は 、2 つの腕を持つ渦巻銀河の下に表示されます。
必要なもの: 1) 星は渦巻銀河に放射状に分布している必要があります。腕に沿ってのみ分布を得ました。2) 両腕は青色である必要があります。ここでは、片方の腕を青色、もう一方の腕を緑色にしています。
これをシミュレートした後、銀河を回転させる必要があります。これに関するヘルプはかなりのものです。
**編集: を使用して、両方の腕を青色にしましたplot(x1, y1,"b*")