Skip to main content
Commonmark migration
Source Link

I'm trying to make an unsophisticated 3D model of a continent's path on a globe consisting of snapshots of the planet surface that follows the historical trend of continental drift.

By "unsophisticated" I mean:

  1. Each continent is represented by a simple polygonal approximation. The approximation is based on the respective continent's present shape.

  2. The globe is a perfect sphere.

  3. At the start, the supercontinent Pangaea is less a supercontinent and more a jigsaw puzzle whose pieces (the polygons) can overlap. For reference, you can check this YouTube clip. My starting point would be about $332\text{ mya}$ (3:34) and the terminal point would be what we see today at $0\text{ mya}$ (4:10).

For the purposes of this post, let's suppose a continent is approximated with a small regular hexagon.

  1. How can I render a hexagon on a sphere?

    How can I render a hexagon on a sphere?

  2. Is it possible to manipulate the hexagon's position on the sphere by means of adjusting the hexagon-on-sphere's centroid's coordinates?

  3. Would it also be possible to rotate the hexagon?

  1. Is it possible to manipulate the hexagon's position on the sphere by means of adjusting the hexagon-on-sphere's centroid's coordinates?
  1. Would it also be possible to rotate the hexagon?

By this I mean I would like to, with the use of Manipulate and sliders, adjust the latitude/longitude of the point on the sphere corresponding to the hexagon's center to place the hexagon wherever I wish - kind of like dragging a coin along the surface of a beach ball.

This is easy enough to do in rectangular coordinates. Given a hexagon like

Graphics[Polygon[CirclePoints[6]]]

I can translate and rotate it in a plane using

Manipulate[
    Graphics[
        Rotate[Polygon[CirclePoints[6] + Table[{x, y}, 6]], t]
       ],
  {x, -1, 1}, {y, -1, 1}, {t, 0, 2Pi}]

but I have no clue as to how to adapt something like this to the sphere's surface.

I'm trying to make an unsophisticated 3D model of a continent's path on a globe consisting of snapshots of the planet surface that follows the historical trend of continental drift.

By "unsophisticated" I mean:

  1. Each continent is represented by a simple polygonal approximation. The approximation is based on the respective continent's present shape.

  2. The globe is a perfect sphere.

  3. At the start, the supercontinent Pangaea is less a supercontinent and more a jigsaw puzzle whose pieces (the polygons) can overlap. For reference, you can check this YouTube clip. My starting point would be about $332\text{ mya}$ (3:34) and the terminal point would be what we see today at $0\text{ mya}$ (4:10).

For the purposes of this post, let's suppose a continent is approximated with a small regular hexagon.

  1. How can I render a hexagon on a sphere?
  1. Is it possible to manipulate the hexagon's position on the sphere by means of adjusting the hexagon-on-sphere's centroid's coordinates?
  1. Would it also be possible to rotate the hexagon?

By this I mean I would like to, with the use of Manipulate and sliders, adjust the latitude/longitude of the point on the sphere corresponding to the hexagon's center to place the hexagon wherever I wish - kind of like dragging a coin along the surface of a beach ball.

This is easy enough to do in rectangular coordinates. Given a hexagon like

Graphics[Polygon[CirclePoints[6]]]

I can translate and rotate it in a plane using

Manipulate[
    Graphics[
        Rotate[Polygon[CirclePoints[6] + Table[{x, y}, 6]], t]
       ],
  {x, -1, 1}, {y, -1, 1}, {t, 0, 2Pi}]

but I have no clue as to how to adapt something like this to the sphere's surface.

I'm trying to make an unsophisticated 3D model of a continent's path on a globe consisting of snapshots of the planet surface that follows the historical trend of continental drift.

By "unsophisticated" I mean:

  1. Each continent is represented by a simple polygonal approximation. The approximation is based on the respective continent's present shape.

  2. The globe is a perfect sphere.

  3. At the start, the supercontinent Pangaea is less a supercontinent and more a jigsaw puzzle whose pieces (the polygons) can overlap. For reference, you can check this YouTube clip. My starting point would be about $332\text{ mya}$ (3:34) and the terminal point would be what we see today at $0\text{ mya}$ (4:10).

For the purposes of this post, let's suppose a continent is approximated with a small regular hexagon.

  1. How can I render a hexagon on a sphere?

  2. Is it possible to manipulate the hexagon's position on the sphere by means of adjusting the hexagon-on-sphere's centroid's coordinates?

  3. Would it also be possible to rotate the hexagon?

By this I mean I would like to, with the use of Manipulate and sliders, adjust the latitude/longitude of the point on the sphere corresponding to the hexagon's center to place the hexagon wherever I wish - kind of like dragging a coin along the surface of a beach ball.

This is easy enough to do in rectangular coordinates. Given a hexagon like

Graphics[Polygon[CirclePoints[6]]]

I can translate and rotate it in a plane using

Manipulate[
    Graphics[
        Rotate[Polygon[CirclePoints[6] + Table[{x, y}, 6]], t]
       ],
  {x, -1, 1}, {y, -1, 1}, {t, 0, 2Pi}]

but I have no clue as to how to adapt something like this to the sphere's surface.

Tweeted twitter.com/StackMma/status/787205880697806848
Source Link
user170231
  • 1.7k
  • 1
  • 11
  • 17

Manipulating 2D graphics along the surface of a 3D sphere according to their centroids' latitude/longitude

I'm trying to make an unsophisticated 3D model of a continent's path on a globe consisting of snapshots of the planet surface that follows the historical trend of continental drift.

By "unsophisticated" I mean:

  1. Each continent is represented by a simple polygonal approximation. The approximation is based on the respective continent's present shape.

  2. The globe is a perfect sphere.

  3. At the start, the supercontinent Pangaea is less a supercontinent and more a jigsaw puzzle whose pieces (the polygons) can overlap. For reference, you can check this YouTube clip. My starting point would be about $332\text{ mya}$ (3:34) and the terminal point would be what we see today at $0\text{ mya}$ (4:10).

For the purposes of this post, let's suppose a continent is approximated with a small regular hexagon.

  1. How can I render a hexagon on a sphere?
  1. Is it possible to manipulate the hexagon's position on the sphere by means of adjusting the hexagon-on-sphere's centroid's coordinates?
  1. Would it also be possible to rotate the hexagon?

By this I mean I would like to, with the use of Manipulate and sliders, adjust the latitude/longitude of the point on the sphere corresponding to the hexagon's center to place the hexagon wherever I wish - kind of like dragging a coin along the surface of a beach ball.

This is easy enough to do in rectangular coordinates. Given a hexagon like

Graphics[Polygon[CirclePoints[6]]]

I can translate and rotate it in a plane using

Manipulate[
    Graphics[
        Rotate[Polygon[CirclePoints[6] + Table[{x, y}, 6]], t]
       ],
  {x, -1, 1}, {y, -1, 1}, {t, 0, 2Pi}]

but I have no clue as to how to adapt something like this to the sphere's surface.