Is there a way to draw a tangent vector to a torus so that it follows its rescaling?
In other words, I have a plot of this type:
and once scaled the torus, it comes out that
Here is the code with the scaled torus:
% * Distribution = TeX Live 2020 *
% !TEX encoding = UTF-8
% !TEX TS-program = LaTeX
% * MainT *
\documentclass{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[margin=0.5in,paper=a4paper]{geometry} %Shrinking margins to 0.5in
\usepackage{bm}
\usepackage[x11names]{xcolor} %Additional colors
\usepackage{tikz}
\usetikzlibrary{arrows.meta,spy,positioning}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}[spy using outlines={circle, magnification=8, size=5.75cm, connect spies}]
% arrow
\draw [line width=.005pt,-{Latex[width=.25pt, length=.55pt]}] (9.83,6.67) -- ++(.22,.015)
node[pos=0.7,inner sep=.25pt,above]{\scalebox{0.125}{$\vec{x}$}}; %X
\fill [gray] (9.834,6.667) circle (.1925pt); % point
%%%%%%%%%%%%%%%%%%%
%%%%%%%% Torus %%%%%%%
%%%%%%%%%%%%%%%%%%%
\begin{axis}[axis equal,
x axis line style={draw opacity=0},
y axis line style={draw opacity=0},
z axis line style={draw opacity=0},
tick style={draw=none},
xticklabels={,,},
yticklabels={,,},
zticklabels={,,},
scale=.6,%
view={45}{14},
width=1.1\textwidth]%,
\addplot3
[domain=0:360,y domain=0:360,
variable=\u,variable y=\v,
mesh,
help lines,
opacity=0.1,
samples=75]
({(20+4.5*cos(u))*cos(v)},
{(20+4.5*cos(u))*sin(v)},
{4.5*sin(u)});
\end{axis}
%%%%%%%%%%%%%%%%%%%%%%%%%%
\spy [red] on (10.095,6.725) in node at (15,2.7); %magnification
\end{tikzpicture}
\end{document}
Any suggestions?