Making and 3D Printing Vases: MathArt

img_20181202_200508027.jpgLast year, I got a 3D printer for Christmas.  My two kids found a vase on Thingiverse and printed it.  After looking at the vase, I told them that I could create a similar vase using math.  That started a journey that turned my house — and classroom — into a vase-making center for months.

This is my second year of making vases with my Honors Pre-Calculus class, and the students love it.  It takes about two class periods after we finish graphing transformations of trigonometric functions.   Most students create the vases by playing with transformations and domain restrictions of sine and cosine.  But some student take advantage of other techniques that we learned, such as variable amplitude equations like f(x) = x^2 sin(x)  or graphical addition.

The 3D prints are between 4 cm and 6 cm tall and print in about 30 minutes each.  They have a THIN shell.  I use filament that looks translucent when printed this way.  I also take advantage of special settings in the slicer to make the prints so thin.

This post describes:

  • How to design vases in Mathematica (requires a software license)
  • How to design vases in GeoGebra 3D (free software)
  • Slicer Settings for 3D printing the vases
  • Filament Suggestions
  • Extension Activities

Designing Vases in Mathematica (requires a software license)
I am fortunate that my school has a license for Mathematica, so this is how we make our vases.  I teach my students to use Mathematica throughout the year, and this project applies the syntax that they have learned.

  1. Create and plot an equation that has at least one sinusoidal part.  Play with the domain of the plot to get a shape you like.vase plot
  2. Rotate the equation around the x-axis.  Play with the domain to change the shape that is created.
    vase rotate
    If an object has very quick slope changes, like the design below, it will probably have stringy sections in the print.  If I see a vase design that has quick slope changes, I encourage the students to alter the equation so that the slope changes are more gradual.


  3. Mathematica defaults to creating a diamond-shape mesh on the exterior of the object.  This looks pretty cool when it 3D prints.  However, if you want the surface of the object to be smooth, you can add the Mesh command to your print, as below.  The value of 50 is arbitrary — I tried it, and it worked.vase mesh


diamonds vs smooth
The vase on the left has a diamond-like pattern on the surface. The vase on the right has a smooth surface.


4.  Export the vase to an STL file.vase export


Designing Vases in GeoGebra 3D (free software)

I realize that not everyone has access to Mathematica, so I’ve tried to come up with a free software option for this activity.  So far, I have 3D printed only two vases from a design I made in GeoGebra 3D.  Neither printed with surfaces as smooth as the vases from Mathematica.  If I had some extra time, I would tweak some settings in GeoGebra to see if I could make the vase export with a smoother surface.

I had never used GeoGebra to make a solid of revolution, so after my first few attempts came up short, I did some searching on the web and on Twitter.  I found this great Twitter post and video from Steve Phelps, @giohio, that describes how to create a solid of revolution in GeoGebra.   I followed his very clear directions to make this:

vase geogebra


Time to export the object.  First, go to the settings gear at the top right of the 3D graph.  UNCHECK the “Show Axes” and “Show Plane” options so that you see only the vase.  If you don’t do this, both the Axes and the Plane will export with the vase.geogebra export

Use the menu  “Download As”, and choose STL.

Slicer Settings for 3D Printing the Vases

Whether your vase was made in Mathematica or GeoGebra 3D, the vase exports as a solid shape.  The next step is to import the vase into a slicer and change settings to make it print as an empty vase.

  • Scale the vase: The Mathematica vases can export especially tiny, so I scale each vase to a size that will print in 25-30 minutes (this  varies between 300% to 1200%.)
  • Turn the solid object into an empty vase: Change the slicer settings so the object does not print solid.  I want a vase that has a bottom, a thin outer shell, an empty interior, and no top.  The key to printing a thin vase is to use a special mode called “Spiralize Outer Contour” mode or  “Vase Mode”.  A normal 3D printing mode lays down one layer of the vase and then moves the nozzle up to print the next layer.  This works, but it leaves a vertical line along the side of the vase where each layer ends, like this:
Notice the vertical line on the front of the vase, where each layer ended.

Using “vase mode” tells the printer to extrude filament in one continuous string, winding up and around as it creates the shell of the vase.  If you look closely at the top of a vase that has been printed in “vase mode,” you can see the end of the filament string.  There is no vertical line on the side of the vase, and the shell of the vase is very thin.

With my personal 3D printer, I use a free slicer called Cura.  I set the bottom thickness at 0.8 mm and select the Special Mode called “Spiralize Outer Contour”.  As Cura slices the object, it estimates the print time.  I aim for a print time between 25-30 minutes.cura settings

The 3D printers at my school run through the Polar Cloud, which I really like because it is easy to use and manages student objects well.  However, the Polar Cloud slicer does not currently have a “vase mode” or “spiralize outer contour” mode.  I adjust the print settings so the vase has 0% infill, a shell thickness of 1, a bottom layer count of 3, and a top layer count of 0.  The vases are not as thin as with “vase mode,” and they have a vertical line up the side where each layer ends, but they still look very nice.  See the picture of the green vase above.

Filament Suggestions

I’ve had good luck using CCTREE PLA filament that I purchased on Amazon.  The green, orange, and fluorescent yellow filament looks fantastic when printed really thin.  This year, I added Purple Haze filament to the mix, made by a company called COLORME3D (also available on Amazon).  I liked it so much that I just purchased the Hawaiian Green Haze color as a Christmas present for my kids…and, well, for me!

While I’m on the subject of filament, I should add that it’s a good idea to store your filament in an airtight container to extend its life.  I store mine in a bin that I made somewhat airtight by sticking weatherstripping to the lid.  I put some silica gel packs in the bin with the filament to prevent moisture buildup.

Extension Activities

  • Calculus!  Obviously, this would be a great activity to do with a Calculus class when learning about solids of revolution.  But I also plan to spend some time brainstorming with my Honors Pre-Calculus classes, which have not yet been exposed to calculus, to discover how to find the volume of their vase using math they already know.
  • Rotations!  Being able to envision the shape created by rotating a curve around an axis is an important skill for a student of calculus.  My students use Microsoft OneNote, so I ask them to snip (using the Windows Snipping tool) and share at least three other plots and rotations that they made.  This forces them to play with other equations and domain restrictions and predict and view the shape of the resulting solid of revolution.
  • Bigger Vases!  I’ve printed a bunch of taller vases (up to 15 cm tall) — they are all over my house!  I fill them with fake flowers … or nothing at all!  The larger vases take 2-3 hours to print, so plan accordingly.vases at home
  • Display!  Show off these student creations!  Does your school have an art gallery?  Or somewhere to display student work?  I thought about hanging each vase from the classroom ceiling using fishing line.  One of my students suggested stringing the vases together and hanging them like Christmas lights.  That’s what we plan to try this year.Happy designing and 3D printing!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create a free website or blog at

Up ↑

%d bloggers like this: