Message Boards Message Boards


[GIF] Omnes Pro Uno (Mercator projection of level sets of dot product sum)

Posted 2 months ago
1 Reply
3 Total Likes

Mercator projection of level sets of dot product sum

Omnes Pro Uno

As Correlations was for the vertices of the octahedron and Power Surge was for the vertices of the tetrahedron, this is for the vertices of the triangular bipyramid: the Mercator projection of the level sets of the function which takes the sum of the absolute values of the dot products of a point on the sphere with the given set of points.

In this case, I'm actually showing half the sphere twice: the longitude runs from $-3\pi/2$ to $3\pi/2$, which depicts the "front" half of the sphere twice.

As in the previous animations, I'm using ContourPlot[], so for each point $(x,y)$ in the plane, I'm applying inverse Mercator projection and then summing the dot products of the resulting point on the sphere with the vertices of the triangular bipyramid.

InverseMercator[{x_, y_}] := {Sech[y] Cos[x], Sech[y] Sin[x], Tanh[y]};
bipyramidverts = Normalize /@ PolyhedronData[{"Dipyramid", 3}, "VertexCoordinates"];

BiPyramidTotalDotProduct[{x_, y_}, θ_] =
       InverseMercator[{x, y}].RotationTransform[θ, {0, 1, 0}][#]] & /@ bipyramidverts],
   -π < x < π && -π < y < π && 0 < θ < 2 π,
    TimeConstraint -> 1];

Then it's just a matter of choosing a color scheme and animating:

 ContourPlot[BiPyramidTotalDotProduct[{x, y}, θ],
  {x, -3 π/2, 3 π/2}, {y, -π, π},
  AspectRatio -> 2/3, Frame -> False, ImageSize -> 540, 
  ContourStyle -> None, Contours -> Range[1.8, 2.8, .1], 
  PlotRangePadding -> -0.01, PlotPoints -> 50, 
  ColorFunction -> (ColorData["SunsetColors"][1 - #] &)],
 {θ, 0, π}]

enter image description here - Congratulations! This post is now a Staff Pick as distinguished by a badge on your profile! Thank you, keep it coming!

Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
or Discard

Group Abstract Group Abstract