ML30. Объём параллелепипеда

Задача взята отсюда
Условие
Найти объём параллелепипеда три стороны которого образованы векторами:
$$\overrightarrow{a}=(a_x,a_y,a_z), \overrightarrow{b}=(b_x,b_y,b_z), \overrightarrow{c}=(c_x,c_y,c_z).$$
Входные данные: Координаты векторов $\overrightarrow{a}, \overrightarrow{b}, \overrightarrow{c}.$
Выходные данные: Объём параллелепипеда.

Тесты

Входные данные Выходные данные
0 0 1 0 1 0 1 0 0 1
0 0 0 1 0 0 0 0 1 0
1 0 0 0 0 1 0 0 1 0
2 5 3 4 1 0 -2 7 6 18
3 5 1 0 -7 2 6 -4 5 21

Код программы

Решение

Для решения данной задачи можно составить матрицу и вывести из неё формулу для нахождения определителя:
$$\triangle = \begin{vmatrix}a_{x} & a_{y} & a_{z}\\b_{x} & b_{y} & b_{z}\\c_{x} & c_{y} & c_{z}\end{vmatrix} = $$ $$= a_{x} \times ((b_{y} \times c_{z}) + (c_{y} \times b_{z}))-a_{y} \times ((b_{x} \times c_{z})+ $$ $$+(c_{x} \times b_{z})) + a_{z} \times ((b_{x} \times c_{y})+(c_{x} \times b_{y}).$$
Модуль определителя матрицы равен объёму параллелепипеда.
Ссылка на запуск программы.

Александр Зайченко
Александр Зайченко недавно публиковал (посмотреть все)

2 thoughts on “ML30. Объём параллелепипеда

Добавить комментарий