Saturday, September 1, 2012

VPython Revisited and the Problems with 3D Projection


I previously wrote about VPython close to a year ago as a bit of fun eye candy for my student, who at the time was 12 years old.  After a break due to soccer, track, and summer activities, I started to focus on a memory game first and then a racer game.  It took an entire summer of sporadic weekends to finish two games and I feel we bit off more than we could handle.

After the problems with the memory game data structures and the headaches of 3D projection, the videos on VPython were fun and immediately rewarding.   I highly recommend these videos for 11 to 13 year old children.

Unfortunately, I can't recommend 3D projection until they get a bit further along in math.

So, why was 3D projection so tough?

Well, for one thing, complexities of 3D projection were getting a bit too tedious.  I didn't realize this, but my student hadn't studied the z-axis in school yet.  He had covered cross multiplication, but wasn't an expert at it.    The key to figuring out a simple projection method was to  use Louis Gorenfeld's Pseudo 3D page.

video

The application revolves around this deceptively simple formula.

Y_screen = (Y_world / Z) + (y_resolution / 2)
There are numerous libraries that can handle the 3D calculations for the student.  VPython is super easy to use.  Perhaps we'll revisit 3D projection after my students gets further along in math.

No comments:

Post a Comment