Height function on 2-torus with only 3 critical points It is well-known that a Morse function on $T^2$ has at least $4$ critical points, but also that there exist functions $f\colon T^2\to\mathbb R$ with only 3 critical points (the least possible number by Lusternik-Schnirelmann theory): a minimum, a maximum, and a degenerate saddle.
It is not hard to describe these functions by means of their levelsets, but it seems difficult to produce immersions of $T^2$ into $\mathbb R^3$ with a height function that does the job. According to Banchoff and Takens, there are no smooth embeddings with such height functions, only immersions. I was trying to look for pictures of such immersions and came across the following beautiful image by Cassidy Curtis:

I expected that these would be somehow easier to produce -- but probably I am wrong... still:

Is there a "simpler" immersion of $T^2$ into $\mathbb R^3$ whose image has a height function with exactly 3 critical points? Or is the above example "optimal" in some sense?

The only necessary conditions I see are that the saddle point $p$ must be degenerate and that there are 3 arcs with both endpoints at $p$ that lie in the same levelset as $p$. I find it hard to believe that these conditions are not sufficient, and that there are no easier immersions; but I have not been able to prove this or find any such immersions.
 A: I would recommend to look at the paper (here is a free original in russian)


*

*Elena Kudryavtseva, Realization of smooth functions on surfaces as height functions. (Russian) Mat. Sb. 190 (1999), no. 3, 29--88; translation in Sb. Math. 190 (1999), no. 3-4, 349–405


where the structures of immersions realizing given function as a height function are described.
Let $M$ be a closed surface and $f:M\to\mathbb{R}$ be a smooth (not necessarily Morse) function having exactly $N$ critical points.
Say that $f$ can be realized as a height function if there exists an immersion $j:M \to\mathbb{R}^3$ and an orthogonal projection $p:\mathbb{R}^3 \to\mathbb{R}$ to some line $l$ such that $f = p\circ j$.
Notice that in this case at each critical point $z\in\mathbb{R}^3$ the normal vector to the surface is parallel to the line $l$.
Say that two immersions with the same height functions are normally equivalent if the directions of the normals to these immersed surfaces at all critical points of the height functions are the same.
Elena Kudryavtseva proved (see Theorem 1 of the paper above) that $f$ can be realized as a height function in the following cases: 
1) $M$ is either a sphere or a torus;
2) $M$ is any orientable surface and $f$ is Morse, and in this case there are $C^{N/2}_{N} = \frac{N!}{(N/2)! (N/2)!}$ normally non-equivalent immersions;
3) $M$ is non-orientable, and $f$ is not necessarily Morse but has only finitely many critical points, and in this case there are $2^{N}$ normally non-equivalent immersions.
A: The complexity of surface immersions in 3-space has been studied in a series of papers by Nowik and collaborators.  See 
Nowik, Tahl.  Higher-order invariants of immersions of surfaces into 3-space. Pacific J. Math.  223  (2006),  no. 2, 333–347
as well as
Nowik, Tahl. Order one invariants of immersions of surfaces into 3-space. Math. Ann.  328  (2004),  no. 1-2, 261–283.
A: Warning: this is not an immersion (it has twelve Whitney-umbrella-like pinch points)
Here is a relatively simple explicit realization: the $z$ coordinate for the parametric surface$$(x,y,z)=(\sin(2u),\sin(2v),\sin(u)\sin(v)\sin(u-v));$$after an affine shift leaving $z$ unchanged the graph looks like this:

It is thus similar to the Steiner's Roman surface except that the latter has three double lines and this one has six.
I've tried to cut it to make the central monkey saddle more visible:

The implicit equation, in slightly different coordinates, is$$(X+Y+Z)(X+Y-Z)(X-Y+Z)(-X+Y+Z)=(XYZ)^2,$$
 
with function $X+Y+Z$:

Mathematica codes:
ParametricPlot3D[
 {3Sin[2u]+4Sin[u]Sin[v]Sin[u-v],3Sin[2v]-4Sin[u]Sin[v]Sin[u-v],Sin[u]Sin[v]Sin[u-v]},
 {u,0,\[Pi]},{v,0,\[Pi]},
 BoxRatios->{1,1,1},
 Mesh->None,
 PlotPoints->150,
 PlotStyle->FaceForm[Red,Cyan],
 Boxed->False,Axes->False,
 SphericalRegion->True
]

ParametricPlot3D[
 {3Sin[2u]+4Sin[u]Sin[v]Sin[u-v],3Sin[2v]-4Sin[u]Sin[v]Sin[u-v],Sin[u]Sin[v]Sin[u-v]},
 {u, 0, \[Pi]}, {v, 0, \[Pi]},
 BoxRatios -> {1, 1, 1}, Mesh -> None,
 RegionFunction -> (Abs[#3]<.05 \[Or] .2<Abs[#3]<.4 \[Or] .6<Abs[#3]<.8 \[Or] Abs[#3]>1 &),
 PlotPoints -> 250,
 PlotStyle -> FaceForm[Red, Cyan],
 BoundaryStyle -> Black,
 Boxed -> False,
 Axes -> False,
 SphericalRegion -> True
]

With[{d=2},
 ContourPlot3D[
  (U-V-W) (U+V-W) (U-V+W) (U+V+W)+(U V W)^2==0,
  {U,-d,d},{V,-d,d},{W,-d,d},
  BoxRatios->{1,1,1},
  PlotPoints->150,
  MeshFunctions->{#1+#2+#3&},
  ImageSize->Full,
  Mesh->40
 ]
]

