I am fascinated with the process of simulating patterns of motion that can be found in nature. Motion such as fire, or water, or the growth of certain plants and bacteria. These patterns can be studied and reinterpreted with mathematical equations and rules. It can be very difficult to build a simulation of such a complex process. Sometimes there is so much chaos that trying to find thru lines seems impossible. Distinguishing the constants and variables so that they can be reassembled in a computer seems to be such a daunting undertaking. But once I have built the system, there is so much beauty in seeing the computer process. It's like watching the infrastructure of the computer's thoughts while it imagines what the natural world looks like.
For this process I work entirely in Houdini. The natural instinct for any 3d artist, would be to use some sort of noise pattern to add detail. However, the problem that will always present itself in that approach is that the noise pattern does not follow the movement of the smoke. It always ends up looking like the smoke is just swimming through some weird jagged texture. So to solve this problem, I created a curvature vector that naturally follows the shape of the smoke. As the smoke ungulates and warps, so does the curvature. I was able to use this vector to define the space that the noise patter would exist in. I now had a turbulent noise that I could dial to the exact point of detail that I wanted and it would always move in the exact same natural way as the smoke. This method ensures the maximum amount of detail in the smoke.