Deintersecting spheres with Voronoi

calendar_today

21.04.2024

label

VEX

mouse

Houdini 18.0

Description

Deintersecting overlapping spheres by iteratively extending voronoi diagrams based on point scales.

1 Code

Point wrangle inside a SOP solver node:

C
        int nbs[] = neighbours(0, i@ptnum);

foreach(int nb; nbs){
    vector pos_nb = point(0, 'P', nb);
    float scale_nb = point(0, 'pscale', nb);
    float dist_nb = distance(v@P, pos_nb);
    vector dir_nb = normalize(v@P - pos_nb);
    if(dist_nb < (scale_nb + f@pscale)){
        v@P += dir_nb * 0.01;
    }
}
    
download

Downloads

link

Related articles

favorite

416

label

VEX

Attribute to match across inputs

favorite

25

label

VEX

Curves from Ramp Parameters

favorite

310

label

VEX

Sphere Packing / Dart Throwing Algorithm

favorite

366

label

VEX

Fitting Planes to Point Clouds

favorite

362

label

VEX

How to Analyze VEX Code

favorite

210

label

VEX

Monte Carlo Geometry Processing