How does Blender compute the vertex displacements during Proportional Editing?

I'm guessing it first searches for vertices within the user defined radius, then calculate somehow the weights for each of those found vertices based on degree of connectivity to the seed vertex or distance? Or does it use free form deformation approach?

A paper or reference would be helpful too.

  • 1
    $\begingroup$ The beauty of it is that Blender is actually open source, so you don't need any papers or references, all you need to do is consult the source code for the tool $\endgroup$ Jan 14, 2018 at 2:12

1 Answer 1


It calculates the distance between the element you are changing. If it is within the radius the user selects it will use a falloff that the user has selected.

Basically the values of the matrix of the transformation that the user is done is influences by the distance of the other elements. As you can see here.

Possible falloffs

enter image description here

Note: distance = 1 - (the actual distance/radius the user selected)

Constant: 1

enter image description here

Random: random between (0..1)

enter image description here

Linear: distance

enter image description here

Sharp: distance^2

enter image description here

Root: sqrt(distance)

enter image description here

Sphere: sqrt(distance*2 - distance^2)

enter image description here

Smooth: 3*(distance^2) - 2*(distance^3)

enter image description here

  • $\begingroup$ Should the distance calculation be distance = 1 - the actual distance / radius the user selected? $\endgroup$
    – Anu Sky
    Jan 15, 2018 at 1:31
  • $\begingroup$ 'Smooth: 3*(distance^2) - 2*(distance^3)' means it calculates the distance for each vert within the radius and moves the vert based on this equation? $\endgroup$
    – June Wang
    Dec 17, 2019 at 10:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .