% This was created by Chris Staecker
% You are free to do whatever you want with it.

\documentclass{article}
\usepackage{nopageno,fullpage}

\usepackage{tikz}
\usepackage{qrcode}

% axes width & height, circle radius
\newcommand{\xx}{15} %% all other distances are pegged to \xx and will scale along with it
\newcommand{\yy}{1.4*\xx}
\newcommand{\rr}{.3*\yy}

% tick length
\newcommand{\tl}{0.01*\xx}

% axis label padding
\newcommand{\lpad}{.03*\xx}

%colors
\definecolor{tridentcolor}{HTML}{FF9999}
\definecolor{acolor}{HTML}{000000}%{0000FF}
\definecolor{bcolor}{HTML}{000000}%{FFFF00}
\definecolor{xcolor}{HTML}{000000}

%strokes
\newcommand{\borderwidth}{3*\orr}
\newcommand{\axiswidth}{1*\orr}

% fancy trident shape
 \newcommand{\orr}{.06*\xx} %radial thickness of fat lines
 \newcommand{\arsx}{.05*\xx} %protuberance of arrow head sides
 \newcommand{\arsy}{.01*\xx} %protuberance of arrow head sides
 \newcommand{\art}{.09*\xx} %length of arrow head tips
 \newcommand{\artb}{10} % bend of arrow head tip to sides
 \newcommand{\arsb}{0} % bend of arrow head side to base
 \newcommand{\circbi}{40} % bend of inside circle arcs
 \newcommand{\circbo}{20} % bend of outside circle arcs
 \newcommand{\bigbo}{90} % outer bend of larger flourish between 16 & 17
 \newcommand{\bigbi}{80} % inner bend of larger flourish between 16 & 17
 \newcommand{\smbi}{25} % inner bend of larger flourish between 20 & 21
 
 
\newcommand{\rightsideornaments}{%
 \coordinate (1) at (0,\rr+\art); % middle top point
 \coordinate (2) at (\orr+\arsx, \rr-\arsy);
 \coordinate (3) at (\orr,\rr);
 \coordinate (4) at (\orr,\orr);
 \coordinate (5) at (\rr-\orr,\rr);
 \coordinate (6) at (\rr-\orr-\arsx,\rr-\arsy);
 \coordinate (7) at (\rr, \rr+\art); % top-right point
 \coordinate (8) at (\rr+\orr+\arsx, \rr-\arsy);
 \coordinate (9) at (\rr+\orr, \rr);
 \coordinate (10) at (6*\orr, \orr);
 \coordinate (11) at (2*\rr, \orr);
 \coordinate (12) at (2*\rr-\arsy, \orr + \arsx);
 \coordinate (13) at (2*\rr+\art, 0); % right point
 \coordinate (14) at (2*\rr-\arsy, -\orr - \arsx);
 \coordinate (15) at (2*\rr, -\orr);
 \coordinate (16) at (.5*\xx, -\orr);
 \coordinate (17) at (.4*\xx, -.2*\yy);
 \coordinate (17a) at (.5*\xx, -.14*\yy);
 \coordinate (18) at (.4*\xx, -.1*\yy);
 \coordinate (19) at (.3*\xx,-1*\orr);
 \coordinate (20) at (\orr,-.4*\yy);
 \coordinate (21) at (4*\orr, -.37*\yy);
 \coordinate (22) at (\orr, -.45*\yy);
 \coordinate (23) at (\orr, -2*\rr);
 \coordinate (24) at (\orr+\arsx, -2*\rr+\arsy);
 \coordinate (25) at (0, -2*\rr-\art);

\draw[fill=tridentcolor,line width=\borderwidth] 
%\draw
 (1) to[bend right=\artb] (2) to[bend left=\arsb] (3)--(4)
 to[bend right=\circbi] (5) to (6) to[bend right=\artb] (7) to[bend right=\artb] (8)
 to [bend left=\arsb] (9) to[bend left=\circbo] (10) -- (11) to[bend left=\arsb] (12)
 to [bend right=\artb] (13) to[bend right=\artb] (14) to[bend right=\arsb] (15) -- (16)
 to [in=-50,out=-30,looseness=2.5] (17) to [in=-90,out=-30,looseness=1] (17a) 
 to [out=90,in=135,looseness=3] (18)
 to [bend left=\bigbi] (19) to[out=180,in=90,looseness=1.2] (20)
 to [bend right=\smbi] (21) to [out=-90,in=-15] (22) -- (23)
 to [bend right=\arsb] (24) to[bend right=\artb] (25);
% to[draw=none] (1);
 }
 
\begin{document}
\mbox{}

\vspace{-1.5cm}

\centerline{\scalebox{.9}{

\begin{tikzpicture}
 \begin{scope}[rotate=-45]
\rightsideornaments
\begin{scope}[xscale=-1]
\rightsideornaments
\end{scope}

\newcommand{\alabeledticks}{1,2,3,10}
\newcommand{\aunlabeledticks}{1,2,3,...,10}
\newcommand{\arclabeledticks}{1,2,3}
\newcommand{\arcunlabeledticks}{1,2,3,...,10}

\newcommand{\makearcunlabeledtick}[1]{%
  \newcommand{\kx}{\rr*2*#1/(#1^2+1)}
  \newcommand{\ky}{\rr*2/(#1^2+1)}
  \newcommand{\facc}{.95}
  \newcommand{\facd}{.05}

  \coordinate (a) at (0,\rr);
  \coordinate (b) at ({\rr-\tl},{\rr});
  \coordinate (c) at (\rr+\tl,\rr);
  
  \draw[line width=\axiswidth,shift={(0,\rr)},rotate={-atan((\rr-\ky)/(\kx)}] (\rr-\tl,0) -- (\rr+\tl,0);
  \draw[line width=\axiswidth,shift={(0,\rr)},rotate={atan((\rr-\ky)/(\kx)}] (-\rr+\tl,0) -- (-\rr-\tl,0);
}

\newcommand{\makearclabeledtick}[1]{%
  \newcommand{\kx}{\rr*2*#1/(#1^2+1)}
  \newcommand{\ky}{\rr*2/(#1^2+1)}
  \newcommand{\facc}{.95}
  \newcommand{\facd}{.05}
  
  \coordinate (a) at (0,\rr);
  \coordinate (b) at ({\rr-\tl},{\rr});
  \coordinate (c) at (\rr+\tl,\rr);
  
  \draw[line width=\axiswidth,color=xcolor,shift={(0,\rr)},rotate={-atan((\rr-\ky)/(\kx)}] (\rr-\tl,0) -- (\rr+\tl,0) node[transform shape,text=xcolor,anchor=west]{\i};
  \draw[line width=\axiswidth,color=xcolor,shift={(0,\rr)},rotate={atan((\rr-\ky)/(\kx)}] (-\rr+\tl,0) -- (-\rr-\tl,0) node[transform shape,text=xcolor,anchor=east]{-\i};
}

%axes and the arc
\draw[color=acolor,line width=\axiswidth](-2*\rr,0) -- (2*\rr,0);
\draw[color=bcolor,line width=\axiswidth](0,-2*\rr) -- (0,\rr);
\draw[color=xcolor,line width=\axiswidth] (-\rr,\rr) arc (-180:0:\rr);

%holepunch circle
\draw (0,\rr+4*\art) circle (.5*\lpad);

% boundary box
\newcommand{\bbx}{{(2*\rr + 8*\lpad)}}
\draw (0,-\bbx) -- (-\bbx,0) -- (0, \bbx) -- (\bbx,0) -- (0,-\bbx);

% axes labels
\node[transform shape] at (2*\rr, \lpad) {$a$};
\node[transform shape] at (-2*\rr, \lpad) {$a$};
\node[transform shape] at (\rr-\lpad, \rr) {$x$};
\node[transform shape] at (-\rr+\lpad, \rr) {$x$};
\node[transform shape] at (-\lpad,\rr) {$b$};
\node[transform shape] at (-\lpad,-2*\rr) {$b$};

%  a-axis (horizontal) unlabeled ticks
\foreach \i in \aunlabeledticks {
  \renewcommand{\k}{2*\rr/\i}
  \draw[line width=\axiswidth,color=acolor] (\k,\tl) -- (\k,-\tl);
  \draw[line width=\axiswidth,color=acolor] (-\k,\tl) -- (-\k,-\tl);
  
}
% a-axis labeled ticks
\foreach \i in \alabeledticks {
  \renewcommand{\k}{2*\rr/\i}
  \draw[line width=\axiswidth,color=acolor] (\k,0) -- (\k,-\tl) node[transform shape,text=acolor,anchor=north]{\i};
  \draw[line width=\axiswidth,color=acolor] (-\k,\tl) -- (-\k,-\tl) node[transform shape,text=acolor,anchor=north]{-\i};  
  
%  \makearclabeledtick{\i}
}

\foreach \i in \arclabeledticks {
  \makearclabeledtick{\i}
  }
  
% unlabeled ticks on circle
\foreach \i in \arcunlabeledticks {
  \makearcunlabeledtick{\i}
}

% b-axis (vertical) unlabeled ticks
\foreach \i in {2,3,4,5,...,10,-2, -3,..., -10,-1} {
  \renewcommand{\k}{2*\rr/(1-\i)}
  \draw[line width=\axiswidth,color=bcolor] (-\tl,{\k}) -- (\tl,{\k});
  }
  % labeled
\foreach \i in {-1, -2, -3, -4,-5,2, 3,4,5,10} {
  \renewcommand{\k}{2*\rr/(1-\i)}
  \draw[line width=\axiswidth,color=bcolor] (-\tl,{\k}) -- (\tl,{\k}) node[transform shape,text=bcolor,anchor=west]{\i};
  }
  
 \end{scope}
\end{tikzpicture}
}}

\newpage
%
%\mbox{}%
%
\newcommand{\ysp}{\vspace{.5cm}}%
%
\hspace{1.8cm}
\centerline{%
\rotatebox[origin=c]{45}{
\scalebox{1.9}{
\begin{minipage}{12cm}
\begin{center}
%$\phantom\circ$\\
\ysp

\vspace{-4cm}
{\bf Quadratic Formula Nomogram}\\
\ysp
This is a nomogram based on an original design\\ published by ET Whittaker in 1915.\\
\ysp
To solve the polynomial $x^2+ax+b$, hold the string so\\ that it intersects the horizontal axis at $a$ and intersects the \\ vertical axis at $b$. The roots are where the string meets the circular arc.\\ 
\ysp
For example to solve $x^2+2x-3$, stretch the string from $2$ on the horizontal\\ to $-3$ on the vertical. The string will intersect the arc at $1$ and $-3$! \\
\ysp
More info:\\
\ysp
\qrcode{http://faculty.fairfield.edu/cstaecker/machines/whittakernomo.html}
\end{center}
\end{minipage}
}}}
\end{document}