This is the webpage for the course Geometry and Algorithms in Three-Dimensional Modeling at Oklahoma State University.
Classes will consist of lectures on the mathematical underpinnings of 3D design software, and "workshop classes", spent learning the use of the software and working on projects. We will also use the 3D printing lab, MSCS 421. Students in the class will have 24 hour keycard access to the lab with their university ID card.
We will cover a number of sections from the course text, Applied Geometry for Computer Graphics and CAD (Springer Undergraduate Mathematics Series) 2nd Edition, by Duncan Marsh. (The text is freely available in electronic form from library.okstate.edu.) We will go through parts of chapters 1-3 (transformations, homogeneous coordinates), and chapters 6-7 (Bézier curves).
Homeworks will consist of standard problem sets to be handed in during class, and virtual 3D models/animations/interactive content to be handed in via Canvas, or real-life 3D printed models to be submitted in class.
You cannot effectively learn how to use a piece of software by listening to lectures. You have to use the software. The modelling homework sets and projects will give concrete goals to guide exploration of the software. Students will also follow tutorials.
- Rhino tutorials.
- Grasshopper tutorials.
- Lulzbot Mini 2 manual.
- Lulzbot TAZ Workhorse manual.
- Preparing files for 3D printing with Rhino.
There will be two take home midterms, with tentative due dates March 9 and April 13. There will be no final exam.
There will be three major projects due throughout the semester. The following schedule and topics are tentative.
Project 1: Goblet
Design and 3D print a goblet. This will likely be a surface of revolution (although if you wish you may depart from this). The goblet should hold precisely 100ml of water. The shape should be interesting in some way, either mathematically, culturally, and/or aesthetically. Along with the 3D print, students will complete a writeup on the mathematics, including a calculation of the volume of the goblet, and other relevant details of the design and present their work to the class.
- Project proposal due: Tuesday February 14. Before class, have decided on, and sketched the rough shape of the goblet, and have thought about how to create the shape. In class we will meet to discuss the project.
- Prepare project ideas for Thursday February 16. Before class, have researched the ideas or functions you will need to design the goblet, and have started their writeup. In class we will work on the 3D design and writeup.
- 3D print due date and draft writeup due: Tuesday February 21. In class we will work on the writeup and presentation.
- Completed writeup due, and presentations: Thursday February 23.
Project 2: Oklahoma map project
The OSU Museum of Art a planning a show on Geometry/Math for October-December 2023. For the second project, the class will divide up the map of the state of Oklahoma, each taking some collection of counties. I will supply files with the terrain and county boundaries. Your job is to add a landmark, building, or other relevant features to your subset of the state, designed using some form of mathematics or programming. We will agree on a scale to print at so that all of the prints can be assembled together, giving a decorated map of Oklahoma that will be displayed in the art exhibition.
- Project proposal due: Tuesday March 7. Before class, have decided on what to design, and have thought about how to create it. In class we will meet to discuss the project.
- Product due date and draft writeup due: Tuesday March 28. In class we will work on the writeup and presentation.
- Completed writeup due, and presentations: Thursday March 30.
Project 3: Illustrate something mathematical
Produce a model (or animation, or interactive demonstration) illustrating a mathematical object, process, algorithm etc. The model may be drawn from your previous mathematics classes, or (even better) mathematics that is new to you. I can give you references to read. For example there are many ideas in symmetry or knot theory or other areas of mathematics that are accessible and would be good to illustrate with a 3D model.
- Project proposal due: Tuesday April 18. Before class, have decided on what to design, and have thought about how to create it. In class we will meet to discuss the project.
- Products and writeups due, presentations: Tuesday May 2 and Thursday May 4.
- Rhinoceros the 3D design software we will use for the class. The software is loaded onto the computers in the 3D printing lab. The software is available for Windows and Mac through the College of Arts and Sciences (details to come). Meanwhile, a 90 day free trial of the software is available from here.
- Grasshopper, a visual scripting language built in to Rhinoceros.
- Cura software for converting a mesh (an .stl or .obj file) into GCODE that the printers follow to print your model.
- Rhino-Python, an implementation of the programming language Python within Rhinoceros.
- Essential Mathematics for computational design - Third Edition, by Rajaa Issa. This very briefly covers the mathematics used in Rhinoceros.
- Meshmixer can help with unioning together meshes that Rhinoceros has trouble with (using Edit -> Make Solid).
- Laura Taalman: 365 mathematical 3D printing projects, and even more projects.
- Chris Hanusa: Math with Mathematica course.
- Oliver Knill and Elizabeth Slavkovsky: Thesis project on 3D printing in education.
- Thingiverse (3d file repository).
- More inspiration: David Bachman, Ken Baker, Vladimir Bulatov, Bathsheba Grossman, George Hart, Oliver Labs, Henry Segerman, Nervous System, Carlo Séquin, Oskar van Deventer.
This page last updated: