免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 发帖

请教蛇形直线要怎么画

本帖最后由 abababa 于 2021-8-1 10:17 编辑

画蛇形线.gif
2021-8-1 10:12


如图,我先用
  1. \foreach \i in {0,...,6} {
  2.         \draw[color=OliveGreen] (0,\i) -- (6,\i);
  3.         \draw[color=OliveGreen] (\i,0) -- (\i,6);
  4. }
复制代码
画了方格,然后想画图中的蛇形线,从左上角画到右下角那样,每个转弯的点都是方格的中心。这只是个示例,实际要画的是8*8,16*16两种方格,有没有简单一点的方法?

首先我想把方格都平移0.5单位,这样蛇形线的转弯点就都是整数了,可能会方便一点,但这个也还没想明白怎么做。
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

  1. \documentclass{article}
  2. \usepackage{tikz}
  3. \begin{document}
  4. \tikz[x=0.5cm,y=0.5cm,line cap=round]{\def\n{8}
  5. \draw (0,0) grid[step=1] (\n,-\n);
  6. \foreach \i in {2,...,\n} {
  7. \draw[line width=2pt] (\i-0.5,-0.5)--(0+0.5,-\i+0.5)
  8. (\n-\i+0.5,-\n+0.5)--(\n-0.5,-\n+\i-0.5);
  9. }
  10. \draw[line width=2pt,dash pattern=on 0.5cm off 0.5cm]
  11. (0.5,-0.5)--++(\n-1,0)--++(0,-\n+1)--++(-\n+1,0)--cycle;
  12. }
  13. \end{document}
复制代码
改 16*16 只需改 \def\n{8} 为 16,奇数亦可;
改方格大小则需改前面的“x=...,y=...”以及后面的“=on ... off ...”两处。
QQ截图20210801150152.png
$\href{https://kuingggg.github.io/}{\text{About Me}}$

TOP

回复 2# kuing

谢谢,果然好用,太好了。

原来是那些直线和斜线分开画的,我还想怎么让它到哪个点拐弯。

TOP

这画法是有点取巧,是先画斜线,再连接端点,在连接时,由于总是相间的,相当于虚线,所以我就画虚线并将间隔设为方格长度,就OK了,完全不用管奇偶什么的。

TOP

回复 4# kuing

版主要是不说,我还没发现这一点,原来那个画的是虚线圈,我在最后看有一个cycle,知道是闭的,一时还没发觉原来是虚线闭圈。

TOP

返回列表 回复 发帖