hsv_cone


\documentclass[border=2mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{
	compat=1.11,
}

\begin{document}
	\begin{tikzpicture}[>=stealth]
		\def\arcbegin{0}
		\def\arcending{270}
		\begin{axis}[
			view={19}{30},
			axis lines=center,
			axis on top,
			domain=0:1,
			y domain=\arcbegin:\arcending,
			xmin=-1.5, xmax=1.5,
			ymin=-1.5, ymax=1.5,
			zmin=0.0, zmax=1.2,
			hide axis,
			samples=20,
			data cs=polar,
			mesh/color input=explicit mathparse,
			shader=interp,
		]


		\addplot3 [
			surf,
			variable=\u,
			variable y=\v,
			point meta={symbolic={Hsb=v,u,u}},
		](v,u,u);
		

		\addplot3 [
			surf,
			samples=50,
			variable=\u,
			variable y=\v,
			point meta={symbolic={Hsb=v,u,1}},
		] (v,u,1);
		

		\addplot3 [
			surf,
			variable=\u,
			y domain=0:1,
			variable y=\w,
			point meta={symbolic={Hsb=\arcbegin,u,z}},
		] (\arcbegin,u,{u+w*(1-u)});
		
		\addplot3 [
			surf,
			variable=\u,
			y domain=0:1,
			variable y=\w,
			point meta={symbolic={Hsb=\arcending,u,z}},
		] (\arcending,u,{u+w*(1-u)});

		\addplot3 [line width=0.3pt]
			coordinates {
				(0,0,0) (\arcbegin,1,1) (0,0,1)
				({(\arcending)},1,1) (0,0,0)
			};
		
		\draw [line width = 0.3pt] (axis cs: {cos(\arcbegin)}, {sin(\arcbegin)},1) arc (\arcbegin:\arcending:1);

		\draw [->,line width = 0.6pt]
			(axis cs: {0.5*cos(\arcbegin+20)}, {0.5*sin(\arcbegin+20)},1) arc ({\arcbegin+20}:{\arcending-20}:0.5);
	
		\addplot3[<->, line width=0.6pt] 
			coordinates {
				(\arcbegin,1.1,0)
				(0,0,0)
				(0,0,1.45)
			};
	
		\node at (axis cs:1.1,0,0)      [anchor=north east] {S};
		\node at (axis cs:0,0,1.45)     [anchor=north east] {V};
		\node at (axis cs:-.5,0.0,1.0)  [anchor=east]       {H};
		
		\end{axis}
	\end{tikzpicture}
\end{document}