CSE391 Special Topics:
Solid Modeling
Fall, 2007
Prof. George W. Hart: Office: 1421 Computer Science, Phone: (631) 632-8959, Email: george@cs.sunysb.edu
Office hours, Fall 2007: Tuesday and Thursday, 2:15 - 3:30, and by appointment.
Class room and time: Room CS 2129, Tuesday and Thursday 12:50-2:10.
Class web page: http://www.cs.sunysb.edu/~cse391/
Announcements: Final project presentations will be during the scheduled final exam period for this course: Thursday, Dec 20, 11:00-1:30, in the usual classroom. Note the earlier time! You should have: (1) an .stl file for me; (2) a written report with a couple of pages describing what you made and how, including a screen shot and including your code as an appendix; and (3) visual material for a class presentation, e.g., a powerpoint file or Mathematica notebook.To export an .stl file from Maya, download this MEL script and place it in your My
Documents/Maya/6.0/scripts directory before you start Maya. Then in
Maya, with the object selected, type mayaExportSTL<enter> in
the white bar at the lower left. You will be prompted for a file name
where the stl is saved. (It will triangulate your object if it is
not triangulated, so save first.)
Here is the convex hull algorithm from class
Oct 30.
Here is the voxel-based fractal tree
code from class Oct 25. I tweaked it a bit to have three sub-branches
and use one of the built-in methods to provide a rotation matrix.
Here is the
wiggly-sphere voxel and splat code from Oct 23. Here is
my solution for the simple "marching cubes" voxel-to-boundary
algorithm, and the Menger Sponge algorithm. Can you find the cross
section through the Menger Sponge on a plane that is the orthogonal
bisector of its long diagonal?
Material: The
class will be
project oriented, and directed in part by the directions students want
to go. During the first week, we will choose some project goals. Look at student
projects from 2004 and student
projects from 2003 to get a
sense of what you can design and build by rapid prototyping in this
class. We will study algorithmic and
software issues concerning procedural generation of objects. As to
languages, we will discuss this in the first week to see what interests
the class. So we might survey techniques in several software
environments, such as Java, Maya's built-in scripting language, and/or
Mathematica. Each has certain advantages and disadvantages. We
have a budget to make something physical, so
we can physically construct a large permanent group
project at the end of the semester, based on our class design, for
example we can make something as big as the
sculpture in the CS lobby. Another
idea is that we can consider building our own rapid prototype
machine. Look, for example at this machine
that builds from chocolate and this machine
that builds from sugar. During the first week, we will see what
directions have the most student enthusiasm.
Homeworks:
Students, individually or in teams, will complete software projects that produce 3D object description files which we will fabricate on a rapid prototyping machine. This includes the steps of:
Text: There is no textbook which covers this material. Papers will be assigned for reading and discussed in class. Most will be easily available on web pages.
Class Format: This is a project/seminar course. An important part of the course (and grade) is participating in the class discussions. You should come to all classes. We will discuss the student projects and the spatial and software design problems that they suggest. Students will present their projects to each other both in the design phase and after completion. We will also do a few 3D design activities. Reading assignments and informal homeworks will be assigned weekly and discussed in class.
Projects: There will be two software projects required for this course. Each project requires you to create, demo, document, and present to the class working software that produces a family of novel 3D objects. An .STL file generated by your program will be used to drive the RP machine to create a new unique physical object (that you get to keep). The .STL file is due two weeks before your final write-up is due, so we have time to schedule it on the RP machine and you can discuss it and include a photo of it in your paper. The details of each project, their due dates, lab space, and other details will be disucssed in class. You may use C/C++ and OpenGL, or Java and Java3D, or other languages and environments as you prefer.
Rapid Prototyping Resources: We have one rapid prototyping
machine in the Computer Science department, plus Stony Brook University
has a Stratasys
3000 and a DTM Sinterstation 2500 Plus. The Stratasys 3000
is
an FDM machine which creates in ABS plastic and also produces a water
soluble
support structure. The DTM 2500Plus is an SLS machine that uses a
self-supporting
powder. (The DTM company is now part of 3D Systems.)
Grading: Project 1, due at mid-semester (30%); Project 2, due at end of semester (50%); Class participation (20%).
Background: For general information about RP, see the Utah RP site or the Castle Island RP site. For examples of objects I have designed by procedural generation and then fabricated by rapid prototyping, follow these links. But your projects may be very different in style: