Houdini is a 3D animation software by SideFX that is broadly used in filming industry. Its built-in shader language (VEX), geometric data structures, and its integration with Python (where one can call numerical linear algebra library such as SciPy) make it a powerful tool for scientific computing and geometry processing. Moreover Houdini comes with industry standard renderer allowing stunning visualization. Its free apprentice license is fully functional, with only a few limitations in the resolution of rendering preventing commercial uses. Houdini has become a frequently used software for not only research demonstration, but also for teaching and generating illustrations for lectures and talks.
To get started, first we recommend rummaging around the SideFX website and searching for tutorials on YouTube. I also made a tutorial that contains the essential workflow for mathematical visualization
We also recommend that you work through some of the tutorials on the Houdini Tech Blog, a course blog for "Visualization in Mathematics" in TU Berlin. For example you can work through all the tutorials in the "Introduction" category. There are more tutorials on that site and if you feel inspired check them out. All come with Houdini files that allows you to load the completed tutorials if you wish.
Our lecture note listed above teaches you how to create simple geometry inside Houdini using the VEX language; basic scene setup with simple lighting and camera as well as manipulating surface appearance for rendering.
The complete documentation is also available on the SideFX website.
You can instal the "Apprentice" version of Houdini on your own machine. See the system requirements.
Installing Houdini is straightforward on Windows, Linux and Mac OSX. However, if we want to import the Python numerical linear algebra library SciPy, additional steps are required.
The followings are tested in September 2020.
We recommend installing the latest version of Houdini (Houdini 18.0). Another option is to install an older version of Houdini, which requires different steps to install SciPy.
In later versions of Houdini (17.5 and on), a separate Python implementation is shipped within the Houdini software. To install additional Python packages we make sure we install them to Houdini's Python.
0. First, let us make sure Scipy is indeed not installed. Open Houdini, on any dock add a tab "Python Shell" (e.g. click "+" right next to the "Geometry Spreadsheet" tab). Typing
>>> import scipyshould give us error
ImportError: No module named scipy. (If there is no error, then for some reason you do have SciPy installed, and you can skip all following steps and you are good to go.)
>>> import os >>> path=os.path.abspath(os.__file__) >>> print(path)The result should be something like
$ cd /Applications/Houdini/Houdini18.0.499/Frameworks/Python.framework/Versions/Current/bin
$ sudo curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py $ sudo ./python get-pip.py
$ sudo ./pip install scipy
>>> import scipyshould give no error.
In these earlier versions, Houdini's Python will read the Python library installed on your machine. The following includes instruction of installing older versions of Houdini.