Out of the box the carve SOP will carve a curve as a percentage or parametric value along the curve’s length. This method will carve to a specified length (with some tolerance). Measure perimeter Promote perimeter to points In a wrangle at this vex: f@_perimpercent = chf(“length”)/f@perimeter; In the carve SOP add this script: 1-point(0, … Read More

## Awards // D&AD // Skrillex – Butterflies

Congratulations to the team at Electric Theatre for winning a D&AD Wood pencil for Skrillex – Butterflies https://www.dandad.org/awards/professional/2022/235437/skrillex-butterflies/

## Awards // Burberry Festive

Burberry Festive has garnered some favourable reviews over recent months with it hitting the top spot on Televisual’s 2021 Commercials 30 Survey shortly followed by winning a Silver at the CLIO Awards in the Craft Visual Effects category. Mad props to all those who worked on it. It came out good. https://www.moving-picture.com/news/burberry-takes-home-silver-at-the-clio-awards https://www.moving-picture.com/news/burberry-and-jean-clement-soret-hit-number-1-in-televisuals-2021-commercials-30-survey

## VEX: Point Pitch, Yaw, Roll

matrix3 m = maketransform(@N,@up);@orient = quaternion(m); vector4 pitch = quaternion({1,0,0}ch(‘pitch’)); vector4 yaw = quaternion({0,1,0}ch(‘yaw’));vector4 roll = quaternion({0,0,1}*ch(‘roll’)); @orient = qmultiply(@orient, pitch);@orient = qmultiply(@orient, yaw);@orient = qmultiply(@orient, roll);

## VEX: Rotation Around Axis

float angle = chf(“angle”); vector4 rot = quaternion(radians(angle), {1,0,0}); @N=qrotate(rot, @N);

## Python: Phyllotaxis

node = hou.pwd() geo = node.geometry() # Add code to modify contents of geo. # Use drop down menu to select examples. from math import radians, sqrt, sin, cos numpoints = 200 angle = 137.508 cval = 0.2 for i in range(numpoints): theta = radians (i * angle) x = cval * sqrt(i) * cos(theta) … Read More

## VEX: Phyllotaxis

int num = chi("num"); float height_ratio = chf("height_ratio"); float radius_ratio = chf("radius_ratio"); float scale_ratio = chf("scale_ratio"); float phi = radians(26.5);//(1 +sqrt(5)) / 300.0; float ang = 2 * $PI * (phi – 1) / phi; int step = chi("step"); for(int i=0; i<step; i++){ int pt = addpoint(0, set(0,0,0)); setpointattrib(0, "connect", pt, i); } for(int i=0; … Read More

## VEX: Matrix

Move to origin // Get center of the oject bounding box (centroid) vector min = {0, 0, 0}; vector max = {0, 0, 0}; getpointbbox(0, min, max); vector centroid = (max + min)/2.0; // Build and apply transformation matrix vector translate = centroid; vector rotate = {0,0,0}; vector scale = {1,1,1}; matrix xform = invert(maketransform(0, … Read More

## HScript: Copy Loops

Scripts: Simple fit01(rand(detail(“../foreach_begin1_metadata1”, iteration, 0)),0,2) Automatic number of inputs (fixed) fit01(rand(detail(“../foreach_begin1_metadata1”, iteration, 0)),0,(opninputs(“.”)-1))

## VEX: Cheat Sheet

VEX Wrangle cheat sheet from John Kunz: https://mrkunz.com/blog/08_22_2018_VEX_Wrangle_Cheat_Sheet.html