Below are a series of animation algorithms projects written in WebGL
Boids Crowds-Solver
Goals: A boids crowds-solver simulation. Includes interactive weight modifications for velocity matching, flock centering, and collision avoidance. Additional feature included allows for each boid's color to be dynamically updated based on its x-position to create a stylized rainbow effect.
Particle System Simulation
Goals: Implements a simple particle system to simulate the tail of a moving comet. Particles are guided by simple dynamical simulation. Includes custom glsl shader code to create a blue flame effect on the hurtling meteor.

Close-Up Shot

Rasterized Render Engine to display a 3D scene of a vespa with user controls. Vespa modeled in Maya and textured in Substance Painter.
Physics-based Billiards Simulation
Goals: A physics-based billiards simulation. The collisions between the balls are elastic so all momentum is conserved. Uses collision detection algorithms for ball-ball collisions, and ball-wall collisions with Euler Integration.
Result using a heavy coefficient of restitution for the ball-wall collisions.

Result using heavy friction.

Result with a pockets implementation.

A simple ray tracer written in Python I scripted for my Global Illumination course based on J. Turner Whitted's classic image. It handles Phong-Blinn shading, procedural materials, recursive reflections, and refractions.