spherical-helix

Edit and compile if you like:

\documentclass{article}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\usetikzlibrary{math}
\usepackage{ifthen}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{1pt}
%
% File name: spherical-helix.tex
% Description: 
% A geometric representation of a spherical helix is shown.
% 
% Date of creation: October, 24th, 2021.
% Date of last modification: October, 9th, 2022.
% Author: Efraín Soto Apolinar.
% https://www.aprendematematicas.org.mx/author/efrain-soto-apolinar/instructing-courses/
% Source: page 223 of the 
% Glosario Ilustrado de Matem\'aticas Escolares.
% https://tinyurl.com/5udm2ufy
%
% Terms of use:
% According to TikZ.net
% https://creativecommons.org/licenses/by-nc-sa/4.0/
% Your commitment to the terms of use is greatly appreciated.
%
\begin{document}
%
\tdplotsetmaincoords{80}{120}
%
\begin{tikzpicture}[tdplot_main_coords]
	% Parametric equations of the curve (spherical helix)
	\tikzmath{function equis(\t) {return \a*sin(\t/(2.0*\c) r)*cos(\t r);};}
	\tikzmath{function ye(\t) {return \a*sin(\t/(2.0*\c) r)*sin(\t r);};}
	\tikzmath{function zeta(\t) {return \a*cos(\t/(2.0*\c) r);};}
	% Values to indicate the domain of the graph
	\pgfmathsetmacro{\ti}{-0.5*pi+pi/6.0}
	\pgfmathsetmacro{\tf}{0.5*pi+pi/6.0}
	\pgfmathsetmacro{\tm}{0.5*pi+pi/6.0}
	\pgfmathsetmacro{\tn}{1.5*pi+pi/6.0}
	\pgfmathsetmacro{\a}{2.5}
	\pgfmathsetmacro{\b}{\a}
	\pgfmathsetmacro{\c}{5.0}
	\pgfmathsetmacro{\r}{sqrt(\a*\a+\b*\b)}
	\pgfmathsetmacro{\vueltas}{10.0}
	\pgfmathsetmacro{\factor}{10.0}
	\pgfmathsetmacro{\ejez}{\a+0.5}
	% Graph of the curve (back)
	\foreach \n in {0,2,4}{
		\pgfmathsetmacro{\ti}{0.5*pi+\n*pi+pi/6.0}
		\pgfmathsetmacro{\tf}{1.5*pi+\n*pi+pi/6.0}
		\draw[red,thick] plot[domain=\ti:\tf,smooth,variable=\t,samples=50] ({equis(\t)},{ye(\t)},{zeta(\t)});
	}
	\foreach \n in {0,2,4,6}{	
		\draw[red,thick] plot[domain=\tm:\tn,smooth,variable=\t,samples=50] ({equis(\t*\n)},{ye(\t*\n)},{zeta(\t*\n)});
	}
	\draw[red,thick] plot[domain=8.5*pi:10*pi,smooth,variable=\t,samples=50] ({equis(\t)},{ye(\t)},{zeta(\t)});
	% Coordinate axis
	\draw[thick] (-\a-0.25,0,0) -- (\a,0,0); % $x$ axis
	\draw[thick] (0,-\b-0.25,0) -- (0,\b,0); % $y$ axis
	\draw[thick,->] (0,0,-\ejez) -- (0,0,\ejez) node[above] {$z$}; % $z axis$
	% A sphere
	\shade[ball color=cyan,opacity=0.35] (0,0) circle (\a cm);
	% Graph of the curve (front)
	\pgfmathsetmacro{\tf}{0.5*pi+pi/6.0}
	\draw[red,thick] plot[domain=0:\tf,smooth,variable=\t,samples=100] ({equis(\t)},{ye(\t)},{zeta(\t)});
	%
	\foreach \n in {2,4,6,8}{
		\pgfmathsetmacro{\ti}{-0.5*pi+\n*pi+pi/6.0}
		\pgfmathsetmacro{\tf}{0.5*pi+\n*pi+pi/6.0}
		\draw[red,thick] plot[domain=\ti:\tf,smooth,variable=\t,samples=50] ({equis(\t)},{ye(\t)},{zeta(\t)});
	}
	% 
	\draw[thick,->] (\a,0,0) -- (\a+2.5,0,0) node[below left] {$x$}; % $x$ axis
	\draw[thick,->] (0,\b,0) -- (0,\b+0.75,0) node[right] {$y$}; % $y$ axis
\end{tikzpicture}
%
\end{document}

Click to download: spherical-helix.texspherical-helix.pdf
Open in Overleaf:
spherical-helix.tex
See more on the author page of Efraín Soto Apolinar.

Leave a Reply

Your email address will not be published.