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!