Add Advanced/Fast Inverse Root #4
							
								
								
									
										78
									
								
								src/Warm-Ups/Slide Rules/main.tex
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										78
									
								
								src/Warm-Ups/Slide Rules/main.tex
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,78 @@
 | 
			
		||||
% use [nosolutions] flag to hide solutions.
 | 
			
		||||
% use [solutions] flag to show solutions.
 | 
			
		||||
\documentclass[
 | 
			
		||||
	solutions,
 | 
			
		||||
	shortwarning
 | 
			
		||||
]{../../../lib/tex/ormc_handout}
 | 
			
		||||
\usepackage{../../../lib/tex/macros}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\usepackage{pdfpages}
 | 
			
		||||
\usepackage{sliderule}
 | 
			
		||||
\usepackage{changepage}
 | 
			
		||||
 | 
			
		||||
% Args:
 | 
			
		||||
% x, top scale y, label
 | 
			
		||||
\newcommand{\slideruleind}[3]{
 | 
			
		||||
	\draw[
 | 
			
		||||
		line width=1mm,
 | 
			
		||||
		draw=black,
 | 
			
		||||
		opacity=0.3,
 | 
			
		||||
		text opacity=1
 | 
			
		||||
	]
 | 
			
		||||
		({#1}, {#2 + 1})
 | 
			
		||||
		--
 | 
			
		||||
		({#1}, {#2 - 1.1})
 | 
			
		||||
		node [below] {#3};
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\uptitlel{Advanced}
 | 
			
		||||
\uptitler{\smallurl{}}
 | 
			
		||||
\title{Warm-Up: Slide Rules}
 | 
			
		||||
\subtitle{Prepared by Mark on \today}
 | 
			
		||||
 | 
			
		||||
\begin{document}
 | 
			
		||||
 | 
			
		||||
	\maketitle
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	\begin{center}
 | 
			
		||||
	\begin{minipage}{6cm}
 | 
			
		||||
		Dad says that anyone who can't use
 | 
			
		||||
		a slide rule is a cultural illiterate
 | 
			
		||||
		and should not be allowed to vote.
 | 
			
		||||
 | 
			
		||||
		\vspace{1ex}
 | 
			
		||||
 | 
			
		||||
		\textit{Have Space Suit --- Will Travel, 1958}
 | 
			
		||||
	\end{minipage}
 | 
			
		||||
	\end{center}
 | 
			
		||||
	\hfill
 | 
			
		||||
 | 
			
		||||
	\input{parts/0 logarithms.tex}
 | 
			
		||||
	\input{parts/1 intro.tex}
 | 
			
		||||
	\input{parts/2 multiplication.tex}
 | 
			
		||||
 | 
			
		||||
	% Make sure the slide rule is on an odd page,
 | 
			
		||||
	% so that double-sided printing won't require
 | 
			
		||||
	% students to tear off problems.
 | 
			
		||||
	\checkoddpage
 | 
			
		||||
	\ifoddpage\else
 | 
			
		||||
		\vspace*{\fill}
 | 
			
		||||
		\begin{center}
 | 
			
		||||
		{
 | 
			
		||||
			\Large
 | 
			
		||||
			\textbf{This page unintentionally left blank.}
 | 
			
		||||
		}
 | 
			
		||||
		\end{center}
 | 
			
		||||
		\vspace{\fill}
 | 
			
		||||
		\pagebreak
 | 
			
		||||
	\fi
 | 
			
		||||
 | 
			
		||||
	\includepdf[
 | 
			
		||||
		pages=1,
 | 
			
		||||
		fitpaper=true
 | 
			
		||||
	]{resources/rule.pdf}
 | 
			
		||||
 | 
			
		||||
\end{document}
 | 
			
		||||
							
								
								
									
										6
									
								
								src/Warm-Ups/Slide Rules/meta.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								src/Warm-Ups/Slide Rules/meta.toml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
			
		||||
[metadata]
 | 
			
		||||
title = "Slide Rules"
 | 
			
		||||
 | 
			
		||||
[publish]
 | 
			
		||||
handout = false
 | 
			
		||||
solutions = true
 | 
			
		||||
							
								
								
									
										63
									
								
								src/Warm-Ups/Slide Rules/parts/0 logarithms.tex
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								src/Warm-Ups/Slide Rules/parts/0 logarithms.tex
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,63 @@
 | 
			
		||||
\section{Logarithms}
 | 
			
		||||
 | 
			
		||||
\definition{}<logdef>
 | 
			
		||||
The \textit{logarithm} is the inverse of the exponent. That is, if $b^p = c$, then $\log_b{c} = p$. \\
 | 
			
		||||
In other words, $\log_b{c}$ asks the question ``what power do I need to raise $b$ to to get $c$?'' \\
 | 
			
		||||
 | 
			
		||||
\problem{}
 | 
			
		||||
Evaluate the following by hand:
 | 
			
		||||
 | 
			
		||||
\begin{enumerate}
 | 
			
		||||
	\item $\log_{10}{(1000)}$
 | 
			
		||||
	\vfill
 | 
			
		||||
	\item $\log_2{(64)}$
 | 
			
		||||
	\vfill
 | 
			
		||||
	\item $\log_2{(\frac{1}{4})}$
 | 
			
		||||
	\vfill
 | 
			
		||||
	\item $\log_x{(x)}$ for any $x$
 | 
			
		||||
	\vfill
 | 
			
		||||
	\item $log_x{(1)}$ for any $x$
 | 
			
		||||
	\vfill
 | 
			
		||||
\end{enumerate}
 | 
			
		||||
 | 
			
		||||
\problem{}<logids>
 | 
			
		||||
Prove the following:
 | 
			
		||||
 | 
			
		||||
\begin{enumerate}[itemsep=2mm]
 | 
			
		||||
	\item $\log_b{(b^x)} = x$
 | 
			
		||||
	\vfill
 | 
			
		||||
	\item $b^{\log_b{x}} = x$
 | 
			
		||||
	\vfill
 | 
			
		||||
	\item $\log_b{(xy)} = \log_b{(x)} + \log_b{(y)}$
 | 
			
		||||
	\vfill
 | 
			
		||||
	\item $\log_b{(\frac{x}{y})} = \log_b{(x)} - \log_b{(y)}$
 | 
			
		||||
	\vfill
 | 
			
		||||
	\item $\log_b{(x^y)} = y \log_b{(x)}$
 | 
			
		||||
	\vfill
 | 
			
		||||
\end{enumerate}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\begin{instructornote}
 | 
			
		||||
	A good intro to the following sections is the linear slide rule:
 | 
			
		||||
	\note{(note that these rules start at 0)}
 | 
			
		||||
	\begin{center}
 | 
			
		||||
		\begin{tikzpicture}[scale=0.5]
 | 
			
		||||
			\linearscale{2}{1}{}
 | 
			
		||||
			\linearscale{0}{0}{}
 | 
			
		||||
 | 
			
		||||
			\slideruleind
 | 
			
		||||
				{5}
 | 
			
		||||
				{1}
 | 
			
		||||
				{2 + 3 = 5}
 | 
			
		||||
	\end{tikzpicture}
 | 
			
		||||
	\end{center}
 | 
			
		||||
 | 
			
		||||
	Take two linear rules, offset one, and you add.
 | 
			
		||||
	Do the same with a log scale, and you multiply! \\
 | 
			
		||||
 | 
			
		||||
	\linehack{}
 | 
			
		||||
 | 
			
		||||
	After assembling the paper slide rule, you can make a visor with some transparent tape.
 | 
			
		||||
\end{instructornote}
 | 
			
		||||
 | 
			
		||||
\pagebreak
 | 
			
		||||
							
								
								
									
										43
									
								
								src/Warm-Ups/Slide Rules/parts/1 intro.tex
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								src/Warm-Ups/Slide Rules/parts/1 intro.tex
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,43 @@
 | 
			
		||||
\section{Introduction}
 | 
			
		||||
 | 
			
		||||
Mathematicians, physicists, and engineers needed to quickly compute products long before computers conquered the world.
 | 
			
		||||
 | 
			
		||||
\medskip
 | 
			
		||||
 | 
			
		||||
The \textit{slide rule} is an instrument that uses the logarithm to solve this problem. Before you continue, cut out and assemble your slide rule.
 | 
			
		||||
 | 
			
		||||
\medskip
 | 
			
		||||
 | 
			
		||||
There are four scales on your slide rule, each labeled with a letter on the left side:
 | 
			
		||||
 | 
			
		||||
\def\sliderulewidth{13}
 | 
			
		||||
\begin{center}
 | 
			
		||||
\begin{tikzpicture}[scale=1]
 | 
			
		||||
	\tscale{0}{9}{T}
 | 
			
		||||
	\kscale{0}{8}{K}
 | 
			
		||||
	\abscale{0}{7}{A}
 | 
			
		||||
 | 
			
		||||
	\abscale{0}{5.5}{B}
 | 
			
		||||
	\ciscale{0}{4.5}{CI}
 | 
			
		||||
	\cdscale{0}{3.5}{C}
 | 
			
		||||
 | 
			
		||||
	\cdscale{0}{2}{D}
 | 
			
		||||
	\lscale{0}{1}{L}
 | 
			
		||||
	\sscale{0}{0}{S}
 | 
			
		||||
\end{tikzpicture}
 | 
			
		||||
\end{center}
 | 
			
		||||
 | 
			
		||||
Each scale's ``generating function'' is on the right:
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
	\item T: $\tan$
 | 
			
		||||
	\item K: $x^3$
 | 
			
		||||
	\item A,B: $x^2$
 | 
			
		||||
	\item CI: $\frac{1}{x}$
 | 
			
		||||
	\item C, D: $x$
 | 
			
		||||
	\item L: $\log_{10}(x)$
 | 
			
		||||
	\item S: $\sin$
 | 
			
		||||
\end{itemize}
 | 
			
		||||
 | 
			
		||||
Once you understand the layout of your slide rule, move on to the next page.
 | 
			
		||||
 | 
			
		||||
\pagebreak
 | 
			
		||||
							
								
								
									
										299
									
								
								src/Warm-Ups/Slide Rules/parts/2 multiplication.tex
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										299
									
								
								src/Warm-Ups/Slide Rules/parts/2 multiplication.tex
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,299 @@
 | 
			
		||||
\section{Multiplication}
 | 
			
		||||
 | 
			
		||||
We'll use the C and D scales of your slide rule to multiply. \\
 | 
			
		||||
 | 
			
		||||
Say we want to multiply $2 \times 3$. First, move the \textit{left-hand index} of the C scale over the smaller number, $2$:
 | 
			
		||||
 | 
			
		||||
\def\sliderulewidth{10}
 | 
			
		||||
\begin{center}
 | 
			
		||||
\begin{tikzpicture}[scale=1]
 | 
			
		||||
	\cdscale{\cdscalefn(2)}{1}{C}
 | 
			
		||||
	\cdscale{0}{0}{D}
 | 
			
		||||
\end{tikzpicture}
 | 
			
		||||
\end{center}
 | 
			
		||||
 | 
			
		||||
Then we'll find the second number, $3$ on the C scale, and read the D scale under it:
 | 
			
		||||
 | 
			
		||||
\begin{center}
 | 
			
		||||
\begin{tikzpicture}[scale=1]
 | 
			
		||||
	\cdscale{\cdscalefn(2)}{1}{C}
 | 
			
		||||
	\cdscale{0}{0}{D}
 | 
			
		||||
 | 
			
		||||
	\slideruleind
 | 
			
		||||
		{\cdscalefn(6)}
 | 
			
		||||
		{1}
 | 
			
		||||
		{6}
 | 
			
		||||
 | 
			
		||||
\end{tikzpicture}
 | 
			
		||||
\end{center}
 | 
			
		||||
 | 
			
		||||
Of course, our answer is 6.
 | 
			
		||||
 | 
			
		||||
\problem{}
 | 
			
		||||
What is $1.15 \times 2.1$? \\
 | 
			
		||||
Use your slide rule.
 | 
			
		||||
 | 
			
		||||
\begin{solution}
 | 
			
		||||
	\begin{center}
 | 
			
		||||
		\begin{tikzpicture}[scale=1]
 | 
			
		||||
			\cdscale{\cdscalefn(1.15)}{1}{C}
 | 
			
		||||
			\cdscale{0}{0}{D}
 | 
			
		||||
 | 
			
		||||
			\slideruleind
 | 
			
		||||
				{\cdscalefn(1.15)}
 | 
			
		||||
				{1}
 | 
			
		||||
				{1.15}
 | 
			
		||||
 | 
			
		||||
			\slideruleind
 | 
			
		||||
				{\cdscalefn(1.15) + \cdscalefn(2.1)}
 | 
			
		||||
				{1}
 | 
			
		||||
				{2.415}
 | 
			
		||||
 | 
			
		||||
		\end{tikzpicture}
 | 
			
		||||
		\end{center}
 | 
			
		||||
\end{solution}
 | 
			
		||||
 | 
			
		||||
\vfill
 | 
			
		||||
 | 
			
		||||
Note that your answer isn't exact. $1.15 \times 2.1 = 2.415$, but an answer accurate within two decimal places is close enough for most practical applications. \\
 | 
			
		||||
 | 
			
		||||
\pagebreak
 | 
			
		||||
 | 
			
		||||
Look at your C and D scales again. They contain every number between 1 and 10, but no more than that.
 | 
			
		||||
What should we do if we want to calculate $32 \times 210$? \\
 | 
			
		||||
 | 
			
		||||
\problem{}
 | 
			
		||||
Using your slide rule, calculate $32 \times 210$. \\
 | 
			
		||||
%\hint{$32 = 3.2 \times 10^1$}
 | 
			
		||||
 | 
			
		||||
\begin{solution}
 | 
			
		||||
	\begin{center}
 | 
			
		||||
	\begin{tikzpicture}[scale=1]
 | 
			
		||||
		\cdscale{\cdscalefn(2.1)}{1}{C}
 | 
			
		||||
		\cdscale{0}{0}{D}
 | 
			
		||||
 | 
			
		||||
		\slideruleind
 | 
			
		||||
			{\cdscalefn(2.1)}
 | 
			
		||||
			{1}
 | 
			
		||||
			{2.1}
 | 
			
		||||
 | 
			
		||||
		\slideruleind
 | 
			
		||||
			{\cdscalefn(2.1) + \cdscalefn(3.2)}
 | 
			
		||||
			{1}
 | 
			
		||||
			{6.72}
 | 
			
		||||
 | 
			
		||||
	\end{tikzpicture}
 | 
			
		||||
	\end{center}
 | 
			
		||||
 | 
			
		||||
		Placing the decimal point correctly is your job. \\
 | 
			
		||||
		$10^1 \times 10^2 = 10^3$, so our final answer is $6.72 \times 10^3 = 672$.
 | 
			
		||||
\end{solution}
 | 
			
		||||
 | 
			
		||||
\vfill
 | 
			
		||||
 | 
			
		||||
%This method of writing numbers is called \textit{scientific notation}. In the form $a \times 10^b$, $a$ is called the \textit{mantissa}, and $b$, the \textit{exponent}. \\
 | 
			
		||||
 | 
			
		||||
%You may also see expressions like $4.3\text{e}2$. This is equivalent to $4.3 \times 10^2$, but is more compact.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\problem{}
 | 
			
		||||
Compute the following:
 | 
			
		||||
\begin{enumerate}
 | 
			
		||||
	\item $1.44 \times 52$
 | 
			
		||||
	\item $0.38 \times 1.24$
 | 
			
		||||
	\item $\pi \times 2.35$
 | 
			
		||||
\end{enumerate}
 | 
			
		||||
 | 
			
		||||
\begin{solution}
 | 
			
		||||
	\begin{enumerate}
 | 
			
		||||
		\item $1.44 \times 52 = 74.88$
 | 
			
		||||
		\item $0.38 \times 1.24 = 0.4712$
 | 
			
		||||
		\item $\pi \times 2.35 = 7.382$
 | 
			
		||||
	\end{enumerate}
 | 
			
		||||
\end{solution}
 | 
			
		||||
 | 
			
		||||
\vfill
 | 
			
		||||
\pagebreak
 | 
			
		||||
 | 
			
		||||
\problem{}<provemult>
 | 
			
		||||
Note that the numbers on your C and D scales are logarithmically spaced.
 | 
			
		||||
 | 
			
		||||
\def\sliderulewidth{13}
 | 
			
		||||
\begin{center}
 | 
			
		||||
\begin{tikzpicture}[scale=1]
 | 
			
		||||
	\cdscale{0}{1}{C}
 | 
			
		||||
	\cdscale{0}{0}{D}
 | 
			
		||||
\end{tikzpicture}
 | 
			
		||||
\end{center}
 | 
			
		||||
 | 
			
		||||
Why does our multiplication procedure work? \\
 | 
			
		||||
%\hint{See \ref{logids}}
 | 
			
		||||
 | 
			
		||||
\vfill
 | 
			
		||||
\pagebreak
 | 
			
		||||
 | 
			
		||||
Now we want to compute $7.2 \times 5.5$:
 | 
			
		||||
 | 
			
		||||
\def\sliderulewidth{10}
 | 
			
		||||
\begin{center}
 | 
			
		||||
\begin{tikzpicture}[scale=0.8]
 | 
			
		||||
	\cdscale{\cdscalefn(5.5)}{1}{C}
 | 
			
		||||
	\cdscale{0}{0}{D}
 | 
			
		||||
 | 
			
		||||
	\slideruleind
 | 
			
		||||
		{\cdscalefn(5.5)}
 | 
			
		||||
		{1}
 | 
			
		||||
		{5.5}
 | 
			
		||||
 | 
			
		||||
	\slideruleind
 | 
			
		||||
		{\cdscalefn(5.5) + \cdscalefn(7.2)}
 | 
			
		||||
		{1}
 | 
			
		||||
		{???}
 | 
			
		||||
 | 
			
		||||
\end{tikzpicture}
 | 
			
		||||
\end{center}
 | 
			
		||||
 | 
			
		||||
No matter what order we go in, the answer ends up off the scale. There must be another way. \\
 | 
			
		||||
 | 
			
		||||
\medskip
 | 
			
		||||
 | 
			
		||||
Look at the far right of your C scale. There's an arrow pointing to the $10$ tick, labeled \textit{right-hand index}. Move it over the \textit{larger} number, $7.2$:
 | 
			
		||||
 | 
			
		||||
\begin{center}
 | 
			
		||||
\begin{tikzpicture}[scale=1]
 | 
			
		||||
	\cdscale{\cdscalefn(7.2) - \cdscalefn(10)}{1}{C}
 | 
			
		||||
	\cdscale{0}{0}{D}
 | 
			
		||||
 | 
			
		||||
	\slideruleind
 | 
			
		||||
		{\cdscalefn(7.2)}
 | 
			
		||||
		{1}
 | 
			
		||||
		{7.2}
 | 
			
		||||
 | 
			
		||||
\end{tikzpicture}
 | 
			
		||||
\end{center}
 | 
			
		||||
 | 
			
		||||
Now find the smaller number, $5.5$, on the C scale, and read the D scale under it:
 | 
			
		||||
 | 
			
		||||
\begin{center}
 | 
			
		||||
\begin{tikzpicture}[scale=1]
 | 
			
		||||
	\cdscale{\cdscalefn(7.2) - \cdscalefn(10)}{1}{C}
 | 
			
		||||
	\cdscale{0}{0}{D}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	\slideruleind
 | 
			
		||||
		{\cdscalefn(7.2)}
 | 
			
		||||
		{1}
 | 
			
		||||
		{7.2}
 | 
			
		||||
 | 
			
		||||
	\slideruleind
 | 
			
		||||
		{\cdscalefn(3.96)}
 | 
			
		||||
		{1}
 | 
			
		||||
		{3.96}
 | 
			
		||||
 | 
			
		||||
\end{tikzpicture}
 | 
			
		||||
\end{center}
 | 
			
		||||
 | 
			
		||||
Our answer should be about $7 \times 5 = 35$, so let's move the decimal point: $5.5 \times 7.2 = 39.6$. We can do this by hand to verify our answer. \\
 | 
			
		||||
 | 
			
		||||
\medskip
 | 
			
		||||
 | 
			
		||||
\problem{}
 | 
			
		||||
Why does this work? \par
 | 
			
		||||
\hint{Add a second $D$ scale.}
 | 
			
		||||
 | 
			
		||||
\begin{solution}
 | 
			
		||||
	Consider the following picture, where I've put two D scales next to each other:
 | 
			
		||||
 | 
			
		||||
	\begin{center}
 | 
			
		||||
	\begin{tikzpicture}[scale=0.7]
 | 
			
		||||
		\cdscale{\cdscalefn(7.2) - \cdscalefn(10)}{1}{C}
 | 
			
		||||
		\cdscale{0}{0}{}
 | 
			
		||||
		\cdscale{-10}{0}{}
 | 
			
		||||
 | 
			
		||||
		\draw[
 | 
			
		||||
			draw=black,
 | 
			
		||||
		]
 | 
			
		||||
			(0, 0)
 | 
			
		||||
			--
 | 
			
		||||
			(0, -0.3)
 | 
			
		||||
			node [below] {D};
 | 
			
		||||
 | 
			
		||||
		\draw[
 | 
			
		||||
			draw=black,
 | 
			
		||||
		]
 | 
			
		||||
			(-10, 0)
 | 
			
		||||
			--
 | 
			
		||||
			(-10, -0.3)
 | 
			
		||||
			node [below] {D};
 | 
			
		||||
 | 
			
		||||
		\slideruleind
 | 
			
		||||
			{-10 + \cdscalefn(7.2)}
 | 
			
		||||
			{1}
 | 
			
		||||
			{7.2}
 | 
			
		||||
 | 
			
		||||
		\slideruleind
 | 
			
		||||
			{\cdscalefn(7.2)}
 | 
			
		||||
			{1}
 | 
			
		||||
			{7.2}
 | 
			
		||||
 | 
			
		||||
		\slideruleind
 | 
			
		||||
			{\cdscalefn(3.96)}
 | 
			
		||||
			{1}
 | 
			
		||||
			{3.96}
 | 
			
		||||
 | 
			
		||||
	\end{tikzpicture}
 | 
			
		||||
	\end{center}
 | 
			
		||||
 | 
			
		||||
	\medskip
 | 
			
		||||
 | 
			
		||||
	The second D scale has been moved to the right by $(\log{10})$, so every value on it is $(\log{10})$ smaller than it should be.
 | 
			
		||||
 | 
			
		||||
	\medskip
 | 
			
		||||
 | 
			
		||||
	\medskip
 | 
			
		||||
	In other words, the answer we get from reverse multiplication is the following: $\log{a} + \log{b} - \log{10}$. \\
 | 
			
		||||
	This reduces to $\log{(\frac{a \times b}{10})}$, which explains the misplaced decimal point in $7.2 \times 5.5$.
 | 
			
		||||
\end{solution}
 | 
			
		||||
 | 
			
		||||
\vfill
 | 
			
		||||
\pagebreak
 | 
			
		||||
 | 
			
		||||
\problem{}
 | 
			
		||||
Compute the following using your slide rule:
 | 
			
		||||
\begin{enumerate}
 | 
			
		||||
	\item $9 \times 8$
 | 
			
		||||
	\item $15 \times 35$
 | 
			
		||||
	\item $42.1 \times 7.65$
 | 
			
		||||
	\item $6.5^2$
 | 
			
		||||
\end{enumerate}
 | 
			
		||||
 | 
			
		||||
\begin{solution}
 | 
			
		||||
	\begin{enumerate}
 | 
			
		||||
		\item $9 \times 8 = 72$
 | 
			
		||||
		\item $15 \times 35 = 525$
 | 
			
		||||
		\item $42.1 \times 7.65 = 322.065$
 | 
			
		||||
		\item $6.5^2 = 42.25$
 | 
			
		||||
	\end{enumerate}
 | 
			
		||||
\end{solution}
 | 
			
		||||
 | 
			
		||||
\vfill
 | 
			
		||||
 | 
			
		||||
\problem{}
 | 
			
		||||
Compute the following using your slide rule. \\
 | 
			
		||||
 | 
			
		||||
\begin{enumerate}
 | 
			
		||||
	\item $135 \div 15$
 | 
			
		||||
	\item $68.2 \div 0.575$
 | 
			
		||||
	\item $(118 \times 0.51) \div 6.6$
 | 
			
		||||
\end{enumerate}
 | 
			
		||||
 | 
			
		||||
\begin{solution}
 | 
			
		||||
	\begin{enumerate}
 | 
			
		||||
		\item $135 \div 15 = 9$
 | 
			
		||||
		\item $68.2 \div 0.575 = 118.609$
 | 
			
		||||
		\item $(118 \times 0.51) \div 6.6 = 9.118$
 | 
			
		||||
	\end{enumerate}
 | 
			
		||||
\end{solution}
 | 
			
		||||
 | 
			
		||||
\vfill
 | 
			
		||||
\pagebreak
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								src/Warm-Ups/Slide Rules/resources/rule.pdf
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/Warm-Ups/Slide Rules/resources/rule.pdf
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24144
									
								
								src/Warm-Ups/Slide Rules/resources/rule.svg
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										24144
									
								
								src/Warm-Ups/Slide Rules/resources/rule.svg
									
									
									
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| 
		 After Width: | Height: | Size: 862 KiB  | 
							
								
								
									
										534
									
								
								src/Warm-Ups/Slide Rules/sliderule.sty
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										534
									
								
								src/Warm-Ups/Slide Rules/sliderule.sty
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,534 @@
 | 
			
		||||
\NeedsTeXFormat{LaTeX2e}
 | 
			
		||||
\ProvidesPackage{sliderule}[2022/08/22 Slide rule tools]
 | 
			
		||||
 | 
			
		||||
\RequirePackage{tikz}
 | 
			
		||||
\RequirePackage{ifthen}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
% Scale functions:
 | 
			
		||||
% See https://sliderulemuseum.com/SR_Scales.htm
 | 
			
		||||
%
 | 
			
		||||
% l: length of the rule
 | 
			
		||||
% n: the number on the rule
 | 
			
		||||
%
 | 
			
		||||
% A/B: (l/2) * log(n)
 | 
			
		||||
% C/D: l / log(n)
 | 
			
		||||
% CI: abs(l * log(10 / n) - l)
 | 
			
		||||
% K: (l/3) * log(n)
 | 
			
		||||
%
 | 
			
		||||
% L: n * l
 | 
			
		||||
% T: l * log(10 * tan(n))
 | 
			
		||||
% S: l * log(10 * sin(n))
 | 
			
		||||
 | 
			
		||||
\def\sliderulewidth{10}
 | 
			
		||||
 | 
			
		||||
\def\abscalefn(#1){(\sliderulewidth/2) * log10(#1)}
 | 
			
		||||
\def\cdscalefn(#1){(\sliderulewidth * log10(#1))}
 | 
			
		||||
\def\ciscalefn(#1){(\sliderulewidth - \cdscalefn(#1))}
 | 
			
		||||
\def\kscalefn(#1){(\sliderulewidth/3) * log10(#1)}
 | 
			
		||||
\def\lscalefn(#1){(\sliderulewidth * #1)}
 | 
			
		||||
\def\tscalefn(#1){(\sliderulewidth * log10(10 * tan(#1)))}
 | 
			
		||||
\def\sscalefn(#1){(\sliderulewidth * log10(10 * sin(#1)))}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
% Arguments:
 | 
			
		||||
% Label
 | 
			
		||||
% x of start
 | 
			
		||||
% y of start
 | 
			
		||||
\newcommand{\linearscale}[3]{
 | 
			
		||||
	\draw[black] ({#1}, #2) -- ({#1 + \sliderulewidth}, #2);
 | 
			
		||||
	\draw[black] ({#1}, #2 + 0.9) -- ({#1 + \sliderulewidth}, #2 + 0.9);
 | 
			
		||||
	\draw[black] ({#1}, #2 + 0.9) -- ({#1}, #2 + 0.7);
 | 
			
		||||
	\draw[black] ({#1 + \sliderulewidth}, #2 + 0.9) -- ({#1 + \sliderulewidth}, #2 + 0.7);
 | 
			
		||||
 | 
			
		||||
	\draw ({#1 - 0.1}, #2 + 0.5) node[left] {#3};
 | 
			
		||||
 | 
			
		||||
	% Numbers and marks
 | 
			
		||||
	\foreach \i in {0,..., 10}{
 | 
			
		||||
		\draw[black]
 | 
			
		||||
			({#1 + (\sliderulewidth / 10) * \i}, #2) --
 | 
			
		||||
			({#1 + (\sliderulewidth / 10) * \i}, #2 + 0.3)
 | 
			
		||||
			node[above] {\i};
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	% Submarks
 | 
			
		||||
	\foreach \n in {0, ..., 9} {
 | 
			
		||||
		\foreach \i in {1,..., 9} {
 | 
			
		||||
			\ifthenelse{\i=5}{
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + (\sliderulewidth / 10) * (\n + \i / 10)}, #2) --
 | 
			
		||||
					({#1 + (\sliderulewidth / 10) * (\n + \i / 10)}, #2 + 0.2);
 | 
			
		||||
			} {
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + (\sliderulewidth / 10) * (\n + \i / 10)}, #2) --
 | 
			
		||||
					({#1 + (\sliderulewidth / 10) * (\n + \i / 10)}, #2 + 0.1);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
% Arguments:
 | 
			
		||||
% Label
 | 
			
		||||
% x of start
 | 
			
		||||
% y of start
 | 
			
		||||
\newcommand{\abscale}[3]{
 | 
			
		||||
	\draw[black] ({#1}, #2) -- ({#1 + \sliderulewidth}, #2);
 | 
			
		||||
	\draw[black] ({#1}, #2 + 0.9) -- ({#1 + \sliderulewidth}, #2 + 0.9);
 | 
			
		||||
	\draw[black] ({#1}, #2 + 0.9) -- ({#1}, #2 + 0.7);
 | 
			
		||||
	\draw[black] ({#1 + \sliderulewidth}, #2 + 0.9) -- ({#1 + \sliderulewidth}, #2 + 0.7);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	\draw ({#1 - 0.1}, #2 + 0.5) node[left] {#3};
 | 
			
		||||
 | 
			
		||||
	% Numbers and marks 1 - 9
 | 
			
		||||
	\foreach \i in {1,..., 9}{
 | 
			
		||||
		\draw[black]
 | 
			
		||||
			({#1 + \abscalefn(\i)}, #2) --
 | 
			
		||||
			({#1 + \abscalefn(\i)}, #2 + 0.3)
 | 
			
		||||
			node[above] {\i};
 | 
			
		||||
	}
 | 
			
		||||
	% Numbers and marks 10 - 100
 | 
			
		||||
	\foreach \i in {1,..., 10}{
 | 
			
		||||
		\draw[black]
 | 
			
		||||
			({#1 + \abscalefn(10 * \i)}, #2) --
 | 
			
		||||
			({#1 + \abscalefn(10 * \i)}, #2 + 0.3)
 | 
			
		||||
			node[above] {\ifthenelse{\i=10}{1}{\i}};
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	% Submarks 1 - 9
 | 
			
		||||
	\foreach \n in {1, ..., 9} {
 | 
			
		||||
		\ifthenelse{\n<5}{
 | 
			
		||||
			\foreach \i in {1,..., 9}
 | 
			
		||||
		} {
 | 
			
		||||
			\foreach \i in {2,4,6,8}
 | 
			
		||||
		}
 | 
			
		||||
		{
 | 
			
		||||
			\ifthenelse{\i=5}{
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \abscalefn(\n + \i / 10)}, #2) --
 | 
			
		||||
					({#1 + \abscalefn(\n + \i / 10)}, #2 + 0.2);
 | 
			
		||||
			} {
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \abscalefn(\n + \i / 10)}, #2) --
 | 
			
		||||
					({#1 + \abscalefn(\n + \i / 10)}, #2 + 0.1);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	% Submarks 10 - 100
 | 
			
		||||
	\foreach \n in {10,20,...,90} {
 | 
			
		||||
		\ifthenelse{\n<50}{
 | 
			
		||||
			\foreach \i in {1,..., 9}
 | 
			
		||||
		} {
 | 
			
		||||
			\foreach \i in {2,4,6,8}
 | 
			
		||||
		}
 | 
			
		||||
		{
 | 
			
		||||
			\ifthenelse{\i=5}{
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \abscalefn(\n + \i)}, #2) --
 | 
			
		||||
					({#1 + \abscalefn(\n + \i)}, #2 + 0.2);
 | 
			
		||||
			} {
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \abscalefn(\n + \i)}, #2) --
 | 
			
		||||
					({#1 + \abscalefn(\n + \i)}, #2 + 0.1);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
\newcommand{\cdscale}[3]{
 | 
			
		||||
	\draw[black] ({#1}, #2) -- ({#1 + \sliderulewidth}, #2);
 | 
			
		||||
	\draw[black] ({#1}, #2 + 0.9) -- ({#1 + \sliderulewidth}, #2 + 0.9);
 | 
			
		||||
	\draw[black] ({#1}, #2 + 0.9) -- ({#1}, #2 + 0.7);
 | 
			
		||||
	\draw[black] ({#1 + \sliderulewidth}, #2 + 0.9) -- ({#1 + \sliderulewidth}, #2 + 0.7);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	\draw ({#1 - 0.1}, #2 + 0.5) node[left] {#3};
 | 
			
		||||
 | 
			
		||||
	% Numbers and marks 1 - 10
 | 
			
		||||
	\foreach \i in {1,..., 10}{
 | 
			
		||||
		\draw[black]
 | 
			
		||||
			({#1 + \cdscalefn(\i)}, #2) --
 | 
			
		||||
			({#1 + \cdscalefn(\i)}, #2 + 0.3)
 | 
			
		||||
			node[above] {\ifthenelse{\i=10}{1}{\i}};
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	% Submarks 1 - 9
 | 
			
		||||
	\foreach \n in {1, ..., 9} {
 | 
			
		||||
		\ifthenelse{\n<3}{
 | 
			
		||||
			\foreach \i in {5,10,...,95}
 | 
			
		||||
		} {
 | 
			
		||||
			\foreach \i in {10,20,...,90}
 | 
			
		||||
		}
 | 
			
		||||
		{
 | 
			
		||||
			\ifthenelse{\i=50}{
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \cdscalefn(\n + \i / 100)}, #2) --
 | 
			
		||||
					({#1 + \cdscalefn(\n + \i / 100)}, #2 + 0.2);
 | 
			
		||||
				\ifthenelse{\n=1}{
 | 
			
		||||
					\draw
 | 
			
		||||
						({#1 + \cdscalefn(\n + \i / 100)}, #2 + 0.2)
 | 
			
		||||
						node [above] {1.5};
 | 
			
		||||
				}{}
 | 
			
		||||
			} {
 | 
			
		||||
				\ifthenelse{
 | 
			
		||||
					\i=10 \OR \i=20 \OR \i=30 \OR \i=40 \OR
 | 
			
		||||
					\i=60 \OR \i=70 \OR \i=80 \OR \i=90
 | 
			
		||||
				}{
 | 
			
		||||
					\draw[black]
 | 
			
		||||
						({#1 + \cdscalefn(\n + \i / 100)}, #2) --
 | 
			
		||||
						({#1 + \cdscalefn(\n + \i / 100)}, #2 + 0.15);
 | 
			
		||||
				} {
 | 
			
		||||
					\draw[black]
 | 
			
		||||
						({#1 + \cdscalefn(\n + \i / 100)}, #2) --
 | 
			
		||||
						({#1 + \cdscalefn(\n + \i / 100)}, #2 + 0.1);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
\newcommand{\ciscale}[3]{
 | 
			
		||||
	\draw[black] ({#1}, #2) -- ({#1 + \sliderulewidth}, #2);
 | 
			
		||||
	\draw[black] ({#1}, #2 + 0.9) -- ({#1 + \sliderulewidth}, #2 + 0.9);
 | 
			
		||||
	\draw[black] ({#1}, #2 + 0.9) -- ({#1}, #2 + 0.7);
 | 
			
		||||
	\draw[black] ({#1 + \sliderulewidth}, #2 + 0.9) -- ({#1 + \sliderulewidth}, #2 + 0.7);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	\draw ({#1 - 0.1}, #2 + 0.5) node[left] {#3};
 | 
			
		||||
 | 
			
		||||
	% Numbers and marks
 | 
			
		||||
	\foreach \i in {1,...,10}{
 | 
			
		||||
		\draw[black]
 | 
			
		||||
			({#1 + \ciscalefn(\i)}, #2) --
 | 
			
		||||
			({#1 + \ciscalefn(\i)}, #2 + 0.3)
 | 
			
		||||
			node[above] {\ifthenelse{\i=10}{1}{\ifthenelse{\i=0}{0}{.\i}}};
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	% Submarks 1 - 9
 | 
			
		||||
	\foreach \n in {1, ..., 9} {
 | 
			
		||||
		\ifthenelse{\n<3}{
 | 
			
		||||
			\foreach \i in {5,10,...,95}
 | 
			
		||||
		} {
 | 
			
		||||
			\foreach \i in {10,20,...,90}
 | 
			
		||||
		}
 | 
			
		||||
		{
 | 
			
		||||
			\ifthenelse{\i=50}{
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \ciscalefn(\n + \i / 100)}, #2) --
 | 
			
		||||
					({#1 + \ciscalefn(\n + \i / 100)}, #2 + 0.2);
 | 
			
		||||
				\ifthenelse{\n=1}{
 | 
			
		||||
					\draw
 | 
			
		||||
						({#1 + \ciscalefn(\n + \i / 100)}, #2 + 0.2)
 | 
			
		||||
						node [above] {1.5};
 | 
			
		||||
				}{}
 | 
			
		||||
			} {
 | 
			
		||||
				\ifthenelse{
 | 
			
		||||
					\i=10 \OR \i=20 \OR \i=30 \OR \i=40 \OR
 | 
			
		||||
					\i=60 \OR \i=70 \OR \i=80 \OR \i=90
 | 
			
		||||
				}{
 | 
			
		||||
					\draw[black]
 | 
			
		||||
						({#1 + \ciscalefn(\n + \i / 100)}, #2) --
 | 
			
		||||
						({#1 + \ciscalefn(\n + \i / 100)}, #2 + 0.15);
 | 
			
		||||
				} {
 | 
			
		||||
					\draw[black]
 | 
			
		||||
						({#1 + \ciscalefn(\n + \i / 100)}, #2) --
 | 
			
		||||
						({#1 + \ciscalefn(\n + \i / 100)}, #2 + 0.1);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
\newcommand{\kscale}[3]{
 | 
			
		||||
	\draw[black] ({#1}, #2) -- ({#1 + \sliderulewidth}, #2);
 | 
			
		||||
	\draw[black] ({#1}, #2 + 0.9) -- ({#1 + \sliderulewidth}, #2 + 0.9);
 | 
			
		||||
	\draw[black] ({#1}, #2 + 0.9) -- ({#1}, #2 + 0.7);
 | 
			
		||||
	\draw[black] ({#1 + \sliderulewidth}, #2 + 0.9) -- ({#1 + \sliderulewidth}, #2 + 0.7);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	\draw ({#1 - 0.1}, #2 + 0.5) node[left] {#3};
 | 
			
		||||
 | 
			
		||||
	% Numbers and marks 1 - 9
 | 
			
		||||
	\foreach \i in {1,...,9}{
 | 
			
		||||
		\draw[black]
 | 
			
		||||
			({#1 + \kscalefn(\i)}, #2) --
 | 
			
		||||
			({#1 + \kscalefn(\i)}, #2 + 0.3)
 | 
			
		||||
			node[above] {\i};
 | 
			
		||||
	}
 | 
			
		||||
	% Numbers and marks 10 - 90
 | 
			
		||||
	\foreach \i in {1,..., 9}{
 | 
			
		||||
		\draw[black]
 | 
			
		||||
			({#1 + \kscalefn(10 * \i)}, #2) --
 | 
			
		||||
			({#1 + \kscalefn(10 * \i)}, #2 + 0.3)
 | 
			
		||||
			node[above] {\ifthenelse{\i=10}{1}{\i}};
 | 
			
		||||
	}
 | 
			
		||||
	% Numbers and marks 100 - 1000
 | 
			
		||||
	\foreach \i in {1,..., 10}{
 | 
			
		||||
		\draw[black]
 | 
			
		||||
			({#1 + \kscalefn(100 * \i)}, #2) --
 | 
			
		||||
			({#1 + \kscalefn(100 * \i)}, #2 + 0.3)
 | 
			
		||||
			node[above] {\ifthenelse{\i=10}{1}{\i}};
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	% Submarks 1 - 9
 | 
			
		||||
	\foreach \n in {1, ..., 9} {
 | 
			
		||||
		\ifthenelse{\n<4}{
 | 
			
		||||
			\foreach \i in {1,..., 9}
 | 
			
		||||
		} {
 | 
			
		||||
			\foreach \i in {2,4,6,8}
 | 
			
		||||
		}
 | 
			
		||||
		{
 | 
			
		||||
			\ifthenelse{\i=5}{
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \kscalefn(\n + \i / 10)}, #2) --
 | 
			
		||||
					({#1 + \kscalefn(\n + \i / 10)}, #2 + 0.2);
 | 
			
		||||
			} {
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \kscalefn(\n + \i / 10)}, #2) --
 | 
			
		||||
					({#1 + \kscalefn(\n + \i / 10)}, #2 + 0.1);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	% Submarks 10 - 90
 | 
			
		||||
	\foreach \n in {10,20,...,90} {
 | 
			
		||||
		\ifthenelse{\n<40}{
 | 
			
		||||
			\foreach \i in {1,..., 9}
 | 
			
		||||
		} {
 | 
			
		||||
			\foreach \i in {2,4,6,8}
 | 
			
		||||
		}
 | 
			
		||||
		{
 | 
			
		||||
			\ifthenelse{\i=5}{
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \kscalefn(\n + \i)}, #2) --
 | 
			
		||||
					({#1 + \kscalefn(\n + \i)}, #2 + 0.2);
 | 
			
		||||
			} {
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \kscalefn(\n + \i)}, #2) --
 | 
			
		||||
					({#1 + \kscalefn(\n + \i)}, #2 + 0.1);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	% Submarks 100 - 1000
 | 
			
		||||
	\foreach \n in {100,200,...,900} {
 | 
			
		||||
		\ifthenelse{\n<400}{
 | 
			
		||||
			\foreach \i in {10,20,...,90}
 | 
			
		||||
		} {
 | 
			
		||||
			\foreach \i in {20,40,60,80}
 | 
			
		||||
		}
 | 
			
		||||
		{
 | 
			
		||||
			\ifthenelse{\i=50}{
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \kscalefn(\n + \i)}, #2) --
 | 
			
		||||
					({#1 + \kscalefn(\n + \i)}, #2 + 0.2);
 | 
			
		||||
			} {
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \kscalefn(\n + \i)}, #2) --
 | 
			
		||||
					({#1 + \kscalefn(\n + \i)}, #2 + 0.1);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
\newcommand{\lscale}[3]{
 | 
			
		||||
	\draw[black] ({#1}, #2) -- ({#1 + \sliderulewidth}, #2);
 | 
			
		||||
	\draw[black] ({#1}, #2 + 0.9) -- ({#1 + \sliderulewidth}, #2 + 0.9);
 | 
			
		||||
	\draw[black] ({#1}, #2 + 0.9) -- ({#1}, #2 + 0.7);
 | 
			
		||||
	\draw[black] ({#1 + \sliderulewidth}, #2 + 0.9) -- ({#1 + \sliderulewidth}, #2 + 0.7);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	\draw ({#1 - 0.1}, #2 + 0.5) node[left] {#3};
 | 
			
		||||
 | 
			
		||||
	% Numbers and marks
 | 
			
		||||
	\foreach \i in {0,..., 10}{
 | 
			
		||||
		\draw[black]
 | 
			
		||||
			({#1 + \lscalefn(\i / 10)}, #2) --
 | 
			
		||||
			({#1 + \lscalefn(\i / 10)}, #2 + 0.3)
 | 
			
		||||
			node[above] {\ifthenelse{\i=10}{1}{\ifthenelse{\i=0}{0}{.\i}}};
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	% Submarks
 | 
			
		||||
	\foreach \n in {0, ..., 9} {
 | 
			
		||||
		\foreach \i in {1,...,19} {
 | 
			
		||||
			\ifthenelse{\i=10}{
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \lscalefn((\n + (\i / 20))/10)}, #2) --
 | 
			
		||||
					({#1 + \lscalefn((\n + (\i / 20))/10)}, #2 + 0.2);
 | 
			
		||||
			} {
 | 
			
		||||
				\ifthenelse{
 | 
			
		||||
					\i=1 \OR \i=3 \OR \i=5 \OR \i=7 \OR
 | 
			
		||||
					\i=9 \OR \i=11 \OR \i=13 \OR \i=15 \OR
 | 
			
		||||
					\i=17 \OR \i=19
 | 
			
		||||
				}{
 | 
			
		||||
					\draw[black]
 | 
			
		||||
						({#1 + \lscalefn((\n + (\i / 20))/10)}, #2) --
 | 
			
		||||
						({#1 + \lscalefn((\n + (\i / 20))/10)}, #2 + 0.1);
 | 
			
		||||
				} {
 | 
			
		||||
					\draw[black]
 | 
			
		||||
						({#1 + \lscalefn((\n + (\i / 20))/10)}, #2) --
 | 
			
		||||
						({#1 + \lscalefn((\n + (\i / 20))/10)}, #2 + 0.15);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
\newcommand{\tscale}[3]{
 | 
			
		||||
	\draw[black] ({#1}, #2) -- ({#1 + \sliderulewidth}, #2);
 | 
			
		||||
	\draw[black] ({#1}, #2 + 0.9) -- ({#1 + \sliderulewidth}, #2 + 0.9);
 | 
			
		||||
	\draw[black] ({#1}, #2 + 0.9) -- ({#1}, #2 + 0.7);
 | 
			
		||||
	\draw[black] ({#1 + \sliderulewidth}, #2 + 0.9) -- ({#1 + \sliderulewidth}, #2 + 0.7);
 | 
			
		||||
 | 
			
		||||
	% First line
 | 
			
		||||
	\draw[black] ({#1}, #2) -- ({#1}, #2 + 0.2);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	\draw ({#1 - 0.1}, #2 + 0.5) node[left] {#3};
 | 
			
		||||
 | 
			
		||||
	% Numbers and marks 6 - 10
 | 
			
		||||
	\foreach \i in {6,...,9,10,15,...,45}{
 | 
			
		||||
		\draw[black]
 | 
			
		||||
			({#1 + \tscalefn(\i)}, #2) --
 | 
			
		||||
			({#1 + \tscalefn(\i)}, #2 + 0.3)
 | 
			
		||||
			node[above] {\i};
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	% Submarks 6 - 10
 | 
			
		||||
	\foreach \n in {6, ..., 9} {
 | 
			
		||||
		\foreach \i in {1,...,9}{
 | 
			
		||||
			\ifthenelse{\i=5}{
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \tscalefn(\n + \i / 10)}, #2) --
 | 
			
		||||
					({#1 + \tscalefn(\n + \i / 10)}, #2 + 0.2);
 | 
			
		||||
			} {
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \tscalefn(\n + \i / 10)}, #2) --
 | 
			
		||||
					({#1 + \tscalefn(\n + \i / 10)}, #2 + 0.1);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	% Submarks 15 - 45
 | 
			
		||||
	\foreach \n in {10, 15, ..., 40} {
 | 
			
		||||
		\foreach \i in {1,...,24}{
 | 
			
		||||
			\ifthenelse{
 | 
			
		||||
				\i=5 \OR \i=10 \OR \i=15 \OR \i=20
 | 
			
		||||
			} {
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \tscalefn(\n + \i / 5)}, #2) --
 | 
			
		||||
					({#1 + \tscalefn(\n + \i / 5)}, #2 + 0.2);
 | 
			
		||||
			} {
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \tscalefn(\n + \i / 5)}, #2) --
 | 
			
		||||
					({#1 + \tscalefn(\n + \i / 5)}, #2 + 0.1);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
\newcommand{\sscale}[3]{
 | 
			
		||||
	\draw[black] ({#1}, #2) -- ({#1 + \sliderulewidth}, #2);
 | 
			
		||||
	\draw[black] ({#1}, #2 + 0.9) -- ({#1 + \sliderulewidth}, #2 + 0.9);
 | 
			
		||||
	\draw[black] ({#1}, #2 + 0.9) -- ({#1}, #2 + 0.7);
 | 
			
		||||
	\draw[black] ({#1 + \sliderulewidth}, #2 + 0.9) -- ({#1 + \sliderulewidth}, #2 + 0.7);
 | 
			
		||||
 | 
			
		||||
	% First line
 | 
			
		||||
	\draw[black] ({#1}, #2) -- ({#1}, #2 + 0.2);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	\draw ({#1 - 0.1}, #2 + 0.5) node[left] {#3};
 | 
			
		||||
 | 
			
		||||
	% Numbers and marks
 | 
			
		||||
	\foreach \i in {6,...,9,10,15,...,30,40,50,...,60,90}{
 | 
			
		||||
		\draw[black]
 | 
			
		||||
			({#1 + \sscalefn(\i)}, #2) --
 | 
			
		||||
			({#1 + \sscalefn(\i)}, #2 + 0.3)
 | 
			
		||||
			node[above] {\i};
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	% Submarks 6 - 10
 | 
			
		||||
	\foreach \n in {6, ..., 9} {
 | 
			
		||||
		\foreach \i in {1,...,9}{
 | 
			
		||||
			\ifthenelse{\i=5}{
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \sscalefn(\n + \i / 10)}, #2) --
 | 
			
		||||
					({#1 + \sscalefn(\n + \i / 10)}, #2 + 0.2);
 | 
			
		||||
			} {
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \sscalefn(\n + \i / 10)}, #2) --
 | 
			
		||||
					({#1 + \sscalefn(\n + \i / 10)}, #2 + 0.1);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	% Submarks 15 - 30
 | 
			
		||||
	\foreach \n in {10, 15, ..., 25} {
 | 
			
		||||
		\foreach \i in {1,...,24}{
 | 
			
		||||
			\ifthenelse{
 | 
			
		||||
				\i=5 \OR \i=10 \OR \i=15 \OR \i=20
 | 
			
		||||
			} {
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \sscalefn(\n + \i / 5)}, #2) --
 | 
			
		||||
					({#1 + \sscalefn(\n + \i / 5)}, #2 + 0.2);
 | 
			
		||||
			} {
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \sscalefn(\n + \i / 5)}, #2) --
 | 
			
		||||
					({#1 + \sscalefn(\n + \i / 5)}, #2 + 0.1);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	% Submarks 30
 | 
			
		||||
	\foreach \n in {30} {
 | 
			
		||||
		\foreach \i in {1,...,19}{
 | 
			
		||||
			\ifthenelse{
 | 
			
		||||
				\i=2 \OR \i=4 \OR \i=6 \OR \i=8 \OR
 | 
			
		||||
				\i=10 \OR \i=12 \OR \i=14 \OR \i=16 \OR
 | 
			
		||||
				\i=18
 | 
			
		||||
			} {
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \sscalefn(\n + \i / 2)}, #2) --
 | 
			
		||||
					({#1 + \sscalefn(\n + \i / 2)}, #2 + 0.2);
 | 
			
		||||
			} {
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \sscalefn(\n + \i / 2)}, #2) --
 | 
			
		||||
					({#1 + \sscalefn(\n + \i / 2)}, #2 + 0.1);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	% Submarks 40 - 50
 | 
			
		||||
	\foreach \n in {40, 50} {
 | 
			
		||||
		\foreach \i in {1,...,9}{
 | 
			
		||||
			\ifthenelse{
 | 
			
		||||
				\i=5 \OR \i=10 \OR \i=15 \OR \i=20
 | 
			
		||||
			} {
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \sscalefn(\n + \i)}, #2) --
 | 
			
		||||
					({#1 + \sscalefn(\n + \i)}, #2 + 0.2);
 | 
			
		||||
			} {
 | 
			
		||||
				\draw[black]
 | 
			
		||||
					({#1 + \sscalefn(\n + \i)}, #2) --
 | 
			
		||||
					({#1 + \sscalefn(\n + \i)}, #2 + 0.1);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	% Submarks 60
 | 
			
		||||
	\foreach \i in {1,...,10}{
 | 
			
		||||
		\ifthenelse{
 | 
			
		||||
			\i=5 \OR \i=10
 | 
			
		||||
		} {
 | 
			
		||||
			\draw[black]
 | 
			
		||||
				({#1 + \sscalefn(60 + \i * 2)}, #2) --
 | 
			
		||||
				({#1 + \sscalefn(60 + \i * 2)}, #2 + 0.2);
 | 
			
		||||
		} {
 | 
			
		||||
			\draw[black]
 | 
			
		||||
				({#1 + \sscalefn(60 + \i * 2)}, #2) --
 | 
			
		||||
				({#1 + \sscalefn(60 + \i * 2)}, #2 + 0.1);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user