El producto cruzado de dos vectores tridimensionales y es el vector único tal que:
es ortogonal a ambos y
La magnitud de es igual al área del paralelogramo formado por y
Las direcciones de , y , en ese orden, siguen la regla de la derecha .
Hay algunas fórmulas equivalentes para productos cruzados, pero una es la siguiente:
donde , y son los vectores unitarios en la primera, segunda y tercera dimensiones.
Desafío
Dados dos vectores 3D, escriba un programa o función completa para encontrar su producto cruzado. Las incorporaciones que calculan específicamente el producto cruzado no están permitidas.
Entrada
Dos matrices de tres números reales cada una. Si su idioma no tiene matrices, los números aún deben agruparse en tres. Ambos vectores tendrán una magnitud . Tenga en cuenta que el producto cruzado no es conmutativo ( ), por lo que debe tener una forma de especificar el orden.
Salida
Su producto cruzado, en un formato razonable, con cada componente con una precisión de cuatro cifras significativas o , lo que sea más flojo. La notación científica es opcional.
Casos de prueba
[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]
Este es el código de golf , por lo que gana la solución más corta en bytes.
Maltysen publicó un desafío similar , pero la respuesta fue pobre y la pregunta no fue editada.