使用 tkz-euclide 绘制时钟

使用 tkz-euclide 绘制时钟

我正在尝试使用 for 循环用该包制作一个时钟tkz-euclide。我尝试让它工作,但它总是出错。这是我的 MWE

\documentclass[tikz]{standalone}
\usepackage{tkz-euclide}
%\usetikzlibrary{calc}
\begin{document}
  \begin{tikzpicture}
    \def \radius{5cm}
    \def \n{12}
    \tkzDefPoint(0,0){O}
    \tkzDrawCircle[R](O,\radius)
  %  \tkzDefPoint(90-360/12:5){B}
  %  \tkzDefPoint(90-360/12:4){C}
  %  \tkzDrawSegment(B,C)
  %  \tkzLabelPoint[below](C){1}
  %  \tkzDrawPoint(B)
  \foreach \i in {1,...,\n}
  {
  \tkzDefPoint(90-1*(360/\n):\radius){t_\i}
  \tkzDrawPoint(t_\i)
  }
  \end{tikzpicture}
\end{document}

似乎无法理解\tkzDefPoint命令中的角度。有什么建议吗?

答案1

您得到的错误是! FP error: Illegal character c found in float number!.c问题是 中的5cm。 看起来您需要一个无单位数字,因此cm从 的定义中删除 。不过\n您需要将其重新添加到 中。\tkzDrawCircle

当然,您不想\i1循环中进行乘法。

\documentclass[tikz]{standalone}
\usepackage{tkz-euclide}
%\usetikzlibrary{calc}
\begin{document}
  \begin{tikzpicture}
    \def \radius{5}
    \def \n{12}
    \tkzDefPoint(0,0){O}
    \tkzDrawCircle[R](O,\radius cm)
  %  \tkzDefPoint(90-360/12:5){B}
  %  \tkzDefPoint(90-360/12:4){C}
  %  \tkzDrawSegment(B,C)
  %  \tkzLabelPoint[below](C){1}
  %  \tkzDrawPoint(B)
  \foreach \i in {1,...,\n}
  {
  \tkzDefPoint(90-\i*360/\n:\radius){t_\i}
  \tkzDrawPoint(t_\i)
  }
  \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容