Micaiah Chisholm

Personal Work - Simulations in Java and CG Projects in Blender



SPH Fluid Simulation from First Principles

Resources: Video | Applet | Code
A smooth particle hydrodynamics (SPH) simulation coded in java. The following papers were used for reference:

Particle-based Fluid Simulation for Interactive Applications
by Muller et al.

Particle-based Viscoelastic Fluid Simulation
by Clavet et al.

I chose Clavet et al's smoothing kernels and viscoelasticity algorithms for my implementation. I also used hashed particle locations to optimize nearest neighbor searches, as advised by both papers. The visualization uses simple OpenGL point rendering of particles with line lattices for viscoelastic "springs" between particles. Density is represented with a blue-to-cyan color gradient.


Blender Graphics Project: Watch

A watch modeled, textured, and rendered in Blender. HDRI backgrounds were used to modify ambient occlusion and reflection. Image was postprocessed using a depthmap-based gaussian blur to produce depth of field effects. Featured in the January 2007 best of blender gallery.


Soft Body Cloth Simulation from First Principles

Resources: Video | Applet | Code
Cloth simulation coded in java. The following paper was used for reference:

Advanced Character Physics
by Thomas Jakobsen

The simulation uses Jakobsen's distance constraint algorithm with-impulse based movement correction. This eliminates the unrealistic size-relaxation of standard spring-based cloth simulations while maintaining algorithm stability.


Blender Graphics Project: Library
A library scene. I modeled all objects including character in Blender. Postprocessing includes bloom and depth of field effects. I used mask-based application of gold and silver object materials to create book embossings.


Blender Graphics Project: Coffee Table
In this work, I studied how to model more complex surfaces with proper mesh design in Blender, particularly the floral ornaments of a coffee table at my home.


Blender Graphics Project: Coffee Cup
For this piece, I experimented with an external rendering engine, YafaRay. This gave me the opportunity to work with new forms of lighting, specifically more advanced forms of global illumination than Blender's internal options for ambient occlusion.