Wolfram 언어

지리 정보 계산

화성인

소설 "The Martian"의 등장 인물 Mark Watney가 Ares 3 HAB에서 Ares 4 MAV까지 다니던 추정 경로를 계산하고, 표현하고, 측정합니다.

이 예제의 모든 위치는 모두 화성의 위치를 의미하며, 이것은 GeoPosition에서 엄격하게 지정할 수 있으며, 추후 GeoModel 옵션을 사용해 지정이 가능합니다.

다음은 Ares 3과 4의 상륙 추정 위치입니다.

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

따라서 다음은 Mark의 화성 여행의 최초의 근원지가 됩니다.

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

Ares 3 HAB에서 Mark는 물에 깎인 계곡을 따라 Marth Vallis에 도착합니다.

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]=

그 후 Mark는 Trouvelot 분화구와 Rutherford 분화구 사이를 통과합니다.

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"];

다음으로 Marth 분화구로 이동합니다.

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

거기서부터 Mark는 남쪽으로 540km 이동합니다.

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

최종적으로 Schiaparelli 분화구 근처에 도달합니다.

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 pt-br ru zh