\documentclass[12pt]{article}
\usepackage[top=1.5 in, left=1.5 in, bottom=1.5 in, right=1.5 in]{geometry}
\setlength{\parindent}{0pt}  %no indentation
\setlength{\parskip}{0.1 in} %extra vertical space between paragraphs
\begin{document} 
\title{Indyracers: A VPython Program}
\author{Nicholas Kasner}
\date{November 2016}
\maketitle
\begin{abstract}

As a novice programmer and a racing enthusiast, I embarked on a semester long project in (Visual) VPython to create an animation of a racecar moving around a superspeedway. A distinguishing component of the completed program is the ability of the user to toggle between two views, one from above the track and another from inside the moving vehicle. This narrative describes not only an explanation of the premise behind the project, but the mathematics behind racing and the coding involved in the featured program, "indyracers".
\end{abstract}

------------------------------------------------------------------------------------------------------
\textbf{ 1. Introduction and Goals }


My objective is to create a real-time interactive animation using VPython of a racecar moving around a track. Since I am inexperienced with VPython programming, I will rely on thorough analysis of other VPython projects in order to learn the things necessary to achieve my project goals. I may also require the assistance of the professor and mentors to assist me with coding errors that I am unable to understand. I hope that my enrollment in CS 101, a course which teaches the fundamentals of Python, will give me a basis for working with VPython.

In my program, the user will be able to switch between two cameras to yield two perspectives from which to view an automobile race. The first viewpoint will be an overhead view, which will depict the car as it progresses around a fixed course. This will be accomplished by first establishing a racetrack frame and then constructing a 3D car frame which moves along the closed path. The car will rotate with respect to the track as it enters corners so that the car is always pointed in the direction it is travelling. Similar projects from which I can gain an understanding of a particle’s motion include the orbiting planets example.

The other camera will be from an in-car point of view, in which the user will be simulated as the driver. This view will depict a still image of the dashboard of a vehicle with a moving image inside a windshield. Time permitting, the dashboard may contain elements such as a steering wheel, a speedometer, and a gear shift. Ideally, the user will be able to interact with certain elements of the vehicle’s interior, such as moving the gear shift or turning the steering wheel. An example of user interaction that exhibits an effect on the program is controlstest, which enables the user to move colored rings from one peg to another. I am considering making it so that the user can adjust the position of the gear shifter to various locations in the gear box.

The windshield of the racecar will project the view out of the front of the racecar. The landscape shown to the user will adjust based on the racecar’s position along the track. This will be accomplished by texturing mapping an image of a racetrack to a cylinder on the inside. An example of this colloseum-style imaging is called look-around.py.

------------------------------------------------------------------------------------------------------
\textbf{ 2. Project Timeline }

October 31 - Proof of Concept RTICA\newline
November 2 - Seminar Presentation\newline
November 11 - Bird's Eye View of Racetrack\newline
November 18 - Toggle Between Camera Views\newline
December 2 - Inside the Car Camera

------------------------------------------------------------------------------------------------------
\textbf{ 3. Update }

As for what has already been done as of 21oct16, I have successfully configured the Repository on my personal machine which allows me to access files remotely that I edit in the ATLAS Lab. In addition, I have worked to outfit my personal computer with Python 2.7 and VPython, the programming languages I will be using to complete the project. I am also familiarizing myself with commands for the Windows Command Prompt, including dir, cd, and other methods useful for navigating the command line. Finally, I have installed MiKTeX for Windows and have begun to familiarize myself with its functionality.

% \textit{ For all real numbers $x$ and $y$, \[|xy|=|x||y|\]}
% \textbf{ Proof.} To prove this, first suppose that $x \ge 0$ and $y \ge 0$.  
% Then $xy \ge 0$.
% By definition of absolute value, $|xy| = xy$, $|x| = x$ and $|y|=y$. 
% Therefore $|xy| = |x| |y|$.
% \hfill q.e.d.


\end{document}

% LATEX NOTES
%
% 0. The \usepackage[...]{geometry} line is a most convenient way of handling
% the margins of your document. In a multipage document, experiments with 
% margins can avoid widows and orphans without learning more commands for it. 
%
% 1. A line beginning with % is a ``comment line'' and has no effect on the 
% printed version of the document.
%
% 2. Every document begins with the line  \documentclass[ nn pt]{article} 
% where nn = 9 (default), 10, 11, 12, the typeface sizes in points (1/72 in)
%
%3.  The documentclass "article" has its own ideas how your text should be typset. But you
%can change that by explicitly overriding the defaults. For example the optional lines that
%come before the \begin{document} such 
%\setlength{\parindent}{0pt}
% which causes a new paragraph to be indicated by a blank line rather than by indenting.

% 4. All of the text of the document must be between the lines  \begin{document}  and \end{document}.
%
% 5. The lines \title{Latex Example 1}
%              \author{Karen Mortensen}
%              \maketitle
% create the heading of the printed document.  The date will be put in automatically.
%
% 6. In LaTeX, { } are grouping symbols which do not appear in the printed document.  Use the commands
% \{ and \} instead if you want these curly brackets to appear in the printed document.
%

% 7. \textbf{ Theorem.} will cause the word Theorem. to appear in bold face.  The curly brackets { } are
% needed to tell LaTeX where to begin and end the bold face.
%
% 8. The command \vspace{.25 in} causes LaTeX to leave a quarter inch vertical space. 
%I've put this before and after the  proof to make the document look a little nicer.
% 
% 9. All mathematical symbols must go between dollar signs $ $.  The $ will not be printed, but simply
% indicates where the mathematical symbols begin and end. This should be used even if a variable x
% appears alone in a sentence:  put $x$, since this affects the typeface used.
% If your text editor doesn't check for matching $, it might be wiser to 
% use \( x \) instead of $ x $. It's more modern too.
% Math text between \[ and \] sets it off. 
% Older people might use $$ for both \[ and \].
% 10. The command \ge makes the symbol for ``greater than or equal to''.  The command \le makes the symbol 
% for ``less than or  equal to.  There are many other such commands - see the handout you got in class.
%
% 11. Extra blank spaces have no effect on the printed document, so put in blank spaces as much as you
% like to make the LaTeX file easier to read.  Same for new lines.  A blank line, however, will cause a new
% paragraph to be started.
%12. Common keyboard symbols, like { } \ %  have special meaning for TeX, as you have 
%seen above. If you want to print what they regularly mean, you must "escape" them by
% prefixed \ .  Thus TeXing \\ will produce just a single backslash. 
%
%13. On the other hand, when you escape a keyboard symbol that doesn't already
%have a special meaning, such as [ , the \[ has a new meaning, namely the beginning
% of displayed math formula. Indeed, \bf followed by a space comes to mean bold-face.
% In this way, TeX can be extended to have an arbitrary large vocabulary. 
%
%14. TeX always prints " as end-quotes. They slant to the right.
%Beginning quotes, which slant to the left, are written thus ``. Don't forget!

