如何用tikz实现高尔顿板

发布于 2021-08-24 15:34:31

请教各位大佬,如何用tikz实现高尔顿板?我的要求是随着迭代层数不同,图形能够自动生成。
IMG_2581.JPG

查看更多

关注者
0
被浏览
1.3k
芒果不盲
芒果不盲 2021-08-25
学好TiKZ和tcolorbox!

QQ截图20210825193805.png
main.tex

这是之前在完成万老师的作业时画的一个,但是好像并不能解决您的问题,我有时间会思考您的问题!

陈老师,我又来了!
按照您的要求做了一下,大概能实现您所想的结果,但仍有不足之处!

grdb.zip

QQ图片20210826181923.png

4 个回答
感知+认知+智能
这家伙很懒,什么也没写!

这个可以用tikz直接绘制吧,下面是纯手工画的:

\documentclass[tikz,border=5pt]{standalone}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{tikz}
\usetikzlibrary{positioning,shadows,backgrounds}
\begin{document}

\newcommand\N[3]{\foreach \X in {0,...,#1}
 {\draw[draw=black,fill=black] (\X+#2,#3)circle (0.25cm);}}
\begin{tikzpicture}

\N{0}{3}{3.6}
\N{1}{2.5}{3}
\N{2}{2}{2.4}
\N{3}{1.5}{1.8}
\N{4}{1}{1.2}
\N{5}{0.5}{0.6}
\N{6}{0}{0}
\draw[line width=1pt,rounded corners=0.2cm](2.5,3.5)--(2.5,3.4)--(-0.3,0.06)--(-0.3,-3)
--(6.31,-3)--(6.31,0.06)--(3.6,3.3)--(3.6,3.6);
\foreach \M in {0,1,...,6}{\draw[line width=1pt](\M,0)--(\M, -2.8);}
\foreach \h in {1,2,...,6}{\draw (\h-0.5,-2.3) circle (0.25cm)node [inner sep=0.5pt]{\h};}
\draw[line width=1pt](0,-2.6)--(0,-2.8)--(6, -2.8)--(6, -2.6);
 
\end{tikzpicture}

\end{document}```
可以作为一个参考!
行者
行者 2021-08-25
这家伙很懒,什么也没写!

可以参考这个,“高尔顿板”的一种实现方式,https://latexstudio.net/index/details/index/mid/1876.html

image.png

越来越少
越来越少 2021-08-25
这家伙很懒,什么也没写!
\begin{tikzpicture}
\begin{scope}[xslant=0.5]%y=(60:1)???
  \foreach \i in {0,...,6}
  {
    \foreach \j in {0,...,5}
    {
      \pgfmathparse{\j>-\i+6}
      \ifnum \pgfmathresult=1
      \else
        \node [
%          fill,
           draw,
           circle,inner sep=0pt,minimum size=3mm](n-\i-\j) at(\i,\j) {%
%        n-\i-\j
        };
      \fi
    }
  }
\end{scope}
\draw ($(n-1-5.north)+(90:1.5)$)--($(n-1-5.north)+(90:1)$)--($(n-6-0)+(0:1)$)--++(-90:5)-|($(n-0-0)+(180:1)$)--($(n-0-5.north)+(90:1)$)--($(n-0-5.north)+(90:1.5)$);
\end{tikzpicture}

得到
5585798563121045a23b8f558bfa152f.png
其余的线可以参考其他回答。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览