Introducing Numerically Pythonby Stephen Figgins
I am pleased to introduce to you our first Python article, Numerical Python Basics by Eric Hagemann. This is the first in a series of articles from Eric on Python's number crunching power and how you can use that in your programming.
I have nearly forgotten all I learned in school about vectors and matrices, but with a new interest in playing with 3D animation, I am relearning it. Lighting, movement, transformations, all involve linear algebra, the backbone of 3D graphic programming.
Actually, you use linear equations to solve business problems too. Even the Babylonians used linear equations. Matrices are basically tables of homogenous data - like a spreadsheet of numbers. Spreadsheets are everywhere in business. Even our most common experience with graphs is from business graphs built from these spreadsheet matrices. Most textbooks that have made some attempt to ground the math in real life focus on the business applications of linear algebra. That could explain why I felt this topic was a snoozer. It all seemed like accounting to me. It wasn't what interested me.
Maybe I would have had a greater interest if someone had pointed out to me linear equations describe objects in space, or if they pointed to the beauty of certain curves, geometrical shapes, and patterns. Did you know that a spirograph can be represented by linear equations? That might have caught my attention. But what really would have done it is if they showed me how I could use that math with a computer.
Numerically Python is about how math and programming work together with Python. Maybe it will rekindle your interest in mathematics. After reading an early draft of the piece I was inspired to check out about 20 books on math from my local library. I also looked for interesting pages online. Here are a few useful pages I found:
- 3d Coding Workshop
- 3D Basics and Vector Operations
- Ryan Geiss's advice on how to become a graphics programmer.
- Dr. Math explains Dot Products
- Vector Arithmetic by M. Casco
You will find hundreds of other pages searching the web. I haven't found any piece that I would call definitive yet. Some seem very in depth but are dry as a bone, typical text book stuff with no connection to why you would want to learn the math. Others are real useful, but only focus on one or two parts of the puzzle. But as I fit the pieces together things are taking shape.
If you want to share your own journey of discovery with me, post something in the Python news forum We can swap tales.
Stephen Figgins administrates Linux servers for Sunflower Broadband, a cable company.
Return to the Python DevCenter.