如何在 tikz 中绘制类似“#”的图表

如何在 tikz 中绘制类似“#”的图表

我不知道如何绘制像“#”这样的图表,有人可以提供一些提示吗?

谢谢你! 在此处输入图片描述

答案1

欢迎来到 TeX.SE!可以画出这样的图吗?当然可以。这里的人愿意为你画吗?这取决于他们的心情以及你的新手程度。相信我,自己画会更有趣。还要注意,如果你有一个具体的场景并且想要的不仅仅是一幅卡通画,那么 3d 包和非线性变换等可以做得更好。

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{intersections}
\def\ldarray{{"i","i+1"}}
\def\luarray{{"k","k+\mu","k+1"}}
\begin{document}
\begin{tikzpicture}
\foreach \X in {1,2,3}
{\draw[name path global=hor-\X-0] (0.1*\X,2*\X) to[bend left=12] ++ (5,1);}
\foreach \X in {1,2}
{\draw[name path global=vert-\X-0] (2*\X-0.5,1+0.1*\X) to[bend left=15] ++ (0.3,7);}
\foreach \X [count=\XX starting from 0] in {1,2,3}
{\foreach \Y [count=\YY starting from 0] in {1,2}
{\pgfmathsetmacro{\ld}{\ldarray[\YY]}
\pgfmathsetmacro{\lu}{\luarray[\XX]}
\path[name intersections={of=hor-\X-0 and vert-\Y-0,by=p\X\Y}] (p\X\Y)
node[circle,fill,inner sep=2pt,label=below right:$g_{\ld}^{\lu}$]{};}}
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

按照 marmot 的例子,

请注意\usetikzlibrary{intersections},在下面的代码中,定义 $Y={1,2}$ 是水平线,$X={1,2,3}$ 是垂直线...

\begin{center}
\begin{tikzpicture}
\foreach \X in {1,2,3}
{\draw[name path global=hor-\X-0] (0.1*\X,2*\X) to[bend left=12] ++ (5,1);}
\foreach \X in {1,2}
{\draw[name path global=vert-\X-0] (2*\X-0.5,1+0.1*\X) to[bend left=15] ++ (0.3,7);}
\foreach \X in {1,2,3}
{\foreach \Y in {1,2}
    {\ifnum\Y=1
        \def\ly{i}
        \else
        \def\ly{i+1}
        \fi
        \ifnum\X=1
        \def\ld{k} 
        \else
        \ifnum\X=2
        \def\ld{k+\mu}
        \else
        \def\ld{k+1}
        \fi
        \fi
        \path[name intersections={of=hor-\X-0 and vert-\Y-0,by=p\X\Y}] (p\X\Y)
        node[circle,fill,inner sep=2pt,label=below right:$g_{\ly}^{\ld}$]{};}}
\end{tikzpicture}
\end{center}

在此处输入图片描述

相关内容