\documentclass[border=10pt]{standalone}
%%%<
\usepackage{verbatim}
%%%>
\usepackage{pgfplots}
\pgfplotsset{width=7cm,compat=1.8}
\usepackage{url}
\begin{comment}
:Title: Klein bottle
:Tags: 3D;Parametrized Plots;Mathematics;Manual
:Author: Christian Feuersänger
:Slug: klein-bottle

Both mesh and surface plots are actually special parametrized plots
where x and y are on cartesian grid points.
Parameterized plots just need a special way to provide the coordinates.

Her we plot the Klein bottle, which is an example of a non-orientable surface.

The code is from the PGFPlots 1.10 manual: "4.6.9 Parameterized Plots".
\end{comment}
\begin{document}
\begin{tikzpicture}
	\begin{axis}[
		xlabel=$x$,
		ylabel=$y$,
		view/h=-10,
		title=\footnotesize 
 \url{http://en.wikipedia.org/wiki/Klein_bottle},
	]
	\addplot3[
		surf,
		z buffer=sort,
		colormap={periodic}{%
			color=(blue) 
			   color=(yellow) 
			      color=(orange) 
				     color=(red)
			      color=(orange) 
	           color=(yellow) 
	        color=(blue)},
		domain=0:180, domain y=0:360,
		samples=41, samples y=25,
		variable=\u, variable y=\v,
		point meta=u,
		] 
		({-2/15 * cos(u) * (
		    3*cos(v) - 30*sin(u) 
		  + 90 *cos(u)^4 * sin(u) 
		  - 60 *cos(u)^6 * sin(u)  
		  + 5 * cos(u)*cos(v) * sin(u))
		 },
		 {-1/15 * sin(u) * (3*cos(v) 
		  - 3*cos(u)^2 * cos(v) 
		  - 48 * cos(u)^4*cos(v) 
		  + 48*cos(u)^6 *cos(v) 
		  - 60 *sin(u) 
		  + 5*cos(u)*cos(v)*sin(u) 
		  - 5*cos(u)^3 * cos(v) *sin(u) 
		  - 80*cos(u)^5 * cos(v)*sin(u) 
		  + 80*cos(u)^7 * cos(v) * sin(u))
		 },
		 {2/15 * (3 + 5*cos(u) *sin(u))*sin(v)});
	\end{axis}
\end{tikzpicture}
\end{document}
