The **madeup language** for creating 3d models came out a week ago for the kickstarter backers. There is more information about the computer programming language found at the kickstarter page. It’s been a lot of fun to play with but looking at it through the lens of being able to create calculus 3d solids has been really exciting.

## Rotational Volumes

Here is the code to sketch out this 2d shape on the x-y plane and rotate it around the x-axis:

to func x out = -1 * (x - 1)^2 + 5 out end moveto 0,0,0 x = 0 xmax = 3.0 numPoints = 100 while (x < xmax) out = func(x) moveto x,out,0 x = x + xmax//numPoints end moveto xmax,0,0 moveto 0,0,0 nsides = 100 revolve 1,0,0,270

When you click the solidify you get this 3d shape (only rotated 3/4 of the way around for sake of visulization):

Here’s the magic step. Click **Download **and open the .obj file with your 3d printer software and hit print:

Want to rotate around the y-axis instead and practice shells? No problem.

And print!

## Cross-sectional Volumes

The AP (but not the IB) curriculum has students find the volume of a solid created by extruding out a known cross-section from a given area. For instance, on the 2010 AP Calculus AB exam, they asked the following question, zone in on part (c):

This type of question is difficult for students to visualize. Madeup can make some great models (that can be printed) for the students. While I think the programming is tricky enough that I wouldn’t encourage you to bring the code directly to novices; it is pretty clean and easy to modify. For example: take the same area as above and find the volume by taking cross sectional squares with one side on the xy plane and perpendicular to the x-axis.

In the madeup world, the code looks like this:

to func x out = x ^ 0.5 + 1 out end moveto 0,0,0 x = 0 xmax = 3 numRect = 14 while (x < xmax) out = func(x) moveto x,out,0 moveto x + xmax//numRect,out,0 moveto x + xmax//numRect,0,0 moveto x,0,0 x = x + xmax//numRect extrude 0,0,1,out end moveto xmax,0,0 moveto 0,0,0

When you hit the extrude button, it takes the 14 rectangle slices and brings it up the z-axis to make a square. The result is the 3d shape:

Here’s the shape (approximated) with 4 rectangles:

And here’s the shape with 100 rectangles:

Print!

Enjoy! As always, please fire away with questions/comments/etc.

I am wondering if a student would get any marks for reflecting the function in the line y=x, and rotating about the vertical line x=7.

That’d be a neat shape. The students haven’t touched the code yet (next year?).