Archives for posts with tag: simulation

We present a novel wavelet method for the simulation of fluids at high spatial resolution. The algorithm enables large- and small-scale detail to be edited separately, allowing high-resolution detail to be added as a post-processing step. Instead of solving the Navier-Stokes equations over a highly refined mesh, we use the wavelet decomposition of a low-resolution simulation to determine the location and energy characteristics of missing high-frequency components. We then synthesize these missing components using a novel incompressible turbulence function, and provide a method to maintain the temporal coherence of the resulting structures. There is no linear system to solve, so the method parallelizes trivially and requires only a few auxiliary arrays. The method guarantees that the new frequencies will not interfere with existing frequencies, allowing animators to set up a low resolution simulation quickly and later add details without changing the overall fluid motion.

This code is a reference implementation of our paper Wavelet Turbulence for Fluid Simulation. The code is intended as a pedagogical example, so clarity has been given preference over performance. Optimizations that inhibit readability have been removed, so the running times experienced will be longer than those reported in the paper.

Home Page: http://www.cs.cornell.edu/~tedkim/WTURB
Project Page: http://www.cs.cornell.edu/~tedkim/WTURB/source.html
Language: C++
Platform: Linux, Windows, OS X
License: GNU Public License
Sponsor: Cornell University

Blender is an integrated application that enables the creation of a broad range of 2D and 3D content.  Blender provides a broad spectrum of modeling, texturing, lighting, animation and video post-processing functionality in one package.  Through its open architecture, Blender provides cross-platform interoperability, extensibility, a small footprint, and a tightly integrated workflow.

Aimed world-wide at media professionals and artists, Blender can be used to create 3D visualizations, stills as well as broadcast and cinema quality videos, while the incorporation of a real-time 3D engine allows for the creation of 3D interactive content for stand-alone playback.

Originally developed by the company ‘Not a Number’ (NaN), Blender now is continued as ‘Free Software’, with the source code available under the GNU GPL license. It now continues development by the Blender Foundation in the Netherlands.

(more…)

Home Page: http://www.blender.org/
Project Page: http://www.blender.org/development/
Language: C, Python
Platform: Windows, Mac OS X, Linux, FreeBSD 5.4 (i386), Sun Solaris 2.8 (sparc)
License: GNU GPL

PyODE is a set of open-source Python bindings for The Open Dynamics Engine, an open-source physics engine. PyODE also includes an XODE parser. PyODE does not wrap ODE’s API directly but changes it slightly to give a more Pythonic feel.

Home Page: http://pyode.sourceforge.net/
Project Page: http://sourceforge.net/projects/pyode/
Language: C++
Platform: Windows, Linux, OSX
License: GNU Lesser General Public License or BSD-style license.

The HOT is a collection of dso’s and an OTL for rendering deep ocean waves using the algorithms of Jerry Tessendorf described in the SIGGRAPH 2004 course notes. The dso’s implement a SOP for displacing geometry and VEX functions functions for use in various Houdini contexts. The OTL contains a VOP that wraps the vex function.

Project Page: http://code.google.com/p/houdini-ocean-toolkit/
Language: C++, VEX
Platform: Linux, Windows, OS X
License: GNU General Public License v2

Bullet 3D Game Multiphysics Library provides state of the art collision detection, soft body and rigid body dynamics.

  • Used by many game companies in AAA titles on Playstation 3, XBox 360, Nintendo Wii, PC and iPhone
  • Modular extendible C++ design with hot-swap of most components
  • Optimized back-ends for pthreads/Win32 Threads multi-threading and PS3 Cell SPU
  • Preparation for OpenCL data parallel optimizations for upcoming Bullet 3.x
  • Discrete and continuous collision detection (CCD)
  • Swept collision queries
  • Ray casting with custom collision filtering
  • Generic convex support (using GJK), capsule, cylinder, cone, sphere, box and non-convex triangle meshes. (more…)

Home Page: http://bulletphysics.org/
Project Page: http://code.google.com/p/bullet/
Language: C++
Platform: Linux, Windows, OS X
License: ZLib License, free for commercial use.