Morphing Meshes with Conformal Maps

calendar_today

11.10.2025

label

Modeling

mouse

Houdini 21

Description

Smoothly blending mesh surfaces by interpolating corresponding surface positions via conformal parameterizations.

1 Process

The procedure parameterizes both mesh surfaces by solving the Poisson equation with the attribute fill node. The resulting conformal maps are then matched to look up corresponding surface positions, which are stored as attributes. These positions are then linearly interpolated to smoothly blend the surfaces.

2 Code

A point wrangle for point-to-surface correspondence lookup using the conformal maps. It retrieves the map with vertex(), then uses uvdist() to query the target surface and primuv() to sample the exact target surface position pos_1. This target position is then stored in v@pos_1, making it ready for linear blending.

C
        vector map = vertex(0, 'map', i@vtxnum);

int pr;
vector st;
uvdist(1, 'map', map, pr, st);

vector pos_1 = primuv(1, 'P', pr, st);

v@pos_1 = pos_1;
    

This deformation wrangle uses the lerp function to linearly interpolate the point's current position with the target position v@pos_1, controlled by the blend ratio parameter f@bias.

C
        float bias = chf('bias');

pos = lerp(pos, v@pos_1, bias);
    
download

Downloads

link

Related articles

favorite

150

label

Modeling

Adaptive Resampling of Curves

favorite

301

label

Modeling

Applying Scales to Mesh Surfaces

favorite

247

label

Modeling

Approximating subdivision surfaces

favorite

199

label

Modeling

Blending COPs SDFs into 3D Volume

favorite

291

label

Modeling

Branching Subdivision Curves

favorite

143

label

Modeling

Circuit Networks