mirror of
https://expo.survex.com/repositories/expoweb/.git/
synced 2024-11-21 23:01:55 +00:00
therion protractor generation down to a single file
This commit is contained in:
parent
fe19b6bdfc
commit
4e4f87d673
@ -1,11 +1,11 @@
|
||||
all: therionpage.pdf therionpage500.pdf
|
||||
all: therionpage250.pdf therionpage400.pdf
|
||||
|
||||
#If using windows uncomment this
|
||||
#LATEXTOOL=pdflatex.exe
|
||||
#If using linux or macos(?) uncomment this
|
||||
LATEXTOOL=pdflatex
|
||||
|
||||
therionpage.pdf: therionpage.tex
|
||||
therionpage250.pdf: therionpage.tex
|
||||
$(LATEXTOOL) therionpage.tex
|
||||
|
||||
cleanpage:
|
||||
|
@ -22,7 +22,7 @@
|
||||
\coordinate (O) at (0,0);
|
||||
|
||||
% Scale of the protractor, change this to the desired scale
|
||||
\pgfmathsetmacro{\scaleto}{200} % 1:scaleto
|
||||
\pgfmathsetmacro{\scaleto}{250} % 1:scaleto
|
||||
|
||||
% Size of the major divisions on the linear scale
|
||||
\pgfmathsetmacro{\majordivision}{1} % size in meters
|
||||
@ -102,7 +102,7 @@
|
||||
|
||||
% ********************************************************************************
|
||||
% Draw the angular scale
|
||||
% ********************************************************************************
|
||||
% ***************************h*****************************************************
|
||||
|
||||
\foreach \theta in {1,2,...,179}
|
||||
{
|
||||
@ -217,4 +217,4 @@
|
||||
|
||||
\end{tikzpicture}
|
||||
\end{figure}
|
||||
\end{document}
|
||||
\end{document}
|
@ -1,27 +0,0 @@
|
||||
\documentclass[12pt,a4paper]{article}
|
||||
|
||||
% packages
|
||||
\usepackage{tikz}
|
||||
\usepackage[outline]{contour}
|
||||
\usepackage{standalone}
|
||||
\usepackage[margin=10mm]{geometry}
|
||||
|
||||
\begin{document}
|
||||
\begin{figure}
|
||||
\centering
|
||||
\begin{tikzpicture}
|
||||
|
||||
\pgfmathsetmacro{\xdist}{8.5}
|
||||
\pgfmathsetmacro{\ydist}{4.5}
|
||||
|
||||
\foreach \xval in {1,2}
|
||||
{
|
||||
\foreach \yval in {1,2,...,6}
|
||||
{
|
||||
\node at (\xval*\xdist,\yval*\ydist) {\input{therionprotractor400.tex}};
|
||||
}
|
||||
}
|
||||
|
||||
\end{tikzpicture}
|
||||
\end{figure}
|
||||
\end{document}
|
@ -1,189 +0,0 @@
|
||||
% ********************************************************************************
|
||||
% Creates a therion protractor of set size and scale
|
||||
% ********************************************************************************
|
||||
|
||||
\documentclass[12pt,border=0pt]{standalone}
|
||||
|
||||
% packages
|
||||
\usepackage{tikz}
|
||||
\usepackage[outline]{contour}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[scale=1]
|
||||
|
||||
\contourlength{1.2pt}
|
||||
|
||||
% ********************************************************************************
|
||||
% Set the coordinates and dimensions to draw from
|
||||
% ********************************************************************************
|
||||
|
||||
% Origin
|
||||
\coordinate (O) at (0,0);
|
||||
|
||||
% Size and scale of the protractor
|
||||
\pgfmathsetmacro{\scaleto}{250} % 1:scaleto
|
||||
\pgfmathsetmacro{\radius}{10} % size in meters
|
||||
\pgfmathsetmacro{\majordivision}{1} % size in meters
|
||||
\pgfmathsetmacro{\minordivision}{0.5} % size in meters
|
||||
|
||||
% Size of the text numbers
|
||||
\newcommand{\textsize}{\tiny}
|
||||
|
||||
% Intrinisc dimensions and conversion factors
|
||||
\pgfmathsetmacro{\convert}{100} % conversion from meters to centimeters
|
||||
\pgfmathsetmacro{\mintick}{0.1} % size in centimeters
|
||||
\pgfmathsetmacro{\majtick}{0.2} % size in centimeters
|
||||
\pgfmathsetmacro{\minradii}{0.5} % fractional radius where dotted radial lines start
|
||||
\pgfmathsetmacro{\minradiiend}{1-\minradii} % remainder
|
||||
|
||||
% Size and scale of the drawing
|
||||
\pgfmathsetmacro{\rad}{\radius*\convert/\scaleto}
|
||||
\pgfmathsetmacro{\majdiv}{\majordivision*\convert/\scaleto}
|
||||
\pgfmathsetmacro{\mindiv}{\minordivision*\convert/\scaleto}
|
||||
|
||||
% Slightly reduced radii for the scale bar
|
||||
\pgfmathsetmacro{\radscale}{\rad-\mindiv}
|
||||
|
||||
|
||||
% ********************************************************************************
|
||||
% Draw the foreshortening lines
|
||||
% ********************************************************************************
|
||||
|
||||
% Vertical lines
|
||||
\foreach \var in {0,\mindiv,...,\radscale}
|
||||
{
|
||||
\draw[gray] (O) ++ (\var,0) -- ++ (0,\rad);
|
||||
\draw[gray] (O) ++ (-\var,0) -- ++ (0,\rad);
|
||||
}
|
||||
|
||||
% White out the excess length
|
||||
\draw[thick,white,fill=white] (O) ++ (\rad,0) arc(0:180:\rad) -- ++ (0,\rad) -- ++ (2*\rad,0) -- cycle;
|
||||
|
||||
|
||||
% ********************************************************************************
|
||||
% Draw the circumcircles
|
||||
% ********************************************************************************
|
||||
|
||||
\foreach \var in {0,\mindiv,...,\rad}
|
||||
{
|
||||
\draw[gray] (O) ++ (\var,0) arc (0:180:\var);
|
||||
}
|
||||
|
||||
|
||||
% ********************************************************************************
|
||||
% Draw the radii
|
||||
% ********************************************************************************
|
||||
|
||||
\foreach \theta in {10,40,...,160}
|
||||
{
|
||||
\draw[red] (O) ++ (\theta:\mindiv) -- ++ (\theta:\radscale);
|
||||
}
|
||||
|
||||
\foreach \theta in {20,50,...,170}
|
||||
{
|
||||
\draw[blue] (O) ++ (\theta:\mindiv) -- ++ (\theta:\radscale);
|
||||
}
|
||||
|
||||
\foreach \theta in {30,60,...,150}
|
||||
{
|
||||
\draw[black] (O) ++ (\theta:\mindiv) -- ++ (\theta:\radscale);
|
||||
}
|
||||
|
||||
\foreach \theta in {5,15,...,175}
|
||||
{
|
||||
\draw[black,dotted] (O) ++ (\theta:\minradii*\rad) -- ++ (\theta:\minradiiend*\rad);
|
||||
}
|
||||
|
||||
|
||||
% ********************************************************************************
|
||||
% Draw the angular scale
|
||||
% ********************************************************************************
|
||||
|
||||
\foreach \theta in {1,2,...,179}
|
||||
{
|
||||
\draw[black,thick] (O) ++ (\theta:\rad) -- ++ (\theta:-\mintick);
|
||||
}
|
||||
|
||||
\foreach \theta in {5,10,...,175}
|
||||
{
|
||||
\draw[black,thick] (O) ++ (\theta:\rad) -- ++ (\theta:-\majtick);
|
||||
}
|
||||
|
||||
|
||||
% ********************************************************************************
|
||||
% Draw the linear scale
|
||||
% ********************************************************************************
|
||||
|
||||
|
||||
\foreach \var in {0,\mindiv,...,\radscale}
|
||||
{
|
||||
\draw[black,thick] (O) ++ (\var,0) -- ++ (0,\mintick);
|
||||
\draw[black,thick] (O) ++ (-\var,0) -- ++ (0,\mintick);
|
||||
}
|
||||
|
||||
|
||||
|
||||
% ********************************************************************************
|
||||
% Draw the outline
|
||||
% ********************************************************************************
|
||||
|
||||
\draw[black,thick] (O) ++ (\rad,0) arc (0:180:\rad) -- cycle;
|
||||
\draw[black,thick] (O) -- ++ (0,\majtick);
|
||||
|
||||
|
||||
% ********************************************************************************
|
||||
% Draw the angle numbers
|
||||
% ********************************************************************************
|
||||
|
||||
\foreach \theta in {10,20,...,80}
|
||||
{
|
||||
\pgfmathsetmacro{\thetaopposite}{\theta+180}
|
||||
|
||||
\draw[black] (O) ++ (\theta:\rad) -- ++ (\theta:-\majtick) node[anchor=south,near start,sloped,rotate=90,text=black] {
|
||||
\textsize
|
||||
\begin{tabular}{c}
|
||||
\contour{white}{\pgfmathprintnumber{\theta}}\\
|
||||
\contour{white}{\pgfmathprintnumber{\thetaopposite}}
|
||||
\end{tabular}
|
||||
};
|
||||
}
|
||||
|
||||
\foreach \theta in {90,100,...,170}
|
||||
{
|
||||
\pgfmathsetmacro{\thetaopposite}{\theta+180}
|
||||
|
||||
\draw[black] (O) ++ (\theta:\rad) -- ++ (\theta:-\majtick) node[anchor=south,near start,sloped,rotate=-90,text=black] {
|
||||
\textsize
|
||||
\begin{tabular}{c}
|
||||
\contour{white}{\pgfmathprintnumber{\theta}}\\
|
||||
\contour{white}{\pgfmathprintnumber{\thetaopposite}}
|
||||
\end{tabular}
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
% ********************************************************************************
|
||||
% Draw the linear numbers
|
||||
% ********************************************************************************
|
||||
|
||||
\pgfmathsetmacro{\labmax}{\radius-\majordivision}
|
||||
\pgfmathsetmacro{\labsecond}{\majordivision+\majordivision}
|
||||
|
||||
\foreach \var in {\majordivision,\labsecond,...,\labmax}
|
||||
{
|
||||
\pgfmathsetmacro{\varpos}{\var*\convert/\scaleto}
|
||||
|
||||
\draw[black,thick] (O) ++ (\varpos,0) -- ++ (0,\mintick) node [above=-2pt] {\contour{white}{\textsize\pgfmathprintnumber{\var}}};
|
||||
\draw[black,thick] (O) ++ (-\varpos,0) -- ++ (0,\mintick) node [above=-2pt] {\contour{white}{\textsize\pgfmathprintnumber{\var}}};
|
||||
}
|
||||
|
||||
|
||||
% ********************************************************************************
|
||||
% Draw the scale number
|
||||
% ********************************************************************************
|
||||
|
||||
\draw[black] (O) ++ (0,\rad/3) -- ++ (0,\rad/3) node [midway,anchor=center,sloped,text=black] {\contour{white}{\textsize $1$:\pgfmathprintnumber{\scaleto}}};
|
||||
|
||||
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
@ -1,189 +0,0 @@
|
||||
% ********************************************************************************
|
||||
% Creates a therion protractor of set size and scale
|
||||
% ********************************************************************************
|
||||
|
||||
\documentclass[12pt,border=0pt]{standalone}
|
||||
|
||||
% packages
|
||||
\usepackage{tikz}
|
||||
\usepackage[outline]{contour}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[scale=1]
|
||||
|
||||
\contourlength{1.2pt}
|
||||
|
||||
% ********************************************************************************
|
||||
% Set the coordinates and dimensions to draw from
|
||||
% ********************************************************************************
|
||||
|
||||
% Origin
|
||||
\coordinate (O) at (0,0);
|
||||
|
||||
% Size and scale of the protractor
|
||||
\pgfmathsetmacro{\scaleto}{400} % 1:scaleto
|
||||
\pgfmathsetmacro{\radius}{16} % size in meters
|
||||
\pgfmathsetmacro{\majordivision}{2} % size in meters
|
||||
\pgfmathsetmacro{\minordivision}{1} % size in meters
|
||||
|
||||
% Size of the text numbers
|
||||
\newcommand{\textsize}{\tiny}
|
||||
|
||||
% Intrinisc dimensions and conversion factors
|
||||
\pgfmathsetmacro{\convert}{100} % conversion from meters to centimeters
|
||||
\pgfmathsetmacro{\mintick}{0.1} % size in centimeters
|
||||
\pgfmathsetmacro{\majtick}{0.2} % size in centimeters
|
||||
\pgfmathsetmacro{\minradii}{0.5} % fractional radius where dotted radial lines start
|
||||
\pgfmathsetmacro{\minradiiend}{1-\minradii} % remainder
|
||||
|
||||
% Size and scale of the drawing
|
||||
\pgfmathsetmacro{\rad}{\radius*\convert/\scaleto}
|
||||
\pgfmathsetmacro{\majdiv}{\majordivision*\convert/\scaleto}
|
||||
\pgfmathsetmacro{\mindiv}{\minordivision*\convert/\scaleto}
|
||||
|
||||
% Slightly reduced radii for the scale bar
|
||||
\pgfmathsetmacro{\radscale}{\rad-\mindiv}
|
||||
|
||||
|
||||
% ********************************************************************************
|
||||
% Draw the foreshortening lines
|
||||
% ********************************************************************************
|
||||
|
||||
% Vertical lines
|
||||
\foreach \var in {0,\mindiv,...,\radscale}
|
||||
{
|
||||
\draw[gray] (O) ++ (\var,0) -- ++ (0,\rad);
|
||||
\draw[gray] (O) ++ (-\var,0) -- ++ (0,\rad);
|
||||
}
|
||||
|
||||
% White out the excess length
|
||||
\draw[thick,white,fill=white] (O) ++ (\rad,0) arc(0:180:\rad) -- ++ (0,\rad) -- ++ (2*\rad,0) -- cycle;
|
||||
|
||||
|
||||
% ********************************************************************************
|
||||
% Draw the circumcircles
|
||||
% ********************************************************************************
|
||||
|
||||
\foreach \var in {0,\mindiv,...,\rad}
|
||||
{
|
||||
\draw[gray] (O) ++ (\var,0) arc (0:180:\var);
|
||||
}
|
||||
|
||||
|
||||
% ********************************************************************************
|
||||
% Draw the radii
|
||||
% ********************************************************************************
|
||||
|
||||
\foreach \theta in {10,40,...,160}
|
||||
{
|
||||
\draw[green] (O) ++ (\theta:\mindiv) -- ++ (\theta:\radscale);
|
||||
}
|
||||
|
||||
\foreach \theta in {20,50,...,170}
|
||||
{
|
||||
\draw[purple] (O) ++ (\theta:\mindiv) -- ++ (\theta:\radscale);
|
||||
}
|
||||
|
||||
\foreach \theta in {30,60,...,150}
|
||||
{
|
||||
\draw[black] (O) ++ (\theta:\mindiv) -- ++ (\theta:\radscale);
|
||||
}
|
||||
|
||||
\foreach \theta in {5,15,...,175}
|
||||
{
|
||||
\draw[black,dotted] (O) ++ (\theta:\minradii*\rad) -- ++ (\theta:\minradiiend*\rad);
|
||||
}
|
||||
|
||||
|
||||
% ********************************************************************************
|
||||
% Draw the angular scale
|
||||
% ********************************************************************************
|
||||
|
||||
\foreach \theta in {1,2,...,179}
|
||||
{
|
||||
\draw[black,thick] (O) ++ (\theta:\rad) -- ++ (\theta:-\mintick);
|
||||
}
|
||||
|
||||
\foreach \theta in {5,10,...,175}
|
||||
{
|
||||
\draw[black,thick] (O) ++ (\theta:\rad) -- ++ (\theta:-\majtick);
|
||||
}
|
||||
|
||||
|
||||
% ********************************************************************************
|
||||
% Draw the linear scale
|
||||
% ********************************************************************************
|
||||
|
||||
|
||||
\foreach \var in {0,\mindiv,...,\radscale}
|
||||
{
|
||||
\draw[black,thick] (O) ++ (\var,0) -- ++ (0,\mintick);
|
||||
\draw[black,thick] (O) ++ (-\var,0) -- ++ (0,\mintick);
|
||||
}
|
||||
|
||||
|
||||
|
||||
% ********************************************************************************
|
||||
% Draw the outline
|
||||
% ********************************************************************************
|
||||
|
||||
\draw[black,thick] (O) ++ (\rad,0) arc (0:180:\rad) -- cycle;
|
||||
\draw[black,thick] (O) -- ++ (0,\majtick);
|
||||
|
||||
|
||||
% ********************************************************************************
|
||||
% Draw the angle numbers
|
||||
% ********************************************************************************
|
||||
|
||||
\foreach \theta in {10,20,...,80}
|
||||
{
|
||||
\pgfmathsetmacro{\thetaopposite}{\theta+180}
|
||||
|
||||
\draw[black] (O) ++ (\theta:\rad) -- ++ (\theta:-\majtick) node[anchor=south,near start,sloped,rotate=90,text=black] {
|
||||
\textsize
|
||||
\begin{tabular}{c}
|
||||
\contour{white}{\pgfmathprintnumber{\theta}}\\
|
||||
\contour{white}{\pgfmathprintnumber{\thetaopposite}}
|
||||
\end{tabular}
|
||||
};
|
||||
}
|
||||
|
||||
\foreach \theta in {90,100,...,170}
|
||||
{
|
||||
\pgfmathsetmacro{\thetaopposite}{\theta+180}
|
||||
|
||||
\draw[black] (O) ++ (\theta:\rad) -- ++ (\theta:-\majtick) node[anchor=south,near start,sloped,rotate=-90,text=black] {
|
||||
\textsize
|
||||
\begin{tabular}{c}
|
||||
\contour{white}{\pgfmathprintnumber{\theta}}\\
|
||||
\contour{white}{\pgfmathprintnumber{\thetaopposite}}
|
||||
\end{tabular}
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
% ********************************************************************************
|
||||
% Draw the linear numbers
|
||||
% ********************************************************************************
|
||||
|
||||
\pgfmathsetmacro{\labmax}{\radius-\majordivision}
|
||||
\pgfmathsetmacro{\labsecond}{\majordivision+\majordivision}
|
||||
|
||||
\foreach \var in {\majordivision,\labsecond,...,\labmax}
|
||||
{
|
||||
\pgfmathsetmacro{\varpos}{\var*\convert/\scaleto}
|
||||
|
||||
\draw[black,thick] (O) ++ (\varpos,0) -- ++ (0,\mintick) node [above=-2pt] {\contour{white}{\textsize\pgfmathprintnumber{\var}}};
|
||||
\draw[black,thick] (O) ++ (-\varpos,0) -- ++ (0,\mintick) node [above=-2pt] {\contour{white}{\textsize\pgfmathprintnumber{\var}}};
|
||||
}
|
||||
|
||||
|
||||
% ********************************************************************************
|
||||
% Draw the scale number
|
||||
% ********************************************************************************
|
||||
|
||||
\draw[black] (O) ++ (0,\rad/3) -- ++ (0,\rad/3) node [midway,anchor=center,sloped,text=black] {\contour{white}{\textsize $1$:\pgfmathprintnumber{\scaleto}}};
|
||||
|
||||
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
Loading…
Reference in New Issue
Block a user