Плотность звезд экспоненциально падает от центра галактики и может быть аппроксимирована следующим образом с использованием цилиндрической системы координат:
Радиальные масштабы длины и высоты тонкого диска составляют ~ 3000 пк и ~ 200 пк соответственно. На данный момент rho_0 будет просто приниматься за 1. Мы наблюдаем при заданных l и b, равных 90 и 15 соответственно, используя галактическую систему координат (просто посмотрите на l и b пока, остальное — аннотации, которые я добавил, которые я вскоре опишу ). Галактическая система координат использует сферические координаты:
Мы хотим знать, где плотность звезд достигает максимума при заданной прямой видимости (от Земли) на 1 кв. градус при заданных l и b. На всем небе 41253 квадратных градуса, поэтому 1/41253 будет дробью, на которую мы хотим умножить уравнение плотности. Однако мы также должны учитывать, как элемент объема изменяется с расстоянием вдоль заданной прямой видимости, поэтому нам также необходимо умножить rho и 1/41253 на это изменение объема. Этот элемент объема может быть представлен (площадь поверхности сферы и малое изменение расстояния вдоль линии прямой видимости). Мы почти закончили, но нам нужен способ преобразования между системами координат, связывающий галактические координаты с расстоянием r и R (как показано на диаграмме выше). Математически они связаны следующим образом (уравнение 3 в книге « Где заканчивается диск и начинается ореол? Кинематика в поле вращения» Моррисон, Флинн и Фриман, 1990, Ast. J. 100 (4) 1191-1222):
Итак, для заданных r (расстояние от звезды или прямой видимости до солнца), l и b мы можем найти R (расстояние от GC до звезды или прямой видимости). Это в цилиндрических координатах, поэтому нам нужно использовать cos(b)R и sin(b)R, чтобы найти R и z в уравнении плотности выше (обратите внимание, что это разные r). Элемент объема должен быть LOS с Земли, что соответствует R на диаграмме и уравнению для статьи (для заданных l, b и r). Собрав все это вместе, у меня есть следующий код. Пожалуйста, дайте мне знать, кажется ли эта попытка разумной, а если нет, то где я ошибся.
import numpy as np
import matplotlib.pyplot as plt
C=8500 #Distance from center of galaxy to sun (R_sun_
#Galactic Coordinates
b=np.deg2rad(15) #above plane
l=np.deg2rad(90)
#Scale heights for the thin disk
h_R=3000
h_z=200
nsqdeg_in_sky=41253 #square deg in whole sky
#R: Distance from star to sun
R=np.arange(0,15000,1)
#distance from star to G.C.
#r: distance from star to G.C. kpc
r=np.sqrt(C**2+R**2-2*R*C*np.cos(b)*np.cos(l))
print(r)
#Spherical Galactic Coordinates to cylindrical coordinates
#z component of R
R_z=np.sin(b)*r
#r component of R
R_r=np.cos(b)*r
#density equation describing thin disk
rho_thin=np.e**(-R_r/h_R)*np.e**(-np.abs(R_z)/h_z)
#desnity equation combining volume element and portion of sky
N_thin = (1./nsqdeg_in_sky)*(4*np.pi)*R*R*rho_thin
plt.title("Number of stars per 1 square degree")
plt.plot(R,N_thin,color='blue',label='thin')
plt.legend(loc='best')
plt.xlabel(r'$distance$ [pc]')
plt.ylabel(r'$N_\ast$ [pc$^{-1}$]')
отредактируйте, чтобы добавить график для данных l и b выше:
Если у вас есть луч из исходной точки с единичным направлением , и посмотрите на плотность умножить на расстояние производная .
Сейчас, и поэтому критерий максимума или минимума или
Я не вижу, как еще упростить. Я думаю, что правильный подход здесь состоит в том, чтобы просто выполнить численное решение с использованием поиска золотого сечения , а не выполнять много алгебры, которая в любом случае заканчивается алгоритмом поиска корня. Это также позволяет вам использовать любую модель звездной плотности.
ооо
Андерс Сандберг
Астротурф
Астротурф