写在前面
上节(TikZ学习笔记(一) 基本图形_zorchp我们说到的简单图形绘制方法, 这次我们来学习一下有关图形中循环语句(foreach...in...
)的使用, 有了这个强有力的工具, 我们就能通过方便又快捷地生成很多精致的矢量图了.
P.S. 这里针对不同的图形种类, 很多大佬已经封装了一些好用的宏包, 例如平面几何绘图包tikz-euclide
, 用这个包来绘制平面几何的常用图形比起直接使用要简单很多, 不过这里还是建议先研究一下, 因为其他这些包都是基于二次开发的, 这也算简单了解一下"所以然"了.
预备知识
在介绍循环之前, 我们先来介绍一下一些基本的绘图知识点, 这些也十分重要, 特别是用在下面的例子中时.
线段的等分
这里先介绍的一个子包calc
, 需要在导言区(preamble)加入\usetikzlibrary{calc}
, 就能使用线段等分的命令了.
默认的调用格式是($(线段起始点)!<比例>!(线段终止点)$)
, 还是很好理解的. 例如下面的语句就是将线段AB进行等分, 分点取D.
同样, 如果需要取AD的分点, 可以加上下面的两条命令:
循环(pgfmanual-chap88)
目前十分流行的矢量图绘制软件Adobe illustrator(AI), 能够实现直接用鼠标来创建矢量图, 但是当遇到大量重复工作时, 中的foreach
语句就能很好地发挥其威力, 下面用一个小例子来说明, 这个例子就是我之前学习时候绘制的尺规作图系列第一幅图, TikZ绘图示例——尺规作图:线段的任意等分_zorchp
对于循环, 这里我们先介绍其主要格式, 即
对第一处省略号, 可以采用如下的方式来定义, 即起始值,第二值,...,结束值
,(第二值可以不写, 默认为1
) 相当于C++中的for循环语句的定义, 都是需要三个参数来实现循环变量的生成.
下面是一些由\foreach
生成的值, 在pgfmanual中都有, 可以加深大家对\foreach
的理解.
下面是一个小例子, 用于绘制一个坐标轴.
一个例子
下面以尺规作图系列中最简单的一幅图为例进行讲解.