Часто в задачах школьного курса геометрии приходится решать задания, которые требуют использования комплексного подхода. Одной из таких задач является вычисление объема пирамиды по координатам вершин. Как решить эту геометрическую задачу – ответит приведенная ниже статья.
Что представляет собой пирамида?
Говоря простыми словами, под этой фигурой понимают пространственный объект, ограниченный треугольными сторонами и одной многоугольной гранью, которая называется основанием. Многоугольное основание может быть произвольным n-угольником на плоскости, например, правильным треугольником, параллелограммом и так далее.
Вам будет интересно:Какую роль играет репродуктивная клетка животных и растений?
Любая пирамида имеет n + 1 грань, 2 * n ребер и n + 1 вершину. Вершины фигуры не являются равноправными. Так, существует единственная вершина, которая не принадлежит основанию. Она называется главной. Расстояние от нее до плоскости основания – это высота фигуры.
Пирамиды могут быть наклонными, если высота пересекает основание не в его центре, или прямыми, когда высота с основанием пересекается в геометрическом центре последнего. Также фигуры могут быть неправильными и правильными. Пирамиды правильные состоят из равноугольного и равностороннего основания и нескольких равнобедренных треугольников, которые друг другу равны.
Как рассчитывается объем пирамиды?
Прежде чем приводить методику вычисления по координатам вершин объема пирамиды, следует привести формулу, при помощи которой можно рассчитать эту величину для фигуры любого типа из рассматриваемого класса. Итак, объем пирамиды рассчитывается так:
V = 1 / 3 * So * h.
Здесь So – это основания площадь, h – расстояние от главной вершины до основания, то есть высота пирамиды.
Таким образом, любая геометрическая задача на нахождение объема пирамиды сводится к расчету величин So и h.
Как найти объем пирамиды по координатам вершин: методика
Пирамида может быть представлена произвольным n-угольным основанием. Чтобы рассчитать его площадь, следует внимательно изучить условие задачи, в котором должно быть сказано, о каком типе n-угольника идет речь. Если это треугольник или параллелограмм, то расчет его площади по известным координатам очень прост: необходимо лишь найти векторное произведение соответствующих векторов сторон.
Вычислить высоту пирамиды также не представляет особого труда. Для этого следует из любых трех точек основания получить уравнение плоскости в общем виде, а затем нужно воспользоваться формулой расстояния между плоскостью и точкой (вершиной пирамиды). Формула имеет вид:
d = |(A * x1 + B * y1 + C * z1 + D)| / √(A2 + B2 + C2).
Здесь (x1; y1; z1) – координаты точки.
Уравнение плоскости имеет вид:
A * x + B * y + C * z + D = 0.
Задача с треугольной пирамидой
Решим задачу на примере самой простой пирамиды – треугольной. Условие простое: ниже даны координаты вершин пирамиды, объем найти нужно для фигуры, которая на этих координатах построена:
- A(1; 0; 3);
- B(0; 2; -1);
- C(3; 3; 1);
- D(4; 3; 4).
Положим, что основание пирамиды является треугольником ABC. Найдем длины векторов AB¯ и AC¯:
AB¯ = (-1; 2; -4);
AC¯ = (2; 3; -2).
Векторное произведение AB¯ и AC¯ даст нам, с одной стороны, двойную площадь треугольника, то есть 2 * So, а с другой стороны, мы получим координаты нормального к плоскости вектора n¯, имеем:
n¯ = [AB¯ * AC¯] = (8; -10; -7).
Площадь треугольного основания равна полудлине вектора n¯, то есть:
So = √(82 + 102 + 72) / 2 = 7,3.
Прежде чем рассчитывать расстояние от D до плоскости ABC, необходимо записать уравнение плоскости. Три его коэффициента (A, B, C) мы уже знаем, они соответствуют координатам нормали n¯. Свободный член можно получить, подставив в уравнение координаты любой точки плоскости, например точки A, имеем:
D = -1 * (A * x1 + B * y1 + C * z1) = -1 * (8 * 1 + (-10) * 0 + (-7) * 3) = 13.
Тогда уравнение плоскости основания пирамиды принимает форму:
8 * x – 10 * y – 7 * z + 13 = 0.
Теперь применяем приведенную выше формулу для расчета расстояния от точки D(4; 3; 4) до найденной плоскости, получаем:
d = |(8 * 4 – 10 * 3 – 7 * 4 + 13)| / √(82 + 102 + 72) = 0,89.
Поскольку найденное значение расстояния d соответствует высоте пирамиды треугольной h, то можно воспользоваться формулой для объема фигуры:
V = 1 / 3 * So * h = 1 / 3 * 7,3 * 0,89 ≈ 2,166.
Полученное значение объема выражено в кубических единицах выбранной координатной системы.
Объем пирамиды
Если заданы координаты точек вершин пирамиды, то координаты векторов находятся по формуле:
X = xj – xi; Y = yj – yi; Z = zj – zi
где xi, yi, zi – координаты точки Аi; xj, yj, zj – координаты точки Аj;
Пример №2 . Найти объем пирамиды, отсекаемой от угла плоскостью, проходящей через точки А(0,2,-1), В(3,4,2), С(-3,0,4).
Онлайн калькулятор. Объем пирамиды (объем тетраэдра) построенной на векторах.
Этот онлайн калькулятор позволит вам очень просто найти объем пирамиды или объем тетраэдра построенных на векторах.
Воспользовавшись онлайн калькулятором, вы получите детальное решение вашей задачи, которое позволит понять алгоритм решения задач на вычисление объема пирамиды построенной на векторах и закрепить пройденый материал.
Калькулятор для вычисления объема пирамиды (объема тетраэдра) построенной на векторах
Выберите каким образом задается пирамида (тетраэдр):
Введите значения векторов: Введите координаты вершин пирамиды:
Инструкция использования калькулятора для вычисления объема пирамиды (объема тетраэдра) построенной на векторах
Ввод данных в калькулятор для вычисления объема пирамиды (объема тетраэдра) построенной на векторах
В онлайн калькулятор вводить можно числа или дроби. Более подробно читайте в правилах ввода чисел.
Дополнительные возможности калькулятора вычисления объема пирамиды (объема тетраэдра) построенной на векторах
- Между полями для ввода можно перемещаться нажимая клавиши “влево” и “вправо” на клавиатуре.
Теория. Объем пирамиды (объем тетраэдра) построенной на векторах
Определение Объем пирамиды (объем тетраэдра) построенной на векторах a , b и c равен шестой части модуля смешанного произведения векторов составляющих пирамиду:
Вводить можно числа или дроби (-2.4, 5/7, . ). Более подробно читайте в правилах ввода чисел.
Любые нецензурные комментарии будут удалены, а их авторы занесены в черный список!
Добро пожаловать на OnlineMSchool.
Меня зовут Довжик Михаил Викторович. Я владелец и автор этого сайта, мною написан весь теоретический материал, а также разработаны онлайн упражнения и калькуляторы, которыми Вы можете воспользоваться для изучения математики.
Как рассчитать объем пирамиды по координатам вершин? Методика и пример задачи
Часто в задачах школьного курса геометрии приходится решать задания, которые требуют использования комплексного подхода. Одной из таких задач является вычисление объема пирамиды по координатам вершин. Как решить эту геометрическую задачу – ответит приведенная ниже статья.
Что представляет собой пирамида?
Говоря простыми словами, под этой фигурой понимают пространственный объект, ограниченный треугольными сторонами и одной многоугольной гранью, которая называется основанием. Многоугольное основание может быть произвольным n-угольником на плоскости, например, правильным треугольником, параллелограммом и так далее.
Вам будет интересно: Какую роль играет репродуктивная клетка животных и растений?
Любая пирамида имеет n + 1 грань, 2 * n ребер и n + 1 вершину. Вершины фигуры не являются равноправными. Так, существует единственная вершина, которая не принадлежит основанию. Она называется главной. Расстояние от нее до плоскости основания – это высота фигуры.
Пирамиды могут быть наклонными, если высота пересекает основание не в его центре, или прямыми, когда высота с основанием пересекается в геометрическом центре последнего. Также фигуры могут быть неправильными и правильными. Пирамиды правильные состоят из равноугольного и равностороннего основания и нескольких равнобедренных треугольников, которые друг другу равны.
Как рассчитывается объем пирамиды?
Прежде чем приводить методику вычисления по координатам вершин объема пирамиды, следует привести формулу, при помощи которой можно рассчитать эту величину для фигуры любого типа из рассматриваемого класса. Итак, объем пирамиды рассчитывается так:
Здесь So – это основания площадь, h – расстояние от главной вершины до основания, то есть высота пирамиды.
Таким образом, любая геометрическая задача на нахождение объема пирамиды сводится к расчету величин So и h.
Как найти объем пирамиды по координатам вершин: методика
Пирамида может быть представлена произвольным n-угольным основанием. Чтобы рассчитать его площадь, следует внимательно изучить условие задачи, в котором должно быть сказано, о каком типе n-угольника идет речь. Если это треугольник или параллелограмм, то расчет его площади по известным координатам очень прост: необходимо лишь найти векторное произведение соответствующих векторов сторон.
Вычислить высоту пирамиды также не представляет особого труда. Для этого следует из любых трех точек основания получить уравнение плоскости в общем виде, а затем нужно воспользоваться формулой расстояния между плоскостью и точкой (вершиной пирамиды). Формула имеет вид:
d = |(A * x1 + B * y1 + C * z1 + D)| / √(A2 + B2 + C2).
Здесь (x1; y1; z1) – координаты точки.
Уравнение плоскости имеет вид:
A * x + B * y + C * z + D = 0.
Задача с треугольной пирамидой
Решим задачу на примере самой простой пирамиды – треугольной. Условие простое: ниже даны координаты вершин пирамиды, объем найти нужно для фигуры, которая на этих координатах построена:
Положим, что основание пирамиды является треугольником ABC. Найдем длины векторов AB¯ и AC¯:
Векторное произведение AB¯ и AC¯ даст нам, с одной стороны, двойную площадь треугольника, то есть 2 * So, а с другой стороны, мы получим координаты нормального к плоскости вектора n¯, имеем:
n¯ = [AB¯ * AC¯] = (8; -10; -7).
Площадь треугольного основания равна полудлине вектора n¯, то есть:
So = √(82 + 102 + 72) / 2 = 7,3.
Прежде чем рассчитывать расстояние от D до плоскости ABC, необходимо записать уравнение плоскости. Три его коэффициента (A, B, C) мы уже знаем, они соответствуют координатам нормали n¯. Свободный член можно получить, подставив в уравнение координаты любой точки плоскости, например точки A, имеем:
D = -1 * (A * x1 + B * y1 + C * z1) = -1 * (8 * 1 + (-10) * 0 + (-7) * 3) = 13.
Тогда уравнение плоскости основания пирамиды принимает форму:
8 * x – 10 * y – 7 * z + 13 = 0.
Теперь применяем приведенную выше формулу для расчета расстояния от точки D(4; 3; 4) до найденной плоскости, получаем:
d = |(8 * 4 – 10 * 3 – 7 * 4 + 13)| / √(82 + 102 + 72) = 0,89.
Поскольку найденное значение расстояния d соответствует высоте пирамиды треугольной h, то можно воспользоваться формулой для объема фигуры:
V = 1 / 3 * So * h = 1 / 3 * 7,3 * 0,89 ≈ 2,166.
Полученное значение объема выражено в кубических единицах выбранной координатной системы.
[spoiler title=”источники:”]
http://ru.onlinemschool.com/math/assistance/vector/pyramid_volume/
http://1ku.ru/obrazovanie/51574-kak-rasschitat-obem-piramidy-po-koordinatam-vershin-metodika-i-primer-zadachi/
[/spoiler]
Вычисление площадей многоугольников и объемов многогранников, заданных координатами своих вершин в прямоугольной системе координат, основывается на использовании скалярного, векторного и смешанного произведений векторов.
Если параллелограмм задан в пространстве координатами своих вершин, то для вычисления его площади нужно найти координаты двух векторов, соответствующих смежным сторонам параллелограмма, а затем модуль их векторного произведения. Аналогично вычисляется площадь треугольника, равная половине модуля векторного произведения векторов, на которых он построен как на смежных сторонах.
Пример 4.2. Пусть три вершины треугольника заданы своими координатами: A(4;4;4), B(1; 2; 3), C(3; —1;2).
Для определения площади ΔABC с помощью (4.10) найдем координаты векторов AB и AC: AB = {1 — 4; 2 — 4; 3 — 4} = { — 3; —2; —1}, —1 = {3 — 4; —1 — 4; 2 — 4} = { — 1; —5; —2}.
Затем по (3.2) вычислим их векторное произведение:
Модуль этого векторного произведения равен |AB×AC| = √((—1)2 + (—5)2 + 132) = √195, и следовательно, S ΔABC = |AB×AC|/2 = √195/2 #
Для вычисления объема параллелепипеда, заданного координатами своих вершин, нужно найти координаты трех векторов, соответствующих смежным ребрам, а затем вычислить модуль смешанного произведения этих векторов. Через смешанное произведение вычисляется и объем произвольной треугольной пирамиды SABC (см. пример 3.2), поскольку он равен 1/6 объема параллелепипеда, построенного на ребрах AB, AC и AS. Таким образом, объем этой пирамиды равен VSABC = |ABACAS|/6.
Пример 4.3. Найдем объем V пирамиды SABC, заданной координатами своих вершин: A(2; —1;1), B(5; 5; 4), C(3; 2; —1), S(4;1;3).
Используя (4.10), вычисляем координаты векторов, направленных по ребрам пирамиды: AB = {5 — 2; 5 — (—1);4 — 1} = {3; 6; 3}, AC = {3 — 2; 2 — (—1); —1 — 1} = {1;3; —2},= AS {4 — 2;1 — (—1); 3 — 1} = {2;2;2}, и определяем объем с помощью смешанного произведения найденных векторов:
План урока:
Вычисление объема тела с помощью интеграла
Вычисление объема тел вращения
Объем наклонной призмы
Объем пирамиды
Объем конуса
Объем шара
Шаровой сегмент
Площадь сферы
Вычисление объема тела с помощью интеграла
Пусть у нас есть произвольная фигура, расположенная между двумя параллельными плоскостями:
Как найти ее объем? Поступим следующим образом. Проведем прямую, перпендикулярную этим плоскостям. Эта прямая будет осью координат х. Пусть одна из плоскостей пересекает эту ось в точке а, а другая – в точке b. Таким образом, на координатной прямой появляется отрезок [a; b]. Далее разобьем этот отрезок на n равных отрезков, длина каждого из них будет равна величина ∆х. Обозначим концы этих отрезков как х0, х1, х2…, хn, причем точке х0 будет совпадать с точкой а, а точка хn – с точкой b. Ниже показано такое построение для n = 10:
Далее через полученные точки проведем сечения, параллельные двум плоскостям, ограничивающим фигуру. Площадь сечения, проходящую через точку с номером i, обозначим как S(xi). Эти плоскости рассекут тело на n других тел. Обозначим объем тела, заключенного между сечениями с площадями S(xi) и S(xi+1) как V(xi). Можно приближенно считать, что эти тела имеют форму прямых цилиндров (напомним, что в общем случае цилиндром необязательно считается фигура, основанием которой является круг, основание может иметь и любую другую форму). Высота всех этих цилиндров будет равна величине ∆х. Тогда объем V(xi) может быть приближенно рассчитан так:
Общий же объем исследуемой фигуры будет суммой объемов этих прямых цилиндров:
Здесь знак ∑ означает сумму i слагаемых, каждое из которых равно величине S(xi)•∆х. Ясно, что чем больше мы возьмем число n, тем точнее будет полученная нами формула. Поэтому будет увеличивать число n до бесконечности, тогда приближенная формула станет точной:
В правой части стоит предел суммы бесконечного числа слагаемых. Мы уже сталкивались с такими пределами, когда изучали определенный интеграл в курсе алгебры. Так как х0 = a, а число хn-1 при бесконечном увеличении n приближается к числу хn, то есть к b, то можно записать следующее:
Здесь S(x) – это некоторая функция, которая устанавливает зависимость между площадью сечения объемной фигуры и координатой х, указывающей расположение этого сечения. Данная формула позволяет вычислять объем с помощью интеграла.
Итак, для вычисления объема тела необходимо:
1) выбрать в пространстве какую-то удобную ось координат Ох;
2) найти площадь произвольного сечения фигуры, проходящей перпендикулярно оси Ох через некоторую координату х;
3) найти значение чисел а и b – координат сечений, ограничивающих тело в пространстве;
4) выполнить интегрирование.
Понятно, что сразу понять, как используется эта формула, тяжело. Поэтому рассмотрим простой пример.
Задание. Фигура расположена в пространстве между двумя плоскостями, перпендикулярными оси Ох, причем координаты этих сечений равны 1 и 2. Каждое сечение фигуры с координатой х является квадратом, причем его сторона равна величине 1/х. Найдите объем тела.
Решение. В данной задаче ось Ох уже проведена. Известны и числа а и b – это 1 и 2, ведь именно плоскости, проходящие через точки х =1 и х = 2, ограничивают исследуемое тело. Теперь найдем площадь произвольного сечения с координатой х. Так как оно является квадратом со стороной 1/х, то его площадь будет квадратом этой стороны:
Вычисление объема тел вращения
Телом вращения называют тело, которое может быть получено вращением какой-то плоской фигуры относительно некоторой оси вращения. Например, цилиндр получают вращением прямоугольника вокруг одной из его сторон, а усеченный конус – вращением прямоугольной трапеции вокруг боковой стороны, перпендикулярной основанию.
В задачах на вычисление объемов таких тел ось координат Ох уже задана естественным образом – это ось вращения тела. Ясно, что каждое сечение тела, перпендикулярное оси вращения, будет являться кругом.
Рассмотрим случай, когда вокруг оси Ох поворачивают график некоторой функции у = f(x), ограниченный прямыми х = а и у = b. Тогда получится тело, сечениями которого являются круги, причем их радиусы будут равны величине f(x). Напомним, что площадь круга вычисляют по формуле:
Рассмотрим, как на практике используется эта формула.
Задание. Объемное тело получено вращением ветви параболы
вокруг оси Ох. Оно ограничено плоскостями х = 0 и х = 4. Каков объем такой фигуры?
Решение. Здесь пределами интегрирования, то есть числами а и b, будут 0 и 4. Используем формулу для тела вращения:
Объем наклонной призмы
Теперь, используя методы интегрирования, мы можем составить формулы для вычисления объема некоторых фигур. Начнем с треугольной наклонной призмы.
Пусть есть треугольная призма АВСА2В2С2. Проведем ось Ох так, чтобы точка О располагалась в плоскости АВС. Пусть Ох пересечет плоскость А2В2С2 в некоторой точке О2. Тогда отрезок ОО2 будет высотой призмы, ведь он окажется перпендикулярным к обоим основаниям.
Обозначим длину высоты ОО2 буквой h. Далее докажем, что всякое сечение А1В1С1 призмы, перпендикулярное оси Ох, будет равно ∆АВС. Действительно, если АВС⊥ОО2 и А1В1С1⊥ОО2, то АВС||А1В1С1. Прямые АВ и А1В1 принадлежат одной грани АВВ2А1, но не пересекаются, ведь они находятся в параллельных плоскостях. Аналогично АС||А1С1 и ВС||В1С1. Теперь посмотрим на четырехугольник АВВ1А1. АВ||A1В1 и АА1||ВВ1. Тогда АВВ1А1 по определению является параллелограммом. Это означает, что отрезки АВ и А1В1 одинаковы. Аналогично доказывается, что одинаковы отрезки АС и А1С1, а также ВС и В1С1. Но тогда одинаковы и ∆АВС и ∆А1В1С1.
Итак, площади всех сечений одинаковы и равны площади основания призмы. Обозначим ее как S. Так как S не зависит от координаты, то интегрирование будет выглядеть так:
Итак, объем треугольной наклонной призмы – это произведение площади ее основания на высоту. Теперь рассмотрим произвольную призму, в чьем основании находится n-угольник. Такой n-угольник можно разбить на треугольные призмы с общей высотой h и площадями оснований S1, S2, S3, …
Тогда площадь S основания всей призмы будет суммой этих чисел:
Задание. Основание призмы – это треугольник со сторонами 10, 10 и 12. Боковое ребро имеет длину 8 и образует с основанием угол в 60°. Вычислите объем призмы.
Решение. Пусть в основании призмы АВСА1В1С1 лежит ∆АВС со сторонами АВ = 12 и АС = ВС = 10. Его площадь можно найти разными способами, но быстрее всего применить формулу Герона. Сначала найдем полупериметр ∆АВС:
Далее надо найти высоту призмы. Опустим из точки В1 перпендикуляр В1О на плоскость АВС. Тогда в прямоугольном ∆ОВВ1 ∠В = 60° (по условию задачи и по определению угла между плоскостью и прямой). Зная длину бокового ребра ВВ1, найдем высоту ОВ1:
Объем пирамиды
Для начала рассмотрим треугольную пирамиду. Вершину пирамиды примем за начало координат точку О, а ось Ох проведем перпендикулярно основанию, причем ось будет направлена от вершины пирамиды к основанию.
Пусть ось Ох пересечет основание АВС в точке М. Тогда ОМ – это высота, чью длину мы обозначим как h.
Далее построим сечение А1В1С1, параллельное АВС. Это сечение пересечется с ОМ в точке ОМ1. Тогда ОМ1 – это координата х, характеризующая расположение сечения А1В1С1.
Осталось составить выражение для площади ∆А1В1С1. Так как АВ||A1B1, то ∠АВО и ∠А1В1О одинаковы как соответственные углы. Тогда у ∆АВО и ∆А1В1О есть два равных угла (ведь ∠АОВ у них общий), а потому эти треугольники подобны по первому признаку подобия. Это означает, что
Надо как-то найти значение коэффициента k, который, очевидно, как-то зависит от переменной х. Рассмотрим теперь ∆ОМВ и ∆ОМ1В1. Они прямоугольные, ведь ОМ перпендикулярен плоскостям этих треугольников. Также у них есть общий угол ∠ОВМ. Значит, они подобны, и поэтому
Итак, если пирамида имеет высоту h и площадь основания S, то объем пирамиды равен:
Выведенная нами формула справедлива для треугольной пирамиды. Однако если в основании пирамиды лежит произвольный многоугольник, то, разбив этот многоугольник на треугольники, мы разобьем и пирамиду на несколько треугольных пирамид. У них будет общая высота h и площади оснований S1, S2, S3…, которые в сумме составляют площадь многоугольника S.
Объем треугольных пирамид рассчитывается по выведенной нами формуле:
Задание. В основании пирамиды высотой 15 лежит квадрат со стороной 4. Вычислите ее объем.
Решение. Сначала находим площадь основания. Для этого надо сторону квадрата умножить саму на себя:
Задание. В кубе АВСDA1В1С1D1 отмечены точки Е и F – середины ребер ВС и CD соответственно. Во сколько раз объем пирамиды С1EFC меньше объема куба?
Решение. Обозначим длину ребра куба буквой а. Тогда его объем рассчитывается так:
Задание. Отрезок MN перпендикулярен плоскости пятиугольника АВСDE. Точка K, принадлежащая этой плоскости, делит отрезок MN в отношении 2:1. Во сколько раз объем пирамиды MABCDE больше объема пирамиды NABCDE?
Решение. Запишем формулы для объемов этих пирамид. При этом учтем, что MK – высота для MABCDE, а NK – это высота для NABCDE.
Далее рассмотрим такую фигуру, как усеченная пирамида. Ясно, что ее объем можно вычислить, если из объема исходной пирамиды вычесть объем отсеченной верхушки.
Снова рассмотрим пирамиду ОАВС, через которую проведено сечение А1В1С1, параллельное основанию.
Обозначим площадь нижнего основания пирамиды как S2, а площадь верхнего основания – как S1. Далее высоту усеченной пирамиды (отрезок ММ1) обозначим как h. Мы уже выяснили ранее, что основания АВС и А1В1С1 – это подобные треугольники, причем коэффициент их подобия k равен отношению высот ОМ и ОМ1. Тогда можно записать:
Далее используем основное свойство пропорции:
Далее числитель дроби мы раскладываем на множители, используя формулу разности кубов:
Задание. Основаниями усеченной пирамиды являются квадраты со сторонами 9 см и 5 см, а высота пирамиды составляет 6 см. Найдите ее объем.
Сначала вычислим площади оснований:
Объем конуса
Рассмотрим конус с высотой h и радиусом основания R. Совместим начало координат с вершиной конуса и направим ось Ох в сторону основания конуса. Тогда она пересечет основание в какой-то точке М c координатой h. Далее через точку М1 на оси Ох, имеющей координату х, проведем сечение, перпендикулярное оси Ох. Это сечение будет окружностью.
Также построим образующую ОА, которая будет проходить через сечение в точке А1. Теперь сравним ∆ОАМ и ∆ОА1М1. Они прямоугольные, и у них есть общий угол ∠АОМ. Это значит, что они подобны, и поэтому справедливо отношение:
Полученную формулу можно переписать в другом виде так, чтобы она содержала площадь основания, причем она будет похожа на аналогичную формулу для пирамиды:
Задание. Радиус конуса – 8 см, а его высота составляет 12 см. Определите его объем.
Решение. Здесь надо просто применить выведенную формулу:
Задание. В сосуде, имеющем форму перевернутого конуса, вода доходит до уровня, соответствующего 2/3 высоты сосуда. При этом ее объем составляет 192 мл. Каков объем всего сосуда?
Решение. В задаче фигурируют два конуса. Один из них – это сам сосуд, а второй – его часть, заполненная водой. При выведении формулы объема мы уже выяснили, что радиусы таких конусов пропорциональны их высотам:
Мы уже заметили, что формулы для объема пирамида и конуса идентичны. По сути, конус можно рассматривать как особый случай пирамиды, у которой в основании лежит не многоугольник, а окружность. Аналогично и усеченный конус можно считать особым случаем усеченной пирамиды, а поэтому для расчета его объема можно применять такую же формулу:
Задание. Вычислите объем усеченного конуса с высотой 9 и радиусами оснований 7 и 4.
Решение. Сначала находим площади оснований:
Объем шара
Пришло время разобраться и с таким телом, как шар. Здесь можно использовать тот же метод интегрирования, что и в случае с конусом и пирамидой. Но можно поступить и иначе – использовать выведенную нами для тел вращения формулу
Шар как раз является телом вращения. Он получается при вращении полуокружности вокруг диаметра, на который эта дуга опирается.
Напомним известное нам уравнение окружности, чей центр совпадает с началом координат:
Здесь надо уточнить, что если у получившейся функции впереди записан знак «+», то ее график соответствует полуокружности, находящейся над осью Ох. Если же используется знак «–», то получается уже нижняя полуокружность, расположенная под осью Ох:
В принципе мы можем поворачивать любую из этих полуокружностей вокруг Ох, но мы выберем верхнюю полуокружность. Заметим, что эта дуга начинается в точке х = – R и заканчивается в точке х = R, эти числа будут пределами интегрирования. Тогда объем шара равен:
Задание. Найдите объем шара с радиусом 6.
Решение. Подставляем радиус из условия в формулу:
Задание. В цилиндр вписан шар. Во сколько раз объем цилиндра больше объема такого шара?
Решение. Ясно, что так как шар вписан в цилиндр, то радиусы этих тел одинаковы. Обозначим этот радиус как R. Также ясно, что раз шар касается оснований цилиндра, то расстояние между ними (то есть высота цилиндра) равно двум радиусам шара:
Шаровой сегмент
Когда плоскость проходит через шар, она рассекает его на две фигуры, которые именуются шаровым сегментом. Если из центра шара О провести радиус ОА длиной R в направлении плоскости сечения, который перпендикулярен этой плоскости, то он пересечет ее какой-то точке В. Длину отрезка АВ называют высотой шарового сегмента и обозначают буквой h:
Ясно, что при этом отрезок ОВ – это расстояние от секущей плоскости (или от основания сегмента) до центра шара, причем этот отрезок имеет длину R –h.
Можно считать, что шаровой сегмент, как и шар, получается при вращении дуги окружности вокруг оси Ох. Однако если сам шар при этом ограничен плоскостями x = R и х = – R, то сегмент ограничен другими плоскостями: х = R и х = R – h. Это значит, что его объем можно вычислить с помощью интеграла также, как и объем шара, отличаться будет лишь нижний предел интегрирования:
Заметим, что шар можно рассматривать как шаровой сегмент, чья высота вдвое больше его радиуса. И действительно, если в выведенную формулу мы подставим значение h = 2R, то получим уже известную нам формулу объема шара.
Задание. Найдите объем шарового сегмента высотой 6, если он отсечен от шара радиусом 15.
Решение. Используем выведенную формулу:
Задание. Диаметр шара разделили на три равных отрезка. Через концы этих отрезков провели секущие плоскости, перпендикулярные диаметру. Чему равен объем тела, заключенного между этими двумя плоскостями (оно называется шаровым слоем), если радиус шара обозначен буквой R?
Решение. Ясно, что для вычисления объема шарового слоя достаточно вычесть из объема шара объемы двух шаровых сегментов, образующихся при проведении секущих плоскостей. Так как они разделили диаметр на три одинаковых отрезка, то высота этих сегментов будет в три раза меньше диаметра шара:
Площадь сферы
В предыдущих уроках мы уже узнали формулу для вычисления площади сферы, однако тогда мы ее не доказывали. Однако теперь мы можем ее доказать, используя формулу объема шара. Но сначала напомним саму формулу:
Впишем сферу в многогранник с n гранями. Ясно, что расстояние от граней этого многогранника до центра сферы равно радиусы сферы R. Далее построим пирамиды, чьи вершины находятся в центре сферы, а основания – это грани многогранника. Заметим, что такие пирамиды будут иметь одинаковые высоты длиной R.
Обозначим площади граней многогранника как S1, S2, S3,…Sn. Тогда объемы пирамид, построенных на этих гранях, вычисляются так:
Заметим, что в сумме эти объемы дают объем всего многогранника, а сумма площадей S1, S2, S3,…Sn – это площадь всей его поверхности. Тогда можно записать:
Теперь начнем неограниченно уменьшать размеры граней многогранника. Тогда число n будет расти, объем многогранника будет приближаться к объему шара, а площадь многогранника – к площади к сфере. Тогда и доказанное равенство можно будет записать так:
Задание. Необходимо изготовить закрытый сосуд с заранее заданным объемом V. Предлагается два варианта формы этого сосуда – шар и куб. Так как поверхность сосуда покрывается очень дорогой краской, то необходимо выбрать вариант с меньшей площадью поверхности. Какую форму для сосуда следует выбрать?
Решение. Обозначим радиус шара как R, а ребро куба как а. Тогда можно записать:
Теперь надо выяснить, какое из полученных значений больше. Для этого поделим площадь куба на площадь сферы. Если получится число, большее единицы, то площадь куба больше:
Получившееся число больше единицы, ведь 6 больше числа π, равного 3,1415926… Значит, и площадь куба больше, а потому необходимо выбрать сосуд, имеющий форму шара.
Ответ: шар.
Примечание. Более сложными математическими методами можно доказать, что если второй сосуд имеет не форму куба, а вообще любую форму, отличную от шара, то всё равно следует выбирать именно сосуд в форме шара. То есть из всех поверхностей, ограничивающих определенный объем, именно сфера имеет наименьшую площадь. Этот факт имеет и физическое следствие – капли дождя и мыльные пузыри стремятся принять форму шара, также как и любые жидкости, находящиеся в невесомости.
Итак, мы научились вычислять объемы таких тел, как конус, пирамида, шар, призма. Также помощью интегрирования можно находить объемы и ещё более сложных тел, если мы можем составить функцию, описывающую площадь их сечения.
Алгоритмы поиска объема и центра масс многогранника
Время на прочтение
6 мин
Количество просмотров 4.1K
Наверное, все знают этот алгоритм, но от меня «власти скрывали». Нашел его словесное описание на третьей странице поисковика в архиве автопереводов англоязычного форума. Мне кажется, его подробное описание (и с кодом) достойно хабростатьи.
Итак, например вам надо генерировать мобов для игрушки и где-то в процессе отсеивать тех, кто не стоит на ногах. Для этого нужно найти центр масс моба (а это почти то же самое, что найти его объем) и убедиться, что он находится где-то над ногами моба.
Моб — это многогранник, для простоты считаем, что многогранник состоит только из треугольников (в алгоритме внутри сидит формула площади Гаусса, так что можно расширить его для любого многогранника, но зачем…). Кроме того, многогранник должен не иметь самопересечений и ограничивать замкнутый объем, как и положено приличным многогранникам.
(ну типа такого)
Маленький UPD, поясняющий, почему на КДПВ правый моб Не Ок, а левый Ок:
Правая картинка не Ок потому что моб завалится вперед, т.к. его центр масс вынесен за площадь опоры. Площадь опоры стоящего на поверхности многоугольника определяется как минимальный многоугольник, внутри которого окажутся все точки, находящиеся на поверхности. В левом случае площадь опоры сдвинута под центр масс и больше (т.к. динозаврские лапы больше), а на правой картинке сама площадь меньше и ближе к хвосту.
Соотношение опорной площади и центра масс будет примерно такое:
Сразу начну с кода поиска объема (Python, входные данные — список точек и матрица переходов):
немного кода
def RecSetDirsTriangles(para, Connects, TR):
"""рекурсивная функция, которая принимает на вход ребро и по нему выбирает направление треугольника"""
#1.найти треугольник включающий пару, убедиться, что такого еще нет
for i in range(0,len(Connects)):
if i != para[0] and i != para[1] and Connects[i][para[0]] and Connects[i][para[1]]: #вот этот треугольник!
fl = 1
for T in TR:
if i in T and para[1] in T and para[0] in T:
fl = 0 #этот треугольник уже обработан
break
if fl: #найден треугольник!
TR += [(para[1],para[0],i)]
Recc((para[0], i) , Connects, TR)
Recc((i, para[1]) , Connects, TR)
def FindV(dots, Connects):
"""ищем объем. Входные данные - dots список вершин многогранника вида [x, y, z], Connects - квадратная матрица, Connects[i][j]=1 если есть связь между вершинами i, j, иначе =0 """
#1. сделать треугольники с упорядоченными вершинами
TR = []
for i in range(1,len(Connects)):#выбираем первый треугольник с нулевой точкой и еще каким-то
if Connects[i][0]:
for j in range(i+1, len(Connects)):
if Connects[0][j] and Connects[i][j]:
TR += [(0,i,j)]
break
RecSetDirsTriangles((0,i),Connects, TR)
break
print("найдено треугольников: ", len(TR))
#2. посчитать площадь базы и объем усеченной призмы
V = 0
for T in TR:
'''Гаус рулит: x1y2 x2y3 x3y1 x2y1 x3y2 x1y3'''
S = 0.5 * (dots[T[0]][0]*dots[T[1]][1] + dots[T[1]][0]*dots[T[2]][1] + dots[T[2]][0]*dots[T[0]][1] - dots[T[1]][0]*dots[T[0]][1] - dots[T[2]][0]*dots[T[1]][1] - dots[T[0]][0]*dots[T[2]][1])
#S может быть + или - в зависимости от того, как направлен треугольник
V += S*(dots[T[0]][2] + dots[T[1]][2] + dots[T[2]][2])/3 #объем усеченной призмы считается просто...
return math.fabs(V)
Суть алгоритма — считаем объемы фигур, которые образуют «падающие» на плоскость xy грани многогранника. Для этого надо знать площадь проекции треугольника и знак, с которым надо суммировать объем фигуры (усеченнной призмы). На самом деле, если заранее упорядочить треугольники, и объем и знак сводятся к одному вычислению.
Поэтому первым делом рекурсивная функция собирает треугольники из входных данных. Собирает таким образом, чтобы при взгляде «снаружи» на многогранник, направления обхода треугольников были одинаковыми (в идеале против часовой стрелки; если взять направления по часовой стрелке, то результат получится правильным, но отрицательным — поэтому в ретурн отдается модуль объема).
Добиться этого очень просто — берем какой-то треугольник (точки a1, a2, a3), ищем его соседей и перечисляем две совпавшие вершины в обратном порядке (например, так: a2, a1, b1).
Получается что-то вроде этого:
Теперь, если мы спроецируем такой треугольник на плоскость xy, то порядок обхода для проекции «верхнего» треугольника будет совпадать с изначально выбранным, а порядок обхода для проекци «нижнего» треугольника поменяет свое направление. Как следствие, поменяет знак и площадь этого треугольника, вычисленная по формуле Гаусса. Здесь «нижний» треугольник — понятие условное — имеется ввиду, что объем непосредственно под ним не входит в объем многогранника. «Нижний» треугольник у невыпуклого многогранника может быть выше «верхнего».
После этих предварительных действий, чтобы вычислить полный объем многогранника, надо просто сложить (с учетом знака, который получается «сам собой») все объемы усеченных призм, собранных из граней и проекций этих граней на плоскость xy. А объемы призм считаются как произведение площади (по Гауссу, со знаком) и среднего арифметического z-координат вершин треугольника.
Если многогранник пересекается плоскостью xy, то при вычислении объема, все знаки скомпенсируют друг друга и результат остается правильным (надо только брать высоты призмы без модуля).
(как-то так выглядит «верхняя» усеченная призма)
С поиском центра масс все приблизительно также. Аналогично надо найти центры масс для каждой усеченной призмы и просуммировать покоординатно, умножая на объем призмы (предполагается, что масса распределена равномерно по объему и можно одно заменить другим). Чтобы найти центр масс усеченной призмы, придется посчитать центры масс двух тетраэдеров (+1 функция) и одной обычной призмы. Алгоритм так же «не портится», если многогранник пересекает плоскость xy (а здесь могла бы быть репродукция Магритта).
(вот эти два тетраэдера, обозначены красным и рыжим, вместе с треугольной призмой (ниже красного тетраэдера) образуют искомую усеченную призму. Нам надо найти центры масс и объемы всех трех фигур. Обозначения примерно соответствуют обозначениям в коде)
Код, который считает то и то:
чуть больше кода
def RecSetDirsTriangles(para, Connects, TR):
#1.найти треугольник включающий пару, убедиться, что такого еще нет
for i in range(0,len(Connects)):
if i != para[0] and i != para[1] and Connects[i][para[0]] and Connects[i][para[1]]: #вот этот треугольник!
fl = 1
for T in TR:
if i in T and para[1] in T and para[0] in T:
fl = 0
break
if fl: #найден треугольник!
TR += [(para[1],para[0],i)]
Recc((para[0], i) , Connects, TR)
Recc((i, para[1]) , Connects, TR)
def TetrV(mas):#dot1, dot2, dot3, dot4):
"""объем тетраэдера по вершинам"""
M = np.zeros((3,3),float)
for i in range(1,4):
for j in range(0,3):
M[i-1][j] = mas[i][j] - mas[0][j]
#print(M)
return math.fabs(np.linalg.det(M)/6)
def FindVandCM(dots, Connects):
"""ищем объем и центр масс многогранника"""
#1. сделать треугольники с упорядоченными вершинами
TR = []
for i in range(1,len(Connects)): #выбираем первый треугольник с нулевой точкой и еще каким-то
if Connects[i][0]:
for j in range(i+1, len(Connects)):
if Connects[0][j] and Connects[i][j]:
TR += [(0,i,j)]
break
RecSetDirsTriangles((0,i),Connects, TR)
break
print("найдено треугольников: ", len(TR))
#2. посчитать площадь базы, объем усеченной призмы и вклад в центр масс каждого
V = 0
CM = [0, 0, 0]
for T in TR:
'''Гаус рулит: x1y2 x2y3 x3y1 x2y1 x3y2 x1y3'''
S = 0.5 * (dots[T[0]][0]*dots[T[1]][1] + dots[T[1]][0]*dots[T[2]][1] + dots[T[2]][0]*dots[T[0]][1] - dots[T[1]][0]*dots[T[0]][1] - dots[T[2]][0]*dots[T[1]][1] - dots[T[0]][0]*dots[T[2]][1])
#S может быть + или - в зависимости от того, как направлен треугольник
V += S*(dots[T[0]][2] + dots[T[1]][2] + dots[T[2]][2])/3 #объем усеченной призмы считается просто...
#c центром масс я так просто не отделаюсь
c1 = ((dots[T[0]][0] + dots[T[1]][0] + dots[T[2]][0])/3, (dots[T[0]][1]+ dots[T[1]][1]+ dots[T[2]][1])/3) #центральная точка проекции треугольника
hm = min([dots[T[0]][2] , dots[T[1]][2] , dots[T[2]][2]])
hM = max([dots[T[0]][2] , dots[T[1]][2] , dots[T[2]][2]])
indM = [dots[T[0]][2] , dots[T[1]][2] , dots[T[2]][2]].index(hM)
indm = [dots[T[0]][2] , dots[T[1]][2] , dots[T[2]][2]].index(hm)
V3 = S * hm
if indM == indm: #горизонтальный прямоугольник!
CM[0] += V3*c1[0]
CM[1] += V3*c1[1]
CM[2] += V3*hm/2
continue
L = [0,1,2]
L.remove(indM)
L.remove(indm)
indmidle = L[0]
dots1 = [dots[T[0]], dots[T[1]], dots[T[2]], (dots[T[indM]][0], dots[T[indM]][1] , hm)] #верхний тетраэдер
V1 = TetrV(dots1)
if S < 0:
V1 = -V1
V2 = S * ( dots[T[indmidle]][2] - hm)/3
#V3 = S * hm
CM[0] += V1*((dots[T[0]][0] + dots[T[1]][0] + dots[T[2]][0] + dots[T[indM]][0])/4) + V2*((dots[T[0]][0] + dots[T[1]][0] + dots[T[2]][0] + dots[T[indmidle]][0])/4) + V3*c1[0]
CM[1] += V1*((dots[T[0]][1] + dots[T[1]][1] + dots[T[2]][1] + dots[T[indM]][1])/4) + V2*((dots[T[0]][1] + dots[T[1]][1] + dots[T[2]][1] + dots[T[indmidle]][1])/4) + V3*c1[1]
CM[2] += V1*((dots[T[0]][2] + dots[T[1]][2] + dots[T[2]][2] + hm)/4) + V2*((dots[T[0]][2] + dots[T[1]][2] + dots[T[2]][2] + hm)/4) + V3*hm/2
CM[0] = CM[0]/V
CM[1] = CM[1]/V
CM[2] = CM[2]/V
return (math.fabs(V), CM)
Кусок алгоритма, где считаются направления треугольников и используются для понимания внешнего и внутреннего объема — это очень сильный ход, его много как можно применить при работе с многогранниками. Например, если надо посчитать направление нормалей «наружу» — достаточно знать направление «против часовой стрелки» для одной грани — и вуаля!
(угадай фильм!)