Description
These are various simulations for my Physically Based Animation and Advanced Computer Graphics classes. Some are less complete than others due to time constraints and concurrent work load. As a side note, I also wrote the interfaces.Demos
This gallery thing is much cooler if you have javascript enabled.|
Particles - This was my first simulation project to get familiar with basic explicit integration and the concept of evolving a system through time. There is an invisible ground plane at z=-1 that is always there. I can add custom force fields and such pretty easily. The first field shown is gravity. The second is a spring ball -- it attaches a finite length spring from every particle to it. Better quality version: here Tetrahedral FEM Soft Bodies - This is my first semi-implicit integrator. It simulates soft bodies represented by tetrahedral finite elements. The system is linearized with Cauchy Strain and SVD to extract rotation. There is an invisible ground plane at z=-1. It supports loading description files that allow the user to define a tet mesh, edit node velocities/forces, and pin points. The examples shown are: a single tet pinned to the origin, a tet-cube pinned to the origin, an un-pinned tet-cube, a rectangular-prism, and an l-shape thing. Better quality version: here (sorta) Rigid Bodies - Didn't get to work on this one much. I tried to implement mesh/mesh collisions with acceleration structures and didn't finish. Right now there are dynamic spheres and passive planes. Better quality version: here Fluids - This is a pretty basic rectangular grid fluid sim. In all demos, there is a constant upward force in one of the middle cells. The white squares grow with the amount of material in each cell. It's kinda hard to look at, but we didn't do much rendering. The demos are: 2d constant force, 3d constant force, and 3d where gravity acts on the cell's material. Better quality version: here Cloth - Cloth Simulation. Fairly hastily written cloth simulator. Because of this it uses explicit integration with a couple hundred timesteps per frame. It takes an arbitrary triangle mesh and simulates it. The video demonstrates A sim with some decent settings, one using somewhat floaty settings (and fewer timesteps), and another that looks rubbery. Better quality version: here |