ObjectVolume
Calculates Volume, Surface Area & Centroid of a Closed Triangular Mesh
The ObjectVolume program calculates the volume, surface area and centroid of a closed triangular mesh represented in an object file (.obj). The process goes through the list of triangles that make up the surface and, for each triangle, forms a tetrahedron with an external point. The program uses the origin (0,0,0). The volume of the tetrahedron is then calculated. Tetrahedrons with back facing triangles are added and those with forward facing triangles are subtracted yielding the object volume.
A detailed description of the process is presented in the ObjectVolumeTutorial.doc document as well as program logic and results.
A key component in the program is a subroutine that calculates the volume of a tetrahedron. Four sets of equations were tested and to my surprise all four produced similar results in accuracy and timing.