[Bf-committers] Bevel function

Alexander Ewering bf-committers@blender.org
Mon, 8 Dec 2003 13:51:37 +0100 (CET)

On Mon, 8 Dec 2003, Laurence Bourn wrote:

> Fantastic algorithm and a nice clear description - thanks.
> I have not reviewed your implementation so the following is just based on the above text.
> Maybe you have missed a few steps out for clarity? It seems to me that the above algorithm will always introduce new polygons even if the input polygons are coplanar. The bevel polygons between the coplanar region are just flat and add nothing.
> One way to get round this is to restrict your searching for interesting edges (Step 2) to edges whose polygons are greater than some angle. (Blender draws these feature edges iif you use wire-frame rendering in object mode). 
> Since you are now only bevelling specific edges, you will also have to modify the shrink function (Step 4) to only move vertices from those edges in the plane of the polygon and perpendicular to the edge.

Very well observed and thought, this is indeed right. It also
creates bevels for coplanar faces, which is not really a problem,
but creates 'useless' geometry.
Indeed, an additional check for angles between faces to see if
they should get a bevel had been planned and will probably be added
with the help of theeth :) - the problem about just shrinking "some"
edges of faces (which would appear now) is not solved yet mathematically.

This would have several other advantages too. For example, if you
currently bevel a cylinder (well, you wouldn't ever do a cylinder with
a mesh anyway, but well!), all the "almost-flat" faces on the "side"
of the cylinder get little bevel faces between them as well (at maybe
an angle of 3 degrees), and this inhibits correct smoothing.

So, if you know something about the math, why don't you help
reviewing it :)

| alexander ewering               instinctive new media
| ae[@]instinctive[.]de   http://www[.]instinctive[.]de