Язык Wolfram Language

Георасчёты

Марсианин

Рассчитайте, представьте и измерьте приблизительную длину пути, пройденного Марком Уотни в книге "Марсианин", когда он перемещался из основной базы "Арес-3" до марсианского взлётного модуля "Арес-4".

Все положения в данном примере относятся к положениям на Марсе. Это может быть точно обозначено в GeoPosition или позднее через опцию GeoModel.

Далее представлены приблизительные точки приземления "Арес-3" и "Арес-4".

In[1]:=
Click for copyable input
ares3 = GeoPosition[{31.2, -28.5}, "Mars"]; ares4 = GeoPosition[{-4.32, 15.28}, "Mars"];

Таким образом, это первая аппроксимация путешествия Марка по Марсу.

In[2]:=
Click for copyable input
GeoGraphics[{Orange, Thick, Arrow@GeoPath[{ares3, ares4}]}, GeoRange -> All, GeoProjection -> "Orthographic", Background -> Black]
Out[2]=

Из "Ареса-3" Марк следует по сформированной водой долине под названием Марсианская долина.

In[3]:=
Click for copyable input
mawrthVallis = GeoPosition[CompressedData[" 1:eJxTTMoPSmViYGCQAGIQLd/6OnCHnJXDN42Y/kOlxgdsua4vLvhr6QAkbbnE jQ8wgMABS4d17g+rRNYZHZg1EwgiLaHqjQ5wgRVaOhz+ChRwMoKqt3BYAhS9 rmx0AKTLPdHCoRBksIHRgf5DQIX8Fg4iIANDjA5oAo35usLcAaLO6EDQDjmg ixD8s2eAgMccrj4NBJ6Zwc0DK99h5vAmEMQyPACmV5s5gN3RYAixf6GZA8Re wwNgdzbB5A0OGINAsZkDxB8GEPf5m0H8H64P9Z8ZxH+H9CDqN5tC/at3AOIu U0h4fNWF2Kdo6uABYhzXhaj/bAL1jy5E/RUTB3A4ztQ5AAD2PaQO "]];
In[4]:=
Click for copyable input
GeoGraphics[{Thick, Orange, Arrow@GeoPath[mawrthVallis]}, GeoModel -> "Mars", GeoRangePadding -> Quantity[100, "Miles"]]
Out[4]=

Затем Марк проходит между кратерами Трувело и Резерфорд.

In[5]:=
Click for copyable input
GeoPosition /@ {Entity["SolarSystemFeature", "TrouvelotMars"], Entity["SolarSystemFeature", "RutherfordMars"]}
Out[5]=
In[6]:=
Click for copyable input
rtCraters = GeoPosition[{17.52, -11.91}, "Mars"];

И затем он продвигается до кратера Март.

In[7]:=
Click for copyable input
marthCrater = GeoPosition[Entity["SolarSystemFeature", "MarthMars"]]
Out[7]=

Оттуда он проходит 540 км в южном направлении.

In[8]:=
Click for copyable input
pos540S = GeoDestination[marthCrater, GeoDisplacement[{Quantity[540, "Kilometers"], "South"}]]
Out[8]=

И, наконец, приближается к кратеру Скиапарелли.

In[9]:=
Click for copyable input
schiaparelliCrater = GeoPosition[{-0.16, 14.38}, "Mars"]
Out[9]=
In[10]:=
Click for copyable input
geopath = GeoPath[{{ares3, mawrthVallis[[1, 1]]}, mawrthVallis, {mawrthVallis[[1, -1]], rtCraters, marthCrater, pos540S, schiaparelliCrater, ares4}}];

Данная геотраектория имеет следующую длину на поверхности Марса.

In[11]:=
Click for copyable input
GeoLength[geopath, GeoModel -> "Mars"]
Out[11]=

Теперь добавьте места, упомянутые в книге, с соответствующими метками.

In[12]:=
Click for copyable input
labeled[pos_, label_, offset_: {Left, Bottom}] := {Point[pos], Text[Style[label, Directive[12, Italic, White]], pos, offset]}
In[13]:=
Click for copyable input
points = labeled @@@ Join[EntityValue[{Entity["SolarSystemFeature", "ArabiaTerraMars"], Entity["DeepSpaceProbe", "MarsPathfinder"], Entity["DeepSpaceProbe", "MERDashBOpportunityRover"], Entity["SolarSystemFeature", "TerraMeridianiMars"], Entity["SolarSystemFeature", "RutherfordMars"], Entity["SolarSystemFeature", "BecquerelMars"], Entity["SolarSystemFeature", "TrouvelotMars"], Entity["SolarSystemFeature", "MarthMars"]}, {"Position", "Name"}], { {ares3, "Ares 3 HAB"}, {ares4, "Ares 4 MAV", {Right, Bottom}}}];

Вы получите конечный вариант карты путешествия.

In[14]:=
Click for copyable input
GeoGraphics[{Orange, Thick, geopath, PointSize[Large], points}, GeoModel -> "Mars"]
Out[14]=

Родственные примеры

de en es fr ja ko pt-br zh