UNCONVENTIONAL K-D TREE PARTITIONING ALGORITHM
Post on Patreon, HIP file available: https://www.patreon.com/posts/unconventional-k-16752724
In this first video I walk you through an unconventional approach to some sort of k-d tree algorithm utilising mainly the Carve SOP and a few loops inside Houdini 16.5.Traditional K-dimensional algorithms will normally use neighbouring points to define the search trees and set its constraints.
Instead, we randomize the position of every perpendicular hyperplane that will split the primitive into two pieces at every iteration, for as many times as want. There are a few interesting tips and techniques to be learned from here that can also be easily expandable, and I hope this may somehow be of help or even entertainment for you.
In this second part I demonstrate a few approaches to handle random extrusions for our space partitioning algorithm. These techniques are easily expandable and can be adapted to all sorts of projects.
The first technique covered utilises Sort SOP's built-in functionality to randomise the primitive order, while we subsequently perform extrusions inside foreach loops, assigning random values based on the current iteration detail attribute. Next we go through a simple wrangle to handle the randomisation of the elements, utilising a little bit of vex.
This allows us to perform the whole operation inside a single foreach loop.Last but not least we utilise a Measure SOP to create a system that sorts the primitives based on their areas, that could personally render the nicest results.
Your feedback is really appreciated.