Il prodotto incrociato di due vettori tridimensionali e è il vettore unico tale che:
è ortogonale a e
L'ampiezza di è uguale all'area del parallelogramma formata da e
Le direzioni di , e , in questo ordine, seguono la regola della mano destra .
Esistono alcune formule equivalenti per prodotti incrociati, ma una è la seguente:
dove , e sono i vettori di unità nella prima, seconda e terza dimensione.
Sfida
Dati due vettori 3D, scrivere un programma completo o una funzione per trovare il loro prodotto incrociato. Non sono consentiti builtin che calcolano specificamente il prodotto incrociato.
Ingresso
Due matrici di tre numeri reali ciascuna. Se la tua lingua non ha matrici, i numeri devono comunque essere raggruppati in tre. Entrambi i vettori avranno magnitudo . Nota che il prodotto incrociato non è comunicativo ( ), quindi dovresti avere un modo per specificare l'ordine.
Produzione
Il loro prodotto incrociato, in un formato ragionevole, con ogni componente preciso a quattro cifre significative o , a seconda di quale sia più sciolto. La notazione scientifica è facoltativa.
Casi 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]
Questo è code-golf , quindi vince la soluzione più breve in byte.
Maltysen ha pubblicato una sfida simile , ma la risposta è stata scarsa e la domanda non è stata modificata.