CS184: Niels Joubert
 
   
  Niels Joubert's Foundations of Graphics web page.
'to make, little by little, the faulty good, the good better, and the better perfect.'
 
 
Negative Space Follows...

Assignment 5

This project was done in partnership with Hannah Hu.

Drawing Bezier Curves (Requires Java)


To get a feel for Bezier curves, I put together a little Processing app that draws Bezier curves. Drag the control points around to change the shape of the curve. Feel free to check out the source code.

Calculating Bezier Surface points (Requires Java)


Since I could now calculate points on a curve, it was a logical step to attempt finding points on a surface. This example draws the Teapot example surface in a point-based rendering methodology by finding points on surfaces and plotting them. This is purely to experiment with reading in the bez file, and calculating points (and derivates) across the surface.

Now we code...


We hit some snags, like running out of virtual memory, but soon enough the project was working!


The following images were generated by the code we submitted on time:

Notes

  • You will notice that we are not correcting for denegerate normals in the code we submitted on time.
  • We added animation, as can be seen in the first video (also recorded before the deadline)

Video showing off animation (uniform subdivision)


This video requires Flash. Also, turn up the sound!

Parametric Surfaces - Uniform Subdivision from njoubert on Vimeo.

Teapot! Uniform Subdivision


./cs184_as5 ../teapot.bez 0.1
Smooth Shading Flat Shading
Wireframe Wireframe, Black normals, Green derivatives - Prickly plant

Teapot! Adaptive Subdivision


./cs184_as5 ../teapot.bez 0.01 -a
Smooth Shading Flat Shading
Wireframe Wireframe, Black normals, Green derivatives - Prickly plant

Test Patch! Uniform Subdivision


./cs184_as5 ../test.bez 0.5
Smooth Shading Flat Shading
Wireframe Wireframe with black normals, green derivatives

Test Patch! Adaptive Subdivision


./cs184_as5 ../test.bez 0.005 -a
Smooth Shading Flat Shading
Wireframe Black normals, Green derivatives - Palm tree!

The following images were generated AFTER the deadline:

Notes

  • We reused my raytracer code to import .OBJ files.

OBJ Files




Time to Die, Yoda!