Code

Contact

Address

418 West 51st Street
New York, NY, 10019

Email

nathanze@verizon.net
nathanz@seas.upenn.edu

Phone

(917) 912-4250

Programmable Matter Editor and Simulator

Date:

June, 2009 - Present

Description:

Programmable Matter's goal is to create "smart" matter or paper that will be light, compact and is able to reconfigure itself into any desired form. The goal of this program is to create an editor/simulator which allows users to design and test potential origami designs. The user begins with creating the two flat shape in the editor by drawing rigid bodies. They then can create a folding sequence by setting up fold angles. The simulator creates angular forces to dynamically test the folding seqence. This is the only dynamic and physically based origami simulator.

Programming Languages:

C++, XML

Outside Libraries Used:

FLTK, nVidia PhysX

Other Participants and Project Managers:

Dr. Vijay Kumar, Dr. Mark Yim, Steven Gray, Jun Seo, Pual White

Links and Other Information:

Programmable Matter Wiki
Video of the Creation and Simulation of an Origami Preliminary Base
Video of the Creation and Simulation of an Origami Boat
Video of the Creation and Simulation of an Origami Airplane
Video of the Simulation of an Origami Bird Base

Images:

Mini Maya

Date:

April, 2009

Description:

This final project for the Computer Graphics class CIS 277 was to create a small 3D modeling program. Using OpenGl to render the images and FLTK to create a GUI and handle callbacks we implemented algorithms to edit meshes. I provided the base code and developed the class structures. I also implemented the mesh editing functions such as moving vertices, edges faces, splitting edges, finding planarity of faces, extrusion of faces, spliting faces and deleting vertices, edges and faces. I also implemented a widget similar to in the actual AutoDesk Maya for movement, rotation and scaling. The last thing I implemented was an .obj file loader. This program was implemented using the Half-Edge data structure for meshes.

Programming Languages:

C++

Outside Libraries Used:

OpenGl, FLTK, Provided Linear Algebra Package

Other Participants and Project Managers:

Jon McCaffery, Lauren Fraizer

Links and Other Information:

Video of Mini Maya in Action

Images:

COMING SOON

Ray Tracer

Date:

November, 2009

Description:

This project for the computer graphics class CIS 460 was designed to be a simple ray tracer using lambert shading with simple reflections. Using GLUT and OpenGl I created an interface so a user can arrange a scene. Once the user hits 'r' the program takes in a text file which specifies the resolution and location and properties of camera in the scene. It then ray traces from the camera and record the appropriate color of the pixel. These colors are then given to SOIL and a bmp file is saved out.

Programming Languages:

C++

Outside Libraries Used:

GLUT, OpenGl, SOIL, OGRE's Linear Algebra Package

Images:

Volumetric Renderer

Date:

December, 2009

Description:

This project for the computer graphics class CIS 460 was designed to be a simple volumetric renderer to create simple clouds. The program takes in a file which contains the length, width and depth of a voxel grid in space. It also contains the density, and red-green-blue values for each of those voxels. Using light data also provided in the file, the renderer calculates the amount of light each voxel gets. The program then does a ray cast through the grid from a specified camera position similar to that of the ray tracer. Through trilinear interoplation, the ray gathers density particals and stops once it has either left the grid or is completely white. The color of each ray is then sent to SOIL to create a bmp image of the cloud.

Programming Languages:

C++

Outside Libraries Used:

SOIL, OGRE's Linear Algebra Package

Images: