Sagittarius A* is a radio source at the center of the Milky Way galaxy, our home galaxy. It is associated with a theoretical supermassive black hole, based primarily on the mapping of the orbits of stars orbiting an invisible massive object at that position. These studies have indicated these stars are orbiting something slightly in excess of 4 million solar masses within a relatively small region making a black hole the most likely candidate. The Event Horizon Telescope recently provided the first image of the black hole and its accretion disk making the evidence for a black hole overwhelming. This notebook explores the orbits of the stars orbiting Sagittarius A*, which provided the first evidence of the existence of a black hole.
Importing and Processing the Data
Importing and Processing the Data
Plotting Code
Plotting Code
In[]:=
EulerRotationMatrix[{Ω_,i_,ω_}]:=RotationMatrix[Ω,{0,0,1}].RotationMatrix[i,{0,1,0}].RotationMatrix[ω,{0,0,1}]
In[]:=
Orbits[params0:{_List..},opts___]:=Module[{a,b,c,data},data[t_]:=(a=#[[11]]/(1-#[[4]]);b=Sqrt[-a^2(#[[4]]^2-1)];c=a-#[[11]];Tooltip[(EulerRotationMatrix[{#[[6]]Degree,#[[5]]Degree,#[[7]]Degree}].{aCos[t]-c,bSin[t],0}),#[[1]]])&/@params0;Show[ParametricPlot3D[Evaluate[data[t]],{t,0,2π},opts],Graphics3D[{White,Text[Style["+",18],{0,0,0}]}]]]
In[]:=
Orbits[stars:{__String},opts___]:=Orbits[Select[data,MemberQ[stars,#[[1]]]&],opts]
In[]:=
Orbits[All,opts___]:=Orbits[data,opts]
In[]:=
Orbits[{},opts___]:=Orbits[All,opts]
Details
Details
Distances are measured in Astronomical Units.
The location of Sagittarius A* is shown as a white “+”.
Each star’s orbit has a tooltip labeling it.
List of all available stars:
In[]:=
data[[All,1]]//Sort
Out[]=
{R34,R44,S1,S12,S13,S14,S145,S17,S175,S18,S19,S2,S21,S22,S23,S24,S29,S31,S33,S38,S39,S4,S42,S4711,S4712,S4713,S4714,S4715,S54,S55,S6,S60,S62,S66,S67,S71,S8,S83,S85,S87,S89,S9,S91,S96,S97}
Examples
Examples
Plot of the inner region with all stars shown:
In[]:=
Orbits[All,PlotRange7000,AxesFalse,BackgroundBlack,SphericalRegionTrue,BoxStyleOpacity[0],ViewAnglePi/100]
Out[]=
Plot the orbits of specific stars:
In[]:=
Orbits[{"S1","S2","S8","S12","S13","S14","S62","S4714","S175","S4711"},PlotRange7000,SphericalRegionTrue,BoxStyleOpacity[0],AxesNone,BackgroundBlack,ViewAnglePi/10]
Out[]=
In[]:=
Orbits[{"S1","S2","S8","S12","S13","S14"},PlotRange7000,SphericalRegionTrue,BoxStyleOpacity[0],AxesNone,BackgroundBlack,ViewAnglePi/10]
Out[]=