[Bf-committers] smoothing-relaxation report

raulf at info.upr.edu.cu raulf at info.upr.edu.cu
Mon Dec 27 23:03:49 CET 2010

Hi all :)

 This end of the year /new year will be full of surprises and good news
... I hope that. ;)

  Regarding Unlimited clay I have very good news and also a new surprise
development in particles simulation field ... but sorry, you will have
to wait a bit more for that ;) I have a very low bandwith and in order
to upload a new video I have to do wonders to shrink and split it in
dozens of parts and send it by email to my friend Lapinou ... so new
videos are staking here :(

 Is now the turn of the test smoothing/relaxation algorithm I have being
developing last week:

Blender currently have implemented three smoothing/relaxation algorithms
(not counting the subdivission surfaces because it changes topology but
the output of that algorithm is also a smooth surface) the smooth vertex
editmesh tool, the relax addon and the UV Minimize stretch tool.

 I want to point out that there´s not the ideal relaxation algorithm valid
for every object, every relaxation scheme has advantages and
disadvantages over others and are more or less suited for the task.

 The smooth vert algorithm is an all around average solution, is called
laplacian relaxation in the field and while is a very stable method it
suffer from an exesive shrinkage effects of the shapes.
 The relax addon try to solve the shrinkage issue and is very good on
that, but is somehow slower since is based on shrinkwrap and laplacian

 the UV minimize stretch tool perform a different relaxation: is based on
smoothing angles, not edges, and while is very useful for many cases, is
not valid for others (see my test video).

 Currently I have implemented four algorithms more (eventually I will only
stay with two of them only)

 1) edge - spring relaxation: it acts push/pulling verts of the mesh based
on elastic forces , very good on retaining original shape much with no
shrinkage, is very similar to other cases but have some ill outputs.

 2) revised ideal length relaxation: is very similar to the spring
relaxation and acts in a similar fashion, without many of the ill cases
that affect the former.

 3) revised laplacian relaxation: this one, since is based on the original
laplacian, is an all around good average solution but with zero shrinkage
and much more faster/cheaper than the relaxation addon since don´t have
to perform shrinkwrap evaluations.

 4) HC - relaxation: taken from the paper "Improved Laplacian Smoothing of
Noisy Surface Meshes" this one again is based on the lalacian relaxation
with a shrinkage component but very small and needed in the
reconstruction cases, this algorithm is very good on smoothing and shape
retaining at the same time.

 all the previous algorithms has boundary/open mesh detection to avoid
shape deformation but again that is an optional user feature. In general,
every smoothing algorithm perform a tradeoff between smoothing and shape
retention: the more shape maintain the less smooth and vice versa, the
first three are aimed to shape retention, while the fourth is aimed in
the middle, to retain shape and to smooth at the same time.

 I have made a new video test, this time with a wider batery tests and all
the smoothing algoritms, since I haven´t implemented yet for UV I
replicate a mesh with a Suzanne´s UV to get an idea of how it may work.
please be a little patient since this may take me very long to upload.

All the best

More information about the Bf-committers mailing list