# Tikz this surface picture

Can someone help me how to draw an image like this in Tikzpicture? I've been looking for an editable image like this on internet but there is not. I actually need to be able to edit the labels on this picture and to configure them, but I'm out of mind how to build a surface and these tangent planes and vectors in a 3d Tikz image.

• Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer.
– Community Bot
Commented May 30, 2022 at 18:04
• Welcome to SE. Please don't post questions where you're asking people to do your work for you. Post your code to show what you tried and ask for specific advice on this code. Commented May 30, 2022 at 18:05
• I'm not asking anyone to do it for me. I just have no experience in drawning 3d images and plots like this, so I'm looking for and advice how to develop at least the surfaces. Commented May 30, 2022 at 18:12
• First do you have the equation of the plane... Commented May 31, 2022 at 0:19
• Is it about illustrating the exponential map on a surface? Commented May 31, 2022 at 4:46

As a start point, I did a quick surface with mesh for z = f(x,y) =x^2 - y^2 and I added a surface with surf to draw the plane y. The vectors are inside a scope in order to format them all together. You may check which function better represent the surface you are looking for. I'd suggest to use wolframalpha to find a suitable function faster.

Please, notice the equations are not precise, just a proof of concept. It means, the plane is not the tangencial plane at (0,0) and vectors are not normalized, but e_3 is orthogonal to the plane while e_1 and e_2 are in the plane.

The second plane is commented, but it represents the second, third, ..., n-th plane you might add.

For illustrative purposes, I create an animation. Tha animation serves only to present the answer here without showing a lot of figure of all possible angles, therefore animation lines are commented. Please, do not use animations while learning how to draw, it is time consuming and a simple change numbers in the parameter view are more than enough to check the development of your sketch.

\documentclass{article}
\usepackage{tikz,pgfplots}
%\usepackage{animate}
\begin{document}
%\begin{animateinline}[poster=first, controls,loop]{10}
%  \multiframe{360}{ii=0+10}{
\begin{tikzpicture}
\begin{axis}[
view={30}{30},
% view={\ii}{30},
xlabel=$x$,
ylabel=$y$,
zlabel=$z$,
grid]

domain=-2:2,
domain y = -2:2,
samples = 20,
samples y = 8,
mesh] {x^2 - y^2};

domain y = -1:1,
samples = 5,
surf] {y};

%   domain y = -1:1,
%   samples = 5,
%   surf,red] {2*(x-y)+3};

\begin{scope}[-latex,blue,very thick]
\addplot3 [] coordinates {(0,0,0) (1,0,0)} node[right]{$e_1$};
\addplot3 [] coordinates {(0,0,0) (0,1,1)} node[right]{$e_2$};
\addplot3 [] coordinates {(0,0,0) (0,-1,1)} node[above]{$e_3$};
\end{scope}
\end{axis}
\end{tikzpicture}
%  }
%\end{animateinline}
\end{document}


• Thanks a lot! That's gonna help strongly! Commented Jun 1, 2022 at 1:05
• By the way. Check this answer. It might also be of your interest.
– FHZ
Commented Jun 1, 2022 at 1:45