# How can I create this graph in Mathematica?

I'm interested in illustrating a hyperbolic plane for a report I'm writing. Here's the metric that I'm using:

$$ds^2=dr^2+\sqrt{\lvert k\rvert}^{-1}\sinh\left(r\sqrt{\lvert k\rvert}\right)\left( d\theta^2+\sin^2\theta\space d\phi^2 \right)$$

And I'd like it to look like this: Marco's answer below is a good start:

Plot3D[Sinh[x] Sinh[y], {x, y} \[Element] Disk[], BoxRatios -> {1, 1, 1}, Boxed -> False, Axes -> False]


I'd like to do basically this, but using radial coordinates (like in the picture).

• ... and what have you tried? It would seem to me that a Plot3D with an appropriate RegionFunction (a disk?), or using the newer Element[{x, y}, region] to specify the support of your lot could help. May 21 '20 at 4:44
• I was thinking of something like Plot3D[Sinh[x] Sinh[y], {x, y} \[Element] Disk[], BoxRatios -> {1, 1, 1}, Boxed -> False, Axes -> False] plus appropriate formatting modifications. May 21 '20 at 4:52
• @MarcoB He may mean to use differential geometry to solve this problem. For example, using FrenetSerretSystem function. May 21 '20 at 7:39
• @MarcoB - That looks like a good start. Is it possible to do the same thing with radial coordinates (like in the plot)? Write it up as an answer and I'll up-vote it. May 23 '20 at 13:30
• @Quarkly I'd be happy to if the question gets reopened. In any case, the special sauce to get the polar-style gridlines would be MeshFunctions -> {Norm[{#1, #2}] &, ArcTan[#1, #2] &}. Give me a ping if the question gets reopened and I'll write a proper answer. May 23 '20 at 21:25

Here is the approach I teased in comments:

Plot3D[
Sinh[x] Sinh[y], {x, y} ∈ Disk[],
MeshFunctions -> {Norm[{#1, #2}] &, ArcTan[#1, #2] &},
Mesh -> {15, 40},
MeshStyle -> Black,
PlotPoints -> 75,
PlotTheme -> {"Classic"},
Background -> Black,
BoxRatios -> {1, 1, 1}, Boxed -> False, Axes -> False,
ViewPoint -> {3, -1, 2}, ViewVertical -> {-0.5, 0.2, 1}
] • Exactly what I needed. May 24 '20 at 20:48