Time to get back to the basics. I use trig at work, and at home in PyGame\Processing, but I like understanding the fundamentals of how it works. So I sat down this afternoon and made up a “SohCahToa” PyGame program that really illustrates (to me at least) what the values behind sine, cosine and tangent mean. They are after all, ratios of the sides of a triangle.
So the mnemonic device is “Soh-Cah-Toa”, which means:
- Sine = Opposite / Hypotenuse
- Cosine = Adjacent / Hypotenuse
- Tangent = Opposite / Adjacent
I wanted a visual way to see this in action, and that’s what this little program does:
Click through (twice) to larger image...
It plots a triangle defined by the opposite, adjacent, and hypotenuse sides. As time goes by ‘degrees \ radians \ pi’ values increase, and the triangle changes. The lengths of each side are plotted, and at the bottom, the math behind the sin, cos, and tan are shown in real-time.
The source code is online here, feel free to grab it:
http://www.akeric.com/python/sohCahToa01.py
Also, with a lot of help from this post (and several followup emails from its author), I was able to (finally) turn my PyGame apps into Windows executable. Find the zipped version here:
http://www.akeric.com/python/sohCahToa01.zip
I built it with Python 2.6.2 and PyGame 1.9.1, but nothing fancy is going on with either, so it should work with older versions.