I guess it is Steven Strogatz week at our house! Saw this post early in the week and it looked like it could be a really fun 3D printing project:

Both the Mathcraft blog post and the explanation paper in the tweet are great reads.

The neat thing about turning this into a 3D printing project is figuring out how to model the geometric shapes using computer code. I’m only a novice at this sort of exercise and use Mathematica to do it. There are probably many other ways, too.

We really did most of the heavy lifting for this project last night. The reason is that the printing takes a while and I wanted to have the shapes finished before we started filming. The other reason is that translating these shapes from drawings into formulas is a little beyond what either kid is able to do at this point, so I wanted to go slowly. To start things off this morning, we reviewed how we made one of the shapes.

Next we moved to the computer to review the code. The code itself is fairly simply (if you use Mathematica). The complicated part of the math is defining the circular areas and the rectangular areas. We discussed that geometry a little bit in the last movie, but now you can see the code. Another interesting part of the code here is the use of the Absolute Value function. Since this is sort of an unexpected use of the absolute value function, we spent a little bit of extra time in this movie talking through why it was useful to use for defining rectangles:

Finally we moved to the kitchen to play with the rollers. We used a large lego base plate for the rollers to roll down. The shapes all rolled really well. We also talked a little bit about the curves traced out by the edges of these objects when they roll. apparently those curves are not well-understood, yet. Sort of a surprising unsolved problem:

This was a really fun project. Figuring out how to translate the geometric descriptions of the shapes into computer code is a neat thing to talk about with kids who are just learning to program. It is a particularly fun thing for me to talk through with the boys because it is pretty close to the limit of my understanding of programming and 3D printing. As I’ve said in my of our other 3D printing projects, I think there are amazing educational possibilities with the 3D printers. I hope that many schools are able to get them and use them with their students.