LifeTally
Объём пересечения и объединения параллелепипедов
Каковы отдельные, общий и объединённый объёмы ваших двух параллелепипедов, параллельных координатным осям?
Введите нижние и верхние границы x, y и z каждого параллелепипеда. Получите два отдельных объёма, объём пересечения и объём пространства, покрытого хотя бы одним из них.
Ваши два параллелепипеда
Используйте одни взаимно перпендикулярные декартовы оси, одинаковый масштаб и единую единицу длины для обоих параллелепипедов. Рёбра должны быть параллельны осям. Вводите десятичные дроби, а не a/b. Для общего и объединённого объёмов нужны все двенадцать корректных границ.
Как получена оценка
Объём каждого параллелепипеда — произведение его протяжённостей по x, y и z. Общая протяжённость по каждой оси: max(0, меньшая верхняя граница − большая нижняя граница); их произведение даёт объём пересечения I. U = V_A + V_B − I. Если разделить пространство всеми заданными границами, в каждой прямоугольной объёмной ячейке принадлежность телам постоянна: общая ячейка дважды входит в V_A + V_B и один раз в I, поэтому U учитывает её объём один раз. Для отдельного объёма нужны шесть собственных корректных границ; для пересечения, объединения и статуса — все двенадцать, даже рядом с нулевым объёмом или раздельными интервалами. Точные десятичные дроби принятых числовых значений сравниваются, вычитаются, перемножаются и суммируются до конечного округления. Округлённые объёмы повторно не используются.
V_A = (Axmax − Axmin) × (Aymax − Aymin) × (Azmax − Azmin)
V_B = (Bxmax − Bxmin) × (Bymax − Bymin) × (Bzmax − Bzmin)
I = max(0, min(Axmax, Bxmax) − max(Axmin, Bxmin)) × max(0, min(Aymax, Bymax) − max(Aymin, Bymin)) × max(0, min(Azmax, Bzmax) − max(Azmin, Bzmin))
U = V_A + V_B − IТолько два заданных замкнутых прямоугольных параллелепипеда в евклидовом трёхмерном пространстве с общими осями. Равные границы задают допустимые предельные области нулевого объёма. Нулевой общий объём включает раздельные области, касание гранью, ребром или точкой и вырожденные области; это не доказывает отсутствие общих точек. Нет повёрнутых тел, произвольных многогранников или сеток, полых областей, отверстий, трёх и более объектов, объёма охватывающего ящика, площади поверхности, процента перекрытия, графика, 3D-визуализации, географии или землемерия. Нет перевода единиц, проверки измерений, оценки неопределённости, количества материала, прогноза упаковки/столкновения или гарантии физического размещения/безопасности. Точные отношения принятых чисел не доказывают свойства измеренных предметов.
OpenStax: объём прямоугольного тела и кубические единицы ↗OpenStax: пересечение, объединение и подсчёт конечных множеств ↗
CGAL: определение параллелепипеда с рёбрами вдоль осей ↗
CGAL: пересечение как общие точки ↗
Проверьте заполненный пример
Наш пример: A от (−2, 1, −1) до (4, 5, 2), поэтому 6×4×3 = 72. B от (1, −1, 0) до (6, 3, 4), поэтому 5×4×4 = 80. Общие протяжённости равны 3, 2 и 2, то есть I = 12. U = 72+80−12 = 140 кубических координатных единиц. Это математические координаты для примера, а не измеренные или рекомендуемые размеры.
Принятые исходные значения
- Параллелепипед A: нижняя граница x
- -2
- Параллелепипед A: нижняя граница y
- 1
- Параллелепипед A: нижняя граница z
- -1
- Параллелепипед A: верхняя граница x
- 4
- Параллелепипед A: верхняя граница y
- 5
- Параллелепипед A: верхняя граница z
- 2
- Параллелепипед B: нижняя граница x
- 1
- Параллелепипед B: нижняя граница y
- -1
- Параллелепипед B: нижняя граница z
- 0
- Параллелепипед B: верхняя граница x
- 6
- Параллелепипед B: верхняя граница y
- 3
- Параллелепипед B: верхняя граница z
- 4
Следующее действие
Для отдельных вычислений используйте стандартный калькулятор. Перед интерпретацией геометрических объёмов проверьте порядок границ, направление осей и согласованность единиц.
Открыть стандартный калькулятор →