Le produit croisé de deux vecteurs tridimensionnels et est le vecteur unique tel que:
→ a → b est orthogonal à et
La magnitude de est égale à l'aire du parallélogramme formé par et
Les directions de , et , dans cet ordre, suivent la règle de droite .
Il existe quelques formules équivalentes pour les produits croisés, mais l'une est la suivante:
où , et sont les vecteurs unitaires dans les première, deuxième et troisième dimensions.
Défi
Étant donné deux vecteurs 3D, écrivez un programme ou une fonction complète pour trouver leur produit croisé. Les fonctions intégrées qui calculent spécifiquement le produit croisé ne sont pas autorisées.
Contribution
Deux tableaux de trois nombres réels chacun. Si votre langue n'a pas de tableaux, les numéros doivent toujours être regroupés en trois. Les deux vecteurs auront une magnitude . Notez que le produit croisé n'est pas commutatif ( ), vous devriez donc avoir un moyen de spécifier l'ordre.
Production
Leur produit croisé, dans un format raisonnable, avec chaque composant précis à quatre chiffres significatifs ou , selon le plus lâche. La notation scientifique est facultative.
Cas de test
[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]
C'est le code-golf , donc la solution la plus courte en octets l'emporte.
Maltysen a affiché un défi similaire , mais la réponse a été médiocre et la question n'a pas été modifiée.