Generating braid geometry using parametric curves. Based on a paper by Pixar. Learn more
A braid consists of $N$ individual curves where each curve, denoted by $S(t)$, is defined by:
$S(t) = \begin{cases} x(t) = Asin(2\pi(F\alpha(t)+\delta))\\ y(t) = Bsin(2\pi(F\beta(t)-\delta))\\ z(t) += \omega \end{cases}$
$\text{where}$ $t \in [0,1]$.
$A = \text{ Braid thickness}$
$B = \text{Braid width}$
$F = \text{Frequency of knots}$
$\alpha(t)$ = is any function of $t$ and defines the distribution of the knots along the braid. For example you can let $\alpha(t) = t$ or $\alpha(t) = t^2$ etc.
$\beta(t) = \alpha(t)*0.5$
$\delta = \text{Strand Number} / \text{Total number of strands}$
$\omega$ = the amount by which to extend the curve along z direction at each time interval.
The code block below is an example of how we could generate braid geometry using VEX scripting in Houdini. I have added some extra functionality like phase shift and variable scaling. If you would like to experiment with different values all you have to do is copy and paste this code into a "Detail Wrangle" node inside Houdini.