fbpx

RBF Interpolation in Houdini: What You Need to Know

By: Hunter Williams

In this article, I'll share how RBF Interpolation works inside Houdini and examine a few common interpolation styles.

As a Houdini artist, interpolation is an important concept to understand. However, I’ve found very few resources online that can really help with mastering interpolation styles (specifically RBF) inside Houdini. So I thought it’d be fun to examine a few interpolation styles and why they are important when working on Houdini projects.

I’ve been able to use an understanding of interpolation to enhance many of my Houdini projects.

Why should I care about interpolation in Houdini?

It’s not important to know everything about interpolation concepts in order to create amazing visuals in Houdini, but it can help to broaden our understanding so that we can more easily create and implement complicated techniques down the line. Understanding interpolation will also help you to troubleshoot when things aren’t looking the way we expected. Houdini and other graphics processing platforms heavily utilize interpolation in many of its operators and processes and is an extremely common process for computer graphics processing, 

While discussing these concepts, let’s take the example of this line with moving points.

As an example in Houdini, the resample SOP exploits many types of interpolation and is used to generate new point positions that lie between surrounding input points. The key defining factor of interpolation is that it creates new data (new points) based off an arbitrary set of input data (input points/ polyline). Subdivision, smooth, polyreduce, point deform, divide, scatter – these are only a few of the many nodes that also heavily rely on this concept.

So... What is RBF in Houdini?

Radial Basis Function (RBF) interpolates data based solely on the distances between input data by creating weights associated with values. It is generally more computationally heavy than IDW approximation for large data-sets, but also produces extremely smooth and more visually consistent results, without much tweaking. Additionally, it does not produce as much visual artifacting as other methods.

rbf interpolation of new input points.

point deform interpolation of new input points.

RBF also allows for space warping, which effectively deforms the coordinate system of input geometry. This is because RBF weights every input point regardless of how far or near it is to include in our interpolation solve, whereas IDW only weights points within its distance or max point threshold. Therefore we can think of the resulting interpolation as bending space because every real-valued input point is deformed to a new deformed coordinate-space.

rbf interpolation of new input points (space warping)

point deform interpolation of new input points

RBF is used extensively in pose-morph deformation weighting as it can create very smooth weighting schemes for arbitrary input data. Each distance is run through a basis function (such as cubic) and inherits a linear sum of weighted deformation values.

What About Other Interpolation Types in Houdini?

There are many types of interpolation used in computer graphics, but a few basic ones include:

Linear interpolation (bilinear and trilinear) – This interpolation type creates a linear function that describes the relationship between two points of data, repeated for the amount of dimensions needed.

Polynomial interpolation (spline) – This type creates a polynomial function that describes a line that moves through all input data points. Input values can be run through a basis function that can adjust curve profiles (linear, cubic, etc).

IDW approximation – This interpolation type uses inverse distance weighting; this averages surrounding weighted values relative to input data’s proximity to surrounding points.

Houdini also makes it very easy to exploit interpolation without knowing it, with the multitude of SOPs that utilize the method. However, through Houdini’s many vex functions we have direct access to interpolation functions that we can use for any amount of input data. Here are a few:

  • – Lerp(), slerp()
  • – Spline(), lkspline(), spline(), etc
  • – Fit(), efit(), fit01(), etc

Let's Get Technical.

I’ve create this infographic below that can help with understanding the implementation of RBF. Feel free to download it for further reference.

Implementation of RBF in Houdini

I hope you’ve enjoyed this quick overview of RBF interpolation in Houdini. Best of luck on all your Houdini projects. If you want to learn more about me, you can check out my blog.

Also, I did an interview here on Rebelway about my experience in the courses. Check it out if you’re interested. Cheers to VFX!

Subscribe for Weekly VFX Inspiration + Free VFX Tools

By filling out this form you agree to receive email communications from Rebelway.

More Inspiration

SideFX Logo

SideFX Certified

Houdini Training

Reeblway Badges

Satisfaction Guaranteed

No risk. Just results.

Autodesk Certified Logo

Autodesk Certified

CG Courses