::
`
documentclass[tikz,border=10pt]{standalone}
\usepackage{tikz-3dplot} % Per una gestione comoda delle coordinate 3D
\usepackage{pgfplots} % (opzionale) se vuoi leggere tabelle
\pgfplotsset{compat=1.18}
% Definisci i parametri: raggio del cilindro e larghezza del disegno 2D
\def\R{2} % Raggio del cilindro
\def\L{10} % Larghezza totale del disegno in unità (da 0 a L)
% Macro che trasforma un punto (x,y) in coordinate 3D sul cilindro
\newcommand{\transformPoint}[2]{%
% Calcola l'angolo in gradi: TikZ lavora spesso in gradi
\pgfmathsetmacro{\theta}{(#1/\L)*360}%
% Calcola le coordinate 3D: (R*cos(theta), R*sin(theta), y)
\pgfmathsetmacro{\Xcoord}{\R*cos(\theta)}%
\pgfmathsetmacro{\Ycoord}{\R*sin(\theta)}%
\pgfmathsetmacro{\Zcoord}{#2}%
(\Xcoord,\Ycoord,\Zcoord)%
}
\begin{document}
\tdplotsetmaincoords{70}{110} % Imposta una vista 3D
\begin{tikzpicture}[tdplot_main_coords]
% Per riferimento, disegna il bordo del cilindro (la circonferenza di base)
\draw[gray, very thin] (0,0,0) circle (\R);
% Supponiamo di avere alcuni punti: in un caso reale li leggeresti dal file
% Esempio: lista di punti nel formato x/y
\foreach \x/\y in {0/0, 2/1, 4/0.5, 6/1.5, 8/0.8, 10/1.2} { \draw[fill=red] \transformPoint{\x}{\y}};
\draw[blue, thick] ;
\transformPoint{0}{0} —
\transformPoint{2}{1} —
\transformPoint{4}{0.5} —
\transformPoint{6}{1.5} —
\transformPoint{8}{0.8} —
\transformPoint{10}{1.2};
\end{tikzpicture}
\end{document}`
Per cercare di circoscrivere il mio problema, vi posto un’altro codice. Al momento della compilazione mi viene segnalato un errore, appena dopo:
`
\foreach \x/\y in {0/0, 2/1, 4/0.5, 6/1.5, 8/0.8, 10/1.2} { \draw[fill=red] \transformPoint{\x}{\y}};
`
`
document.tex: errore: 29: Package tikz Error: Giving up on this path. Did you forget a semicolon?. …{ \draw[fill=red] \transformPoint{\x}{\y}}
`