O produto cruzado de dois vetores tridimensionais e é o vetor único modo que:
é ortogonal a e
A magnitude de é igual à área do paralelogramo formado por e
As instruções de , e , nessa ordem, seguem a regra da direita .
Existem algumas fórmulas equivalentes para produtos cruzados, mas uma é a seguinte:
onde , e são os vetores de unidade na primeira, segunda e terceira dimensões.
Desafio
Dados dois vetores 3D, escreva um programa ou função completo para encontrar seu produto cruzado. Os componentes internos que calculam especificamente o produto cruzado não são permitidos.
Entrada
Duas matrizes de três números reais cada. Se o seu idioma não tiver matrizes, os números ainda deverão ser agrupados em três. Ambos os vetores terão magnitude . Observe que o produto cruzado não é comutativo ( ), portanto, você deve ter uma maneira de especificar a ordem.
Saída
Seu produto cruzado, em um formato razoável, com cada componente com precisão de quatro algarismos significativos ou , o que for mais fraco. A notação científica é opcional.
Casos de teste
[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]
Isso é código-golfe , então a solução mais curta em bytes vence.
Maltysen postou um desafio semelhante , mas a resposta foi fraca e a pergunta não foi editada.