now fortunately this is no linear program.

It's not easy to, or efficient to compute.

So we approximate this by couple stepwise linear computations like this.

A little bit complicated, but luckily we have two parts.

Two passes.

So one is cover up, so left flow computes curvatures.

So we first computer curvatures which is a scale of values,

and then by blending or smoothing out we get target curvatures.

So as you see, originally curvature has many variations.

But by smoothing out, you get a more uniform target curvature values.

So we tried to obtain these curvature values.

And from these curvature values, multiplied by a

surface normal, you get target laplacian vertices, vectors.

So we try to obtain this lapracian vectors.

In parallel, we also compute edge lengths.

So free for us to compute current edge lengths.

And then we compute target edge lengths, by blending or smoothing out.

And then, multiply this target edge lengths with

current edge vectors, you get target edge vectors.

And by combining these target laplacian vectors and target edge

vectors, we solve earliest square problem and you updated geometry.

And the way you repeat multiple times, and then you get optimized smooth shape.