Tikz-绘制角度时尺寸太大

Tikz-绘制角度时尺寸太大

我正在尝试构造一个“错误”的量角器,用于实验室体验,展示由于仪器故障而导致的系统误差概念。我认为这将是一个相当简单的任务,事实上,我成功地画出了一个直角为 91° 的量角器,如下所示。

\documentclass[tikz,border=5pt]{standalone}
\usepackage{tikz,siunitx}
\begin{document}
\begin{tikzpicture}
  \foreach \x in {0,...,182}
  \draw ({90*\x/91}:10cm) to ({90*\x/91}:11cm);
  \foreach[count=\i, evaluate=\i as \lb using int(10*(\i-1))] \x in {0,10,20,31,41,...,111,122,132,...,182}
  \draw[line width=2pt] ({90*\x/91}:9cm) node {\ang{\lb}} ({90*\x/91}:9.5cm) to ({90*\x/91}:11cm);
\end{tikzpicture}
\end{document}

工作示例

出于某种原因,如果我尝试使其变为直角 93°,为了获得更明显的效果,我收到“尺寸太大”错误,并且最后几个刻度最终会叠加在一起。

\documentclass[tikz,border=5pt]{standalone}
\usepackage{tikz,siunitx}
\begin{document}
\begin{tikzpicture}
  \foreach \x in {0,...,186}
  \draw ({90*\x/93}:10cm) to ({90*\x/93}:11cm);
  \foreach[count=\i, evaluate=\i as \lb using int(10*(\i-1))] \x in {0,10,...,180}
  \draw[line width=2pt] ({90*\x/93}:9cm) node {\ang{\lb}} ({90*\x/93}:9.5cm) to ({90*\x/93}:11cm);
\end{tikzpicture}
\end{document}

失败

我不知道在这种情况下会出现什么问题,直觉上,任何尺寸都不应该比前一种情况更大。我尝试缩小半径,但没有成功。

答案1

您需要将中间计算限制在上述范围内:例如,您可以使用不同的顺序90/93*\x。这样,除法将首先执行,并且永远不会达到固定点最大值 16384。

或者使用括号,以便90*(\x/93)不同的术语再次受到限制。

编辑:MWE - 与您的不同,但我必须将其放在这里以获得不会自动标记为“垃圾邮件”的答案

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}
\begin{tikzpicture}
  \foreach \x in {0,1,...,186}
  \draw ({90/93*\x}:10cm) to ({90/93*\x}:11cm);
    \foreach[count=\i, evaluate=\i as \lb using int(10*(\i-1))] \x in {0,10,...,180}{
    \pgfmathsetmacro\ang{int(90/93*\x)}
  \draw[line width=2pt] ({90/93*\x}:9cm) node {\ang} ({90/93*\x}:9.5cm) to ({90/93*\x}:11cm);}
\end{tikzpicture}
\end{document}

相关内容