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
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);