Для объема ...
Для каждого треугольного фасета ищите его угловые точки. Позвоните им P, Q, R.
Вычислите это количество (я называю это «частичным объемом»)
pv = PxQyRz + PyQzRx + PzQxRy - PxQzRy - PyQxRz - PzQyRx
Сложите их для всех аспектов и разделите на 6.
Внимание! P, Q, R для каждой грани должны быть расположены по часовой стрелке, если смотреть снаружи. (Или все против часовой стрелки, если оно согласовано для всех аспектов.)
Если сетка имеет какие-либо четырехугольники, просто временно галлюцинируйте диагональ, соединяющую одну пару противоположных углов. Это превращает его в два треугольника.
Практическое усовершенствование вычислений: перед выполнением математических операций с P, Q и R вычтите координаты некоторой "центральной" точки C. Это может быть центр масс, средняя точка между min / max x, y и z или любая удобная точка внутри или рядом с сеткой. Это помогает минимизировать ошибки усечения для более точных томов.