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