如何在 TikZ 中制作计算尺?

如何在 TikZ 中制作计算尺?

我最近从《科学美国人》文章我非常喜欢它们。然而,我从来没有机会接触到真实的计算尺。所以我用我的打印机制作了自己的计算尺,这个 pdf。但是,我制作的计算尺没有很多刻度,而真正的计算尺像这个,有很多鳞片。

所以我想也许我可以使用 TikZ 制作一个更好的。我开始制作它,但卡在这里:

\documentclass{article}

\usepackage{amsmath,amsfonts,amsthm}
\usepackage{tikz}
\usepackage[a5paper,margin=0pt]{geometry}

\begin{document}
~\vfill
\centering

\begin{tikzpicture}
\draw (0,0) rectangle (14,20);
\draw (8.75,0) -- (8.75,20);
\draw [dashed] (1.75,0) -- (1.75,20);
\draw [dashed] (7,0) -- (7,20);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\foreach \x in {2,...,18}{\draw (0,\x) -- ++(0.15,0);}
\node [rotate=90] at (0.5,1.5) {C};
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{tikzpicture}\\

\vfill
\end{document}

问题是我不知道如何在 TikZ 中制作对数刻度。所以请告诉我创建对数刻度的基本语法。我会做剩下的。

答案1

通过迭代和函数f[n,x]=n+log(x)(其中和都是整数),可以轻松绘制对数刻度。n>=01<=x<=9nx

\documentclass[pstricks,border=12pt,12pt]{standalone}
\psset{xunit=3cm}

\def\f(#1,#2){(#1+log(#2))}

\pstVerb{/I2P {AlgParser cvx exec} def}

\begin{document}
\begin{pspicture}(0,-1)(4,1)
    \psline[linecolor=blue](4,0)
    \psset{linecolor=red}
    \foreach \n in {0,...,3}{%
        \foreach \i in {1,...,10}{% 10 (instead of 9) is used here to make sure the last line is drawn.
            \pstVerb{/xxx {{\f(\n,\i)} exec I2P} def}%
            \psline(!xxx -1)(!xxx 1)}}
\end{pspicture}
\end{document}

在此处输入图片描述

翻译至 TikZ

\documentclass[tikz,border=12pt,12pt]{standalone}

\def\f(#1,#2){#1+log10(#2)}


\begin{document}
\begin{tikzpicture}
    \draw[blue] (0,0) -- (4,0);
    \foreach \n in {0,...,3}{%
        \foreach \i in {1,...,10}{% 10 (instead of 9) is used here to make sure the last line is drawn.
            \draw[red] ({\f(\n,\i)},-1) -- ({\f(\n,\i)},1);}}
\end{tikzpicture}
\end{document}

答案2

关于正弦和其他刻度,国际计算尺博物馆有一个页面,展示了计算常用计算尺刻度的公式。

http://sliderulemuseum.com/SR_Scales.htm

请谨慎使用三角尺度(S、T、ST),因为它们适用于受限域。(例如,S 尺度介于 5.7 度和 90 度之间。)

相关内容