1:#ifndef MATEMATICAS_H
   2:#define MATEMATICAS_H
   3:
   4:#define IGUALES 0
   5:#define DISTINTOS 1
   6:
   7:typedef struct {
   8:  float x, y, z;
   9:} Punto3D;
  10:
  11:typedef struct {
  12:  float a, b, c;
  13:} Vector3D;
  14:
  15:
  16:Vector3D productoVectorial(Vector3D v, Vector3D w);
  17:Vector3D vector(Punto3D p, Punto3D q);
  18:Vector3D vectorPosicion(Punto3D p);
  19:float productoEscalar(Vector3D v, Vector3D w);
  20:Punto3D actualizaPunto3D(float x, float y, float z);
  21:Vector3D actualizaVector3D(float a, float b, float c);
  22:void calculaMatrizModeloVista(Punto3D pInicio, Punto3D pFin, float matriz[], float R2);
  23:void multiplicaMatrices(float m1[], float m2[], float resultado[]);
  24:int distintos(Punto3D p, Punto3D q);
  25:void asigna(float m1[], float m2[]);
  26:Vector3D multiplicaMatrizVector(float producto[], Vector3D v);
  27:void matrizRotacion(float rx, float ry, float rz, float angulo, float matriz[]);
  28:Vector3D normaliza(Vector3D v);
  29:
  30:#endif