All Projects → nepluno → Libwethair

nepluno / Libwethair

Licence: mpl-2.0
A Multi-Scale Model for Simulating Liquid-Hair Interactions

Projects that are alternatives of or similar to Libwethair

Blender Flip Fluids
FLIP Fluids is a powerful liquid simulation plugin that gives you the ability to create high quality fluid effects all within Blender, the free and open source 3D creation suite.
Stars: ✭ 983 (+323.71%)
Mutual labels:  computer-graphics, simulation
Liquidsimulator
Cellular Automaton 2D Liquid Simulator for Unity
Stars: ✭ 302 (+30.17%)
Mutual labels:  simulation, liquid
OpenGL MPMSnowSimulation2D
2D Implementation of Material Point Method for Snow Simulation
Stars: ✭ 26 (-88.79%)
Mutual labels:  simulation, computer-graphics
Plankton
Open source simulator for maritime robotics researchers
Stars: ✭ 51 (-78.02%)
Mutual labels:  simulation, liquid
Ipc
Incremental Potential Contact (IPC) is for robust and accurate time stepping of nonlinear elastodynamics. IPC guarantees intersection- and inversion-free trajectories regardless of materials, time-step sizes, velocities, or deformation severity.
Stars: ✭ 215 (-7.33%)
Mutual labels:  computer-graphics
Blender
Official mirror of Blender
Stars: ✭ 4,175 (+1699.57%)
Mutual labels:  computer-graphics
Init.nvim
An Opinionated Neovim Config for the Minimalists
Stars: ✭ 194 (-16.38%)
Mutual labels:  liquid
Bootstrapify 1
An open-source base theme for Shopify using Twitter Bootstrap
Stars: ✭ 189 (-18.53%)
Mutual labels:  liquid
Liquid Rust
Liquid templating for Rust
Stars: ✭ 229 (-1.29%)
Mutual labels:  liquid
Geostats.jl
An extensible framework for high-performance geostatistics in Julia
Stars: ✭ 222 (-4.31%)
Mutual labels:  simulation
Scancomplete
[CVPR'18] ScanComplete: Large-Scale Scene Completion and Semantic Segmentation for 3D Scans
Stars: ✭ 213 (-8.19%)
Mutual labels:  computer-graphics
Tf flame
Tensorflow framework for the FLAME 3D head model. The code demonstrates how to sample 3D heads from the model, fit the model to 2D or 3D keypoints, and how to generate textured head meshes from Images.
Stars: ✭ 193 (-16.81%)
Mutual labels:  computer-graphics
Egregoria
Contemplative society simulation
Stars: ✭ 219 (-5.6%)
Mutual labels:  simulation
Dyna Kinematics
A 2D rigid-body dynamics simulator with some cool features for generating beautiful animations.
Stars: ✭ 195 (-15.95%)
Mutual labels:  computer-graphics
Tensormol
Tensorflow + Molecules = TensorMol
Stars: ✭ 226 (-2.59%)
Mutual labels:  simulation
Light Field Video
Light field video applications (e.g. video refocusing, focus tracking, changing aperture and view)
Stars: ✭ 190 (-18.1%)
Mutual labels:  computer-graphics
Rl trading
An environment to high-frequency trading agents under reinforcement learning
Stars: ✭ 205 (-11.64%)
Mutual labels:  simulation
The Powder Toy
Written in C++ and using SDL, The Powder Toy is a desktop version of the classic 'falling sand' physics sandbox, it simulates air pressure and velocity as well as heat.
Stars: ✭ 3,128 (+1248.28%)
Mutual labels:  simulation
Coronavirus Simulation
An experiment with SIR
Stars: ✭ 198 (-14.66%)
Mutual labels:  simulation
Gridcal
GridCal, a cross-platform power systems solver written in Python with user interface and embedded python console
Stars: ✭ 197 (-15.09%)
Mutual labels:  simulation

libWetHair

libWetHair is an open source project for the physical simulation of liquid and wet hairs. It is cross-platform (Mac OS X, Linux, Windows, and more), and licensed under the Mozilla Public License v. 2.0.

We would like to hear from you if you appreciate this work.

It is the original implementation of paper A Multi-Scale Model for Simulating Liquid-Hair Interactions (refer to our project page for more details: http://libwethair.info ). This code base contains the following parts:

  • A liquid simulator implementing the affine-particle-in-cell method.
  • A hair simulator implementing the elastic rods model.
  • A reduced-liquid simulator for the simulation of flow on hairs.
  • Cohesion effects between the hairs
  • Coupling between the hairs and liquid, including dragging, capturing and dripping effect.

Dependencies

libWetHair depends on following libraries (some of them have been included in the code base, marked with an asterisk):

On Mac OS X or Linux-based systems, most of the dependencies are either included, or can be easily installed with Homebrew (https://brew.sh) or the APT package handling utility. For Intel TBB, you may download and install from the link provided above.

On Windows you may need manually download and install some of them.

Compilation

libWetHair has been tested with Clang (under Mac OS X), GCC 4.8+ (under Linux), and Microsoft Visual Studio (under Windows 10).

To compile libWetHair, you'll need CMake on Mac OS X or Linux, or CMake-GUI (https://cmake.org) on Windows.

On Mac OS X or Linux:

  1. make a directory, say, build, with mkdir build, enter the build directory, type cmake ..
  2. Optionally you can adjust the options with ccmake .
  3. type make to compile the code. For speeding up the compilation process you may use make -j.

On Windows:

  1. open CMake-GUI, enter the correct directory for source code and build. Then click Configure, choose your installed version of the Microsoft Visual Studio.
  2. after configuration you may find several libraries not found, check the Advanced box and locate those missing libraries manually. Please make sure you have picked the libraries corresponding to the architecture you have selected (say, 32-bit libraries for x86, and 64-bit libraries for x64).
  3. click generate after fixing all missing variables to generate your Visual Studio solution.
  4. open the solution and compile the code.

Run the Demo

To run the demo of libWetHair, you may simply use the command line argument -s [scene_file] to specify the scene to be loaded. For example, you may type

./libWetHair -s assets/unit_tests/cylinder_2.xml

to run the simulation of the scene containing two hairs being cohesive to each other.

All the parameters can be modified offline in the scene description XML files. Some can be changed online in the user interface provided by the demo program.

USAGE:

./libWetHair [-j ] [-o ] [-d ] [-g ] [-p ] [-s ] [--] [--version] [-h]

Where:

-j , --initfile Binary file to load simulation state from for initialization

-o , --readableoutput readable file to save simulation state to; after getting the output here, you may do surface reconstruction and rendering with the Houdini .HIP file provided at http://www.cs.columbia.edu/cg/liquidhair/pseudo_dog.hipnc by renaming the HIP file into the name of the folder storing all output files (please check the python scripts in the HIP file for details).

-d , --display Run the simulation with display enabled if 1, without if 0

-g , --generate Generate PNG if 1, not if 0

-p , --paused Begin the simulation paused if 1, running if 0

-s , --scene Simulation to run; an xml scene file

--, --ignore_rest Ignores the rest of the labeled arguments following this flag.

--version Displays version information and exits.

-h, --help Displays usage information and exits.

Contact

Please contact the author ([email protected]) for questions and bug report, or consulting for the usage of this code base.

BibTex Citation

@article{Fei:2017:liquidhair, title={A Multi-Scale Model for Simulating Liquid-Hair Interactions}, author={Fei, Yun (Raymond) and Maia, Henrique Teles and Batty, Christopher and Zheng, Changxi and Grinspun, Eitan}, journal={ACM Trans. Graph.}, volume={36}, number={4}, year={2017}, doi={10.1145/3072959.3073630}, }

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].