[Bf-funboard] subdivide based on face size

Konrad Haenel public at konrad-haenel.de
Sat Oct 9 15:25:05 CEST 2004


Tom Musgrove wrote:

> It might be nice to have a subdivide that subdivided faces based on 
> relative face size.
>
> Perhaps loop through the mesh and calculate each faces area, find the 
> average face area, and then subdivide faces that are larger than the 
> average area by a certain percentage.
>
> Perhaps something along the following lines
>
> # face_area based on code from
> # http://astronomy.swin.edu.au/~pbourke/geometry/polyarea/source1.c
>
> face_area(f):
> area = 0.0
> num_verts = len(f.verts)
> for i in range(0, num_verts):
> j = (i+1) % num_verts
> i_th_vert = f.verts[i]
> j_th_vert = f.verts[j]
> area += i_th_vert[0]*j_th_vert[1]
> area += i_th_vert[1]*j_th_vert[0]
> area *= .5
> if area < 0:
> return (-1*area)
> else
> return area
>
> face_area_dict = {}
> average_area = 0.0
> for f in faceList:
> this_area = face_area(f)
> face_area_dict[f] = this_area
> average_area+=this_area
> average_area /= len(faceList)
>
> double_average_area = 2.0*average_area
> for f in faceList:
> temp_area = face_area_dict[f]
> if temp_area >= double_average_area:
> f.subdivide()
>
> Tom M.
> LetterRip
>
> _________________________________________________________________
> Don’t just search. Find. Check out the new MSN Search! 
> http://search.msn.click-url.com/go/onm00200636ave/direct/01/
>
> _______________________________________________
> Bf-funboard mailing list
> Bf-funboard at projects.blender.org
> http://projects.blender.org/mailman/listinfo/bf-funboard
>
Mhm, sounds very promising.


More information about the Bf-funboard mailing list