我最近从《科学美国人》文章我非常喜欢它们。然而,我从来没有机会接触到真实的计算尺。所以我用我的打印机制作了自己的计算尺,这个 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>=0
1<=x<=9
n
x
\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 度之间。)