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}).$$
Модуль определителя матрицы равен объёму параллелепипеда.
Ссылка на запуск программы.

Александр Зайченко

Александр Зайченко

Студент кафедры математического обеспечения компьютерных систем Одесского национального университета имени И. И. Мечникова
Александр Зайченко

Latest posts by Александр Зайченко (see all)

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

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