Home > matGeom > meshes3d > polyhedronMeanBreadth.m

polyhedronMeanBreadth

PURPOSE ^

POLYHEDRONMEANBREADTH Mean breadth of a convex polyhedron.

SYNOPSIS ^

function breadth = polyhedronMeanBreadth(vertices, edges, faces)

DESCRIPTION ^

POLYHEDRONMEANBREADTH Mean breadth of a convex polyhedron.

   BREADTH = polyhedronMeanBreadth(V, E, F)
   Return the mean breadth (average of polyhedron caliper diameter over
   all direction) of a convex polyhedron.

   The mean breadth is computed using the sum, over the edges of the
   polyhedron, of the edge dihedral angles multiplied by the edge length, 
   the final sum being divided by (4*PI).

   Note: the function assumes that the faces are correctly oriented. The
   face vertices should be indexed counter-clockwise when considering the
   supporting plane of the plane, with the outer normal oriented outwards
   of the polyhedron.

   Typical values for classical polyhedra are:
     cube side a               breadth = (3/2)*a
     cuboid sides a, b, c      breadth = (a+b+c)/2
     tetrahedron side a        breadth = 0.9123*a
     octaedron side a          beradth = 1.175*a
     dodecahedron, side a      breadth = 15*arctan(2)*a/(2*pi)
     icosaehdron, side a       breadth = 15*arcsin(2/3)*a/(2*pi)

   Example
   [v e f] = createCube;
   polyhedronMeanBreadth(v, e, f)
   ans = 
       1.5

   See also
   meshes3d, meshEdgeFaces, meshDihedralAngles, checkMeshAdjacentFaces
   trimeshMeanBreadth

   References
   Stoyan D., Kendall W.S., Mecke J. (1995) "Stochastic Geometry and its
       Applications", John Wiley and Sons, p. 26
   Ohser, J., Muescklich, F. (2000) "Statistical Analysis of
       Microstructures in Materials Sciences", John Wiley and Sons, p.352

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function breadth = polyhedronMeanBreadth(vertices, edges, faces)
0002 %POLYHEDRONMEANBREADTH Mean breadth of a convex polyhedron.
0003 %
0004 %   BREADTH = polyhedronMeanBreadth(V, E, F)
0005 %   Return the mean breadth (average of polyhedron caliper diameter over
0006 %   all direction) of a convex polyhedron.
0007 %
0008 %   The mean breadth is computed using the sum, over the edges of the
0009 %   polyhedron, of the edge dihedral angles multiplied by the edge length,
0010 %   the final sum being divided by (4*PI).
0011 %
0012 %   Note: the function assumes that the faces are correctly oriented. The
0013 %   face vertices should be indexed counter-clockwise when considering the
0014 %   supporting plane of the plane, with the outer normal oriented outwards
0015 %   of the polyhedron.
0016 %
0017 %   Typical values for classical polyhedra are:
0018 %     cube side a               breadth = (3/2)*a
0019 %     cuboid sides a, b, c      breadth = (a+b+c)/2
0020 %     tetrahedron side a        breadth = 0.9123*a
0021 %     octaedron side a          beradth = 1.175*a
0022 %     dodecahedron, side a      breadth = 15*arctan(2)*a/(2*pi)
0023 %     icosaehdron, side a       breadth = 15*arcsin(2/3)*a/(2*pi)
0024 %
0025 %   Example
0026 %   [v e f] = createCube;
0027 %   polyhedronMeanBreadth(v, e, f)
0028 %   ans =
0029 %       1.5
0030 %
0031 %   See also
0032 %   meshes3d, meshEdgeFaces, meshDihedralAngles, checkMeshAdjacentFaces
0033 %   trimeshMeanBreadth
0034 %
0035 %   References
0036 %   Stoyan D., Kendall W.S., Mecke J. (1995) "Stochastic Geometry and its
0037 %       Applications", John Wiley and Sons, p. 26
0038 %   Ohser, J., Muescklich, F. (2000) "Statistical Analysis of
0039 %       Microstructures in Materials Sciences", John Wiley and Sons, p.352
0040 
0041 % ------
0042 % Author: David Legland
0043 % e-mail: david.legland@inra.fr
0044 % Created: 2010-10-04,    using Matlab 7.9.0.529 (R2009b)
0045 % Copyright 2010 INRA - Cepia Software Platform.
0046 
0047 
0048 % compute dihedral angle of each edge
0049 alpha = meshDihedralAngles(vertices, edges, faces);
0050 
0051 % compute length of each edge
0052 lengths = meshEdgeLength(vertices, edges);
0053 
0054 % compute product of length by angles
0055 breadth = sum(alpha.*lengths)/(4*pi);

Generated on Wed 16-Feb-2022 15:10:47 by m2html © 2003-2019