Programa en C para Calcular el Producto Cruzado de Dos Vectores

Programa en C para Calcular el Producto Cruzado de Dos Vectores
Este es un programa en C para encontrar el producto cruz de dos vectores. El producto cruz o producto vectorial es una operación binaria sobre dos vectores en un espacio tridimensional. Da como resultado un vector que es perpendicular a ambos y, por lo tanto, normal al plano que los contiene.

Aquí está el código fuente del programa C para calcular el producto cruzado de dos vectores. El programa C se compila y ejecuta con éxito en un sistema Linux. La salida del programa también se muestra a continuación.

  1. #include <string.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. const int LOW = 0;
  6. const int HIGH = 10;
  7. int main(int argc, char **argv) {
  8.     time_t seconds;
  9.     time(&seconds);
  10.     srand((unsigned int) seconds);
  11.  
  12.     int u1, u2, u3, v1, v2, v3;
  13.     u1 = rand() % (HIGH - LOW + 1) + LOW;
  14.     u2 = rand() % (HIGH - LOW + 1) + LOW;
  15.     u3 = rand() % (HIGH - LOW + 1) + LOW;
  16.     v1 = rand() % (HIGH - LOW + 1) + LOW;
  17.     v2 = rand() % (HIGH - LOW + 1) + LOW;
  18.     v3 = rand() % (HIGH - LOW + 1) + LOW;
  19.  
  20.     int uvi, uvj, uvk;
  21.     uvi = u2 * v3 - v2 * u3;
  22.     uvj = v1 * u3 - u1 * v3;
  23.     uvk = u1 * v2 - v1 * u2;
  24.  
  25.     printf("The cross product of the 2 vectors \n u = %di + %dj + %dk and \n v = %di + %dj + %dk\n",
  26.             u1, u2, u3, v1, v2, v3);
  27.     printf(" u X v: %di + %dj + %dk", uvi, uvj, uvk);
  28.     return 0;
  29. }

Salida:

$ gcc CrossProduct.c
$ ./a.out
 
The cross product of the 2 vectors 
 u = 0i + 0j + 7k and 
 v = 4i + 7j + 2k
 u X v: -49i + 28j + 0k