I'm currently trying to graph the flow applied to some points of the 2,3-dimensional euclidean space, and it has been quite hard to do.
What I want is to graph something like this
and this
using expresions like this
with this cleaner and better looking design
Is it possible to do so?
PS.: "sen" means sine.
Updates:
For the first example, the suggestion Daniel N. made mostly worked.
\documentclass[dvipsnames, margin = 5mm]{standalone}
\usepackage{pgfplots}
\usepackage{tikz-3dplot}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\pgfplotsset{compat=newest}
\def\Point{36.9}
\begin{document}
\tdplotsetmaincoords{80}{130}
\begin{tikzpicture}[tdplot_main_coords, scale = 1]
\begin{axis}[
axis lines=middle,
height=12cm,
xtick=\empty,
ytick=\empty,
]
\addplot[variable=\t, domain=.063:4, samples=80] plot (\t, 1/\t);
\addplot[variable=\t, domain=.063:4, samples=80] plot (-\t, 1/\t);
\addplot[variable=\t, domain=.063:4, samples=80] plot (\t, -1/\t);
\addplot[variable=\t, domain=.063:4, samples=80] plot (-\t, -1/\t);
\addplot[variable=\t, domain=.067:3.7, samples=80] plot (\t+0.3, 1/\t+1);
\addplot[variable=\t, domain=.067:3.7, samples=80] plot (-\t-0.3, 1/\t+1);
\addplot[variable=\t, domain=.067:3.7, samples=80] plot (\t+0.3, -1/\t-1);
\addplot[variable=\t, domain=.067:3.7, samples=80] plot (-\t-0.3, -1/\t-1);
\end{axis}
\end{tikzpicture}
\end{document}
which is okay. With a few tweaks it will be perfect.
The second one, however, it's tricky. I've found an example that resembles what I am looking for, but I'm still having trouble shaping it.
\documentclass[dvipsnames, margin = 5mm]{standalone}
\usepackage{pgfplots}
\usepackage{tikz-3dplot}
\usetikzlibrary{decorations.markings}
\pgfplotsset{compat=newest}
\def\Point{36.9}
\begin{document}
\tdplotsetmaincoords{80}{130}
\begin{tikzpicture}[tdplot_main_coords, scale = 1]
\begin{axis}[
view={-5
0}{-20},
axis lines=middle,
zmax=60,
height=12cm,
xtick=\empty,
ytick=\empty,
ztick=\empty
]
\addplot3+[,ytick=\empty,yticklabel=\empty,
mark=none,
thick,
Black,
domain=2:16.7pi,
samples=400,
samples y=0,
]
({(1/x)sin(0.28pideg(x))},{(1/x)cos(0.28pi*deg(x)},{x+20});
\addplot3+[,ytick=\empty,yticklabel=\empty,
mark=none,
thick,
Black,
domain=2:16.7pi,
samples=400,
samples y=0,
]
({(1/x)sin(0.28pideg(x))},{(1/x)cos(0.28pi*deg(x)},0);
\addplot3+[,ytick=\empty,yticklabel=\empty,
mark=none,
thick,
Black,
domain=2:16.7pi,
samples=400,
samples y=0,
]
({-(1/x)cos(0.28pideg(x))},{-(1/x)sin(0.28pi*deg(x)},{-x-20});
\end{axis}
\end{tikzpicture}
\end{document}
which is almost what I want. The problem is the curve not approaching the z-axis quickly enough.







tikz-pgfandpgfplotsto your question which shows that you at least know which packages to start with. Look around on this site to come up with a first code example. I am pretty sure that something similar to the above can already be found around here. If you get stuck, please feel free to ask about the concrete problems you have. – Jasper Habicht Nov 01 '22 at 23:02TikZonly, with no fancy library. It is a coordinate system with some hyperbolas added. You should start with hyperbolas using the functionplot, something like\draw[variable=\t, domain=.063:4, samples=50] plot (\t, 1/\t);. Then you vary a constant to obtain a different one... Of course, we'll not have the arrows, but I promise to help you add those afterwards (it is mainly a decoration). – Daniel N Nov 03 '22 at 17:18domain=2:30*piand{.7*(x+20)}for the z coordinate. Compare the upper curve and the lower curve; maybe it is what you are looking for. – Daniel N Nov 12 '22 at 11:19