# ParametricPlot3D creates a blank graphic in this case

I have been trying to evaluate the following code, but nothing happened. I don't see any result.

ParametricPlot3D[{v Cosh[u/v], v Cosh[u/v], u}, {u, -1, 1}, {v, -1, 1}]


What am I doing wrong?

-
Perhaps dividing by zero? Cosh[u/v] with both $u$ and $v$ going from -1 to 1 will do that. – Verbeia Mar 15 '12 at 11:11

You are dividing by zero at a point where there is a singularity anyway.

Mathematica handles this in the 2D case:

ParametricPlot[{v Cosh[u/v], u}, {u, -1, 1}, {v, -1, 1}]


You can get the graphic you are looking for by breaking up the plot into pieces, avoiding the zone near $v=0$. ParametricPlot3D allows you to show multiple objects in the same plot pretty simply.

ParametricPlot3D[{{v Cosh[u/v], v Cosh[u/v], u},
{-v Cosh[u/-v], -v Cosh[u/-v], u}}, {u, -1, 1}, {v, 0.1, 1},
Mesh -> None]


Adapting b.gatessucks's suggestion of using Exclusions, I have found that you also need to specify PlotRange and PlotPoints to get a sensible graphic.

ParametricPlot3D[{v Cosh[u/v],  v Cosh[u/v], u}, {u, -1, 1}, {v, -1, 1},
Mesh -> None, Exclusions -> {0, 0},
PlotRange -> {{-4, 4}, {-4, 4}, {-1, 1}}, PlotPoints -> 100]


-

This is just a problem of the choice of parameterization. Try this instead:

ParametricPlot3D[{v Cosh[u], v Cosh[u], u v}, {u, -30, 30}, {v, -1,
1}, Mesh -> None, PlotRange -> {{-4, 4}, {-4, 4}, {-1, 1}}]

-
Very clever use a transformation of variables. But anyway I think the question was why the plot fails. But this is one of the best workarounds. – FJRA Mar 18 '12 at 3:19