Archived post by SniperJake945

One thing I neglected to mention in that post is xyzdist and mindist both require primitives in the geo stream you’re looking up

So they aren’t totally apples to apples with nearpoints/pcfind

okay i couldnt help myself, but here’s single pass random overlapping dots “`c #include #include
vector dots(vector2 uv_in; vector2 freq; float rand_position, rand_scaling, rand_exp, dot_sharpness, alpha_out){ vector2 uv = uv_in; uv *= freq; vector2 iuv = floor(uv); vector2 grid = frac(uv); float alpha = 0; vector color = 0; float sharpness = fit(dot_sharpness, 0, 1, .5, 1); for(int i = -1; i <= 1; i++) for(int j = -1; j <= 1; j++){ vector2 nb_pixel = set(i, j); vector2 nb_offset = vector2(rand(iuv + nb_pixel + 324)) * clamp(rand_position, 0, 1); //random positional offsetting vector nb_color = vector(rand(iuv + nb_pixel + 64)); float nb_dot_size = pow(fit01(rand(iuv + nb_pixel), max(1 - rand_scaling,0), 1), rand_exp); //random scaling float nb_dots = length(nb_pixel + nb_offset - grid) - nb_dot_size; nb_dots = -min(0.0, nb_dots / nb_dot_size); //convert from distance field to dot nb_dots = smooth(1. - sharpness, sharpness, nb_dots); //sharpening the dots vop_composite("AoverB", color, alpha, nb_color * nb_dots, nb_dots, color, alpha); } alpha_out = alpha; return color; } vector2 uv = set(v@uv.x,v@uv.y); float sharpness = ch(“sharpness”); vector2 freq = chu(“dot_freq”); float random_dot_scaling = ch(“rand_scaling”); float random_exponent = ch(“rand_exponent”); vector2 offset = vector2(chu(“offset”)); float rand_offset = ch(“rand_dot_offset”); float dots_alpha; vector random_dots = dots(uv + offset / freq, freq, rand_offset, random_dot_scaling, random_exponent, sharpness, dots_alpha);
/* comp dots over incoming color*/ float alpha_out = 0; vop_composite(“AoverB”, v@Cd, alpha_out, random_dots, dots_alpha, v@Cd, 1); “`

Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20224804/14/22/unknown.png

Archived post by eetu

I needed again to get an axis-aligned Largest Interior Rectangle, and @jake rice 😮 earlier solution didn’t cut it (too much obvious failure cases, even with @CoskuTurhan modifications), so I did a new one from scratch. It’s based on this algorithm (without the outline optimizations) github.com/lukasalexanderweber/lir

I started with a more-nodes-less-vex approach, so it’s a bit of a weird combination. But seems to work 😉

Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20224903/28/22/ee_largest_interior_rectangle.hip

Archived post by JeffLMnT

Hahaha this is a direct copy of the answer Omar gave me when I asked the chances of overshoot when intégrating that function
As for a question whether it will overshoot, It will not as it uses an exponential integrator with the assumption that p and A are static through the timestep: `A(t) = G + (A(0) – G) * e^(-pt)` the pull operation ends up evaluating the `A(t)` `A(0)` would be the current value of the field `G` is the current value of the source `p` is the strength Finally, `t` we are evaluating at is `TimeInc` For `t>0` and `p>0` (which is certainly the case), we can see that `0 < e^(-pt) < 1` , which entails that A(t) will be between A(0) and G

Archived post by Dave Stewart

Had a little time this eve to fix some shit and add standard collisions back in

Tidied it up if anyone wants to have a play, probably better ways to set this up but it’s not horribly convoluted (at least by my questionable standards 😂 )

Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20224301/12/22/DStewart_FLIP_WindTunnel_FromSmokeSolver_08.mp4
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20224301/12/22/DStewart_FLIP_WindTunnel_FromSmokeSolver_08.hip