以正17边形的绘制为例,说明了如何在\foreach
循环中使用[evaluate=...]
参数实现数学运算,以简化操作,如:
\foreach \p [evaluate=\p as \k using {int(mod(\p,17))},%
evaluate=\p as \i using {int(mod(\p-3,17))},%
evaluate=\p as \j using {int(mod(\p+3,17))}] in {3,6,...,48}%
{
\tkzInterCC(O,A)(P\k,P\i)\tkzGetPoints{P\j}{X}
\tkzDrawSegment[cl](P\k,P\i)
\tkzCompass[delta=5](P\k,P\j)
}
\foreach \p [evaluate=\p as \k using {int(mod(\p,17))},
evaluate=\p as \i using {int(mod(\p-1,17))}] in {1,...,17}%
{
\tkzDrawSegment[rl](P\k,P\i)
\tkzDrawPoint[cpt](P\k)
}
Happy TikZing!
暂无评论