3D/computer Graphics
Computer Science Side:
What I know how to do: matix manipulation, raytracing, GPU pipeline and programming, physics engine creation, fluid simulation, keyframing, interpolation, quaternion, kinematics, differential equations, particle dynamics, rigid body dynamics, deformable body dynamics, character animation, rigging and skinning, motion capture techniques, performance animation.
Art / Maya / Unity Side:
What I know how to do: model, texture, skin, rig, animate/keyframe. I have dabbled in everything one needs to do to create, render and record a 3D animation from the ground up with no outside work from anyone. Also importing and using in game engines.
LEGO MAN FIGHTING ANIMATION (MODELING AND ANIMATION)
Maya made animation of a two Lego characters fighting. All modeling and animation done by me. Sources for non original materials (all sounds and some textures) in the video description.
Click here if all you care about is computer graphics.
Click here to watch the version with the intro (shows of video editing skills).
raytracing algorithm (python)
I wrote for a ray tracer. It parses files that give the algorithm a starting point, and the location of objects in 3D space. It then raytraces and draws to the processing screen what the user should see.
CS 4496 Projects
Over the course of the semester we had 6 major projects:
Galileo’s Experiment.
Simulating gravity through 3 different numerical integration methods: Explicit Euler, Midpoint, and First-order semi-implicit Euler.
Collision Detection & Handling.
Simulates 4 particles in a 3D space in which you must use a different numerical integration method to handle each one’s physics.
The methods were: analytical, Explicit Euler, Midpoint, and Implicit Euler. With these integration methods we were to do both linear, DeBoors, Catmull, and Bezier interpolation and the particles falling.
Tinkertoy project.
This algorithm implements physics simulation, feedback terms, midpoint method, the ability to add more hanging beads onto the first one, hierarchical modeling, kinematics/inverse kinematics, as well as other things.
Rigid Body Pinata.
This project implements collision detection/handling, deformable bodies, rigid bodies, quaternion, & linear motion.
Fluid Simulation.
Simulating a 2D smoke fluid simulation using a grid-based Eularian approach. Must obey Navior-Stroke equations, incompressibility, and boundary conditions. Implements semi-Lagrange method for the advect of velocity.
Twister with a 3D human model.
Created an interactive inverse kinematics solver that manipulates a human model. The user can grab onto end points on the limbs and manipulate the shape of the body in a realistic (although flexible) way.
For a more detailed explanation of any of these project or screen shots of code snippets, please click the “SEE MORE” button below.
Classes Pertaining to computer graphics:
CS: 3451 Computer Graphics:
Software / Languages / Enviornments
Python
Processing
C
OpenGL
Topics Covered & Had Assignments Based on Topic
2D and 3D transformation (Matricies)
Projectio
Hidden surfaces
Color vision
Surface reflectance & Illumination
Texture mapping
Shadows
Anti-aliasing
Hardware graphics pipline (how a graphics card works)
GPU programming (shadders, textures, and how to read and implement them)
Ray tracing
Polyhedral models
Collision detection
Polynomial curves and surfaces
Subdivision of surfaces
Physics simulation
CS: 4496 Computer animation:
Software / Languages / Enviornments
C++
C
Dart
Visual Studio
OpenGL
Topics Covered & Had Assignments Based on Topic
Keyframe animation
Interpolation
Quaternion
Hierarchical modeling
Inverse kinematics
Differential equations
Particle dynamics
Rigid body dynamics
Articulated rigid bodies
Deformable body dynamics
Fluid simulation
Character animation
Rigging and skinning
Motion capture techniques
Performance animation