
Si entiendo correctamente, la \draw
función permite conectar puntos con líneas y luego (si las líneas vuelven al mismo punto) rellenar la forma delineada. Si uno usa el -- ( , )
comando, simplemente dibujará una línea desde el punto anterior hasta este punto. Me gustaría usar la tikzmath
función para generar puntos (sólo útil cuando los puntos están en una curva definida por una función elemental) en un foreach
bucle y conectar puntos posteriores. A continuación se muestra un intento de hacer eso para un círculo:
\documentclass[tikz]{standalone}
\begin{document}
\usetikzlibrary{math}
\def\npts{100}
\begin{tikzpicture}
\draw (0, 0) -- (0, 0)
\foreach \num in {1, 2, ..., \npts}
{
\tikzmath{
\xspace = 2*pi/\npts;
\t1 = \xspace*(\num - 1);
\x1 = sin(\t1);
\y1 = cos(\t1);
}
-- (\x1, y1)
}
-- cycle;
\end{tikzpicture}
\end{document}
Parece que el \tikzmath
comando interrumpe el \draw
comando de una manera que hace que no se compile. ¿Hay alguna forma de evitar esto?
Respuesta1
Sí, hay al menos una forma: usar evaluar (en lugar de \tikzmath ) dentro de las opciones de dibujo y definir dos funciones x(i) e y(i).
\documentclass[tikz]{standalone}
\begin{document}
\usetikzlibrary{math}
\begin{tikzpicture}
\draw[
evaluate={
\npts=100;
\xspace = 360/\npts; % 2pi=360
%
function x(\i){
\t=\xspace*(\i - 1);
return cos(\t);
};
%
function y(\i){
\t=\xspace*(\i - 1);
return sin(\t);
};
}
] (0, 0) foreach \num in {1, 2, ..., \npts}
{
-- ({x(\num)},{y(\num)})
}
-- cycle;
\end{tikzpicture}
\end{document}