Перекрестное произведение двух трехмерных векторов и это единственный вектор таким образом, что:
ортогональна обоим и
Величина равна площади параллелограмма, образованной и
Направления , и в указанном порядке следуют правилу правой руки .
Существует несколько эквивалентных формул для перекрестного произведения, но одна из них выглядит следующим образом:
где , и - единичные векторы в первом, втором и третьем измерениях.
Вызов
Учитывая два трехмерных вектора, напишите полную программу или функцию, чтобы найти их перекрестное произведение. Встроенные функции, которые специально рассчитывают перекрестное произведение, запрещены.
вход
Два массива по три вещественных числа в каждом. Если у вашего языка нет массивов, числа все равно должны быть сгруппированы в тройки. Оба вектора будут иметь величину . Обратите внимание, что перекрестное произведение некоммутативно ( ), поэтому у вас должен быть способ указать порядок.
Выход
Их перекрестное произведение в разумном формате, каждый компонент с точностью до четырех значащих цифр или , в зависимости от того, что меньше. Научная запись не является обязательной.
Контрольные примеры
[3, 1, 4], [1, 5, 9]
[-11, -23, 14]
[5, 0, -3], [-3, -2, -8]
[-6, 49, -10]
[0.95972, 0.25833, 0.22140],[0.93507, -0.80917, -0.99177]
[-0.077054, 1.158846, -1.018133]
[1024.28, -2316.39, 2567.14], [-2290.77, 1941.87, 712.09]
[-6.6345e+06, -6.6101e+06, -3.3173e+06]
Это код-гольф , поэтому выигрывает самое короткое решение в байтах.
Maltysen отправил аналогичный вызов , но ответ был плохим, и вопрос не был отредактирован.