Are you guys ready to look at the entrails of the Python? We are going to review the code for the Pi-A-Sketch. Liz already published the URL for the Pi-A-Sketch code on the raspberrypi.org site, but just in case, here it is again:
…Initially, I wanted a function to draw a line, and a function to draw a circle. That meant that I would have to write the guts of:def line(x, y): pass def circle(radius): pass
Right away I knew that I would need to do something based on Bresenham’s line drawing algorithm. Horizontal lines are trivial (turn one motor), and so are vertical lines (turn the other motor). Perfect diagonals are also easy to accomplish, since it is just a matter of turning both motors at the same time, for each step. Based on the direction of the steps, 4 different diagonal directions can be done.
Yet, with Bresenham’s algorithm, you can do a line of any slope. In order to save time, I was not going to do special case handling, and just do everything with his algorithm….
Each Friday is PiDay here at Adafruit, be sure to check out our posts, tutorials and new Raspberry Pi related products. Have you tried the new “Adafruit Raspberry Pi Educational Linux Distro” ? It’s our tweaked distribution for teaching electronics using the Raspberry Pi. But wait, there’s more! Try our new Raspberry Pi WebIDE! The easiest way to learn programming on a Raspberry Pi.
We now have Raspberry Pi Model B with 512MB RAM in stock and shipping now!
Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.
Join us every Wednesday night at 8pm ET for Ask an Engineer!
Learn resistor values with Mho’s Resistance or get the best electronics calculator for engineers “Circuit Playground” – Adafruit’s Apps!
Maker Business — “Inside One of the World’s Most Secretive iPhone Factories”
Wearables — With aging comes beauty
Electronics — Breadboard Capacitance
Biohacking — “1 Minute of All-Out Exercise May Have Benefits of 45 Minutes of Moderate Exertion”
No comments yet.
Sorry, the comment form is closed at this time.