Noodly-Line Solver (VEX in Houdini)

A VEX implementation of differential growth.

I’ve seen a lot of tests of this effect recently, and thought I’d jump in and do my own version.

The very first time I saw the noodle solver was in this video by Deskriptiv over a year ago. Then when recently Simon Holmedal posted this test, it got me kind of curious. Finally yesterday I stumbled upon this post by Jan Fischer, and after reading the description I realized that it’s actually a pretty simple system.

So to recap Jan’s write-up on the system: there are basically 3 forces that gets integrated by the solver. First force, is a vector pointing in the opposite direction to the average position of neighboring points. Second force, is a vector pointing towards the average position of the point before and after in the line (I’m not sure how much this really affects the system, Jan says that it makes the sim more stable so I put it in there). The third force is a vector that points away from the bounding surface of the volume, this force only gets applied when the position of the point at the future integration step is outside of the volume.

You can download the .hip file. From playing around with the system for a bit, the most important values seem to be the multipliers to the three forces mentioned above, as well as the max number of points in the point cloud lookup for forces 1 and 3.