Using pgfplots
, I'm trying to create a quiver plot on a hyperboloid surface something like this.
I was able to generate the hyperboloid surface using parametric equations. I could'nt find out how to generate the quiver plot tangent to the surface. Any help would be greatly appreciated.
I'm okay with using any other package like asymptote
etc if I can get this working.
The MWE is here
\documentclass[12pt]{book}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\begin{document}
\begin{tikzpicture}
\begin{axis}[view={110}{20}, %
scale = 1.2, y post scale = 1.5,
xlabel = $x$, ylabel = $y$, zlabel = $z$]
\addplot3[surf, samples=25, variable = \u, variable y = \v, z buffer = sort,
y domain = 0:2*pi]({sqrt(1+u^2)*cos(deg(v))}, {u}, {sqrt(1+u^2)*sin(deg(v))});
\end{axis}
\end{tikzpicture}
\end{document}
Surface of revolution of y=1/x. quiver plot code.
\addplot3[surf,domain=1:2, y domain = 0:2*pi, z buffer=sort, samples = 10, quiver = {
u = {(x+0.01)*cos(deg(y)) - x},
v = {(x+0.01)*sin(deg(y)) - y},
w = {1/(x+0.01) - z},
}
]
({x*cos(deg(y))}, {x*sin(deg(y))}, {1/x});