向量法计算体积的关键是把立体分解成锥体。
立体必须是由一系列有限平面多边形封闭而成的,可以使用多边形,但一定要是平面多边形。必须密封,如果不密封就会导致体积误差。
可取任意点为基准点(事实上二维空间计算平面多边形的面积也可以取任意点为基准点),立体每一表面上的平面多边形可与基准点组成一个锥体。
锥体的底面积可取多边形边线上一点(也可以取同平面上任意点,但取边线点比较方便),与边线上每一线段分别组成三角形,所有三角形的面积之和为底面积。
空间三角形面积为向量叉积的一半,它同样也是个向量。如果边数多于3,则这个多边形面积为各子三角形面积的向量和(支持单一闭环的凹或凸多边形,但不支持多环多边形。多环多边形需要对每一个环分别计算面积)。
锥体体积为面积向量与棱向量的点积除以3。
若基点在底面的内部(或超过内部的外部或多次穿越后的内、外部)一侧,则体积为正,若基点在底面的外部(或重新进入内部的内部或多次穿越后的内、外部)一侧,则体积为负。
将所有棱锥体积相加,其代数和为空间立体图形的体积。