Computes the surface area and the enclosed volume of a surface mesh enclosing some 3D space.
in | Mesh[+Node_Data] | input field with trianglar or quad 3D cell sets |
conversion | Spatial units coordinate space conversion factor, default = 1.0 |
area | Float | resulting surface area value in units **2 |
volume | Float | resulting enclosed volume value in units **3 |
This module accepts a geometry mesh of triangle or quad cell sets and outputs the object's volume and surface area. The input is assumed to be a 3D connected mesh enclosing some single volume, where the triangle or quad cells define the surface boundary of the area. This is typical of the isosurface module or isovolume followed by external faces. If the area does not enclose a single volume, then the volume calculations may be incorrect, however the surface area calculation always should report the overall surface area described by the input mesh shape. If the geometric units defining the object are not the desired units, then a conversion factor can be entered, for instance to convert feet to meters. The internal volume of the shape is computed using Gauss' Theorem, rather than by explicitly looking at all cells in the interior. The module will report an error if anything other than linear triangle or quad cell sets are connected. The local Mesh Xform transformation matrix is applied to all coordinates prior to area and volume computation, so if the object is scaled this will be reflected in the resulting computation.
This module uses a form of Gauss' Theorem, or Greens' Theorem in Space. This allows a direct computation of the volume enclosed by a single valued continuous closed surface. All surface normals must point "outwards" for this operation to be correct. See notes section for details. The output of external faces may be used under special circumstances, such as for the simple one-cell test cases. If the enclosed volume can be assumed to contain homogeneous material of unit density, then the volume integral will also equal the mass. This module does not attempt to integrate node data, it only operates on the geometric mesh information.
This module is a re-implementation of work described in the paper:
"Quantitative Analysis of Reconstructed Rodent Embryos" Andy R. Haas, Richard A. Strelitz, William S. Branham, Daniel M. Sheehan, R.O.W Sciences Inc., and Division of Reproductive and Developmental Toxicology, National Center for Toxicological Research, Jefferson Arkansas. The paper was presented at the International AVS User and Developer Conference, April 1995, Boston Mass, appearing in the proceedings on page 263.
The original AVS5 module "compute volume" described in the paper is
also available at the International AVS centre web site at:
http://www.iavsc.org/repository/avs5/output.html#compute_volume
in
The input field for this module should be the direct output from isosurface or external_faces.
area, volume
The output scalar values are the result of the area and volume calculations on the input mesh.
An example application VolintegralEg is provided. The dataset water.fld that comes with AVS/Express is used. The values can be seen by float objects in the network editor. The surface mesh used to compute surface area and volume in this example is generated from the isosurface module.
This module makes some critical assumptions about the input triangle mesh. The surface must be closed. It must not self-intersect. All normals must point outwards. The surface must describe one connected volume. None of the triangles or quads can be hidden inside the enclosed volume, that is the interior must be empty. The surface is not restricted to a convex shape. Note that the "external faces" module cannot be relied apon to meet these conditions. If ANY of these assumptions are invalid, then the resulting numerical computation will be invalid.
Ian Curington, AVS Inc., derived from original AVS5 module by
Andy R. Haas R.O.W. Sciences National Center for Toxicological Research
Tobias Schiebeck, International AVS Centre
International AVS Centre Manchester Visualization Centre Manchester Computing University of Manchester Oxford Road Manchester United Kingdom M13 9PL