Vehicular Drift Simulator – My Senior Project


Includes technical essay.
Be sure to:
0. refer to the README file.
1. set Wheelbase Length to 2.718.
2. hover over each input box for pop-up explanations.
3. If simulation is too fast, go to Graph tab and check the box Real Time (even though it says “Not Recommended” – for very old computers).

The Story

I was graduating with a Bachelor’s Degree in Mathematics at CalPoly.

I had a keen in interest in the behavior of a car sliding sideways from the locking of rear wheels (i.e. handbrake applied).  Hence, I thought, why not do my senior project on that subject.

The project started out innocently enough to find the mathematical formulas that would describe the motion and path of such a vehicle in general.  It very quickly became obvious there was no general solution (at least not in sight…) and that a numerical approximation approach is much more practical.  It now seemed the next natural step is to perform & present the numerical approximation in a graphical program.

I’ve always had a natural ability to write programs, starting with my Casio graphing calculator to plot the loci of a point on a circle that is rolling on either a straight line or another circle.  I had also just taken two courses in C++ (which I have now long forgotten).  After a brief research, Visual Basic seemed a good choice for my purposes.

It’s not uncommon for a graduating senior to submit and complete his/her senior project after graduation, and so it was the case for me.  I graduated with no experience and knowledge in Visual Basic.  And I found a job.  So I bought a book on VB and started reading up on it in BART, during my daily commute, 15 minutes at a time.  Once I have churned through most of the book, I felt confident enough to embark on actually building the application.

I think it took me 2 weeks of nightly coding to finish this program to its beta form.  After some testing by friends and family, and a few more tweaks, the program was complete, and submitted to and accepted by CalPoly.