// Producto vectorial, normalizado public static Punto operator *(Punto punto1, Punto punto2) { Punto punto = new Punto(0, 0, 0); punto.X = punto1.Y * punto2.Z - punto1.Z * punto2.Y; punto.Y = punto1.Z * punto2.X - punto1.X * punto2.Z; punto.Z = punto1.X * punto2.Y - punto1.Y * punto2.X; double modulo = punto.Modulo(); if (modulo != 0) { punto.X = punto.X / modulo; punto.Y = punto.Y / modulo; punto.Z = punto.Z / modulo; } return(punto); }
// Producto vectorial, normalizado public static Punto operator *(Punto punto1, Punto punto2) { Punto punto = new Punto(0, 0, 0); punto.X = punto1.Y * punto2.Z - punto1.Z * punto2.Y; punto.Y = punto1.Z * punto2.X - punto1.X * punto2.Z; punto.Z = punto1.X * punto2.Y - punto1.Y * punto2.X; double modulo = punto.Modulo(); if (modulo != 0) { punto.X = punto.X / modulo; punto.Y = punto.Y / modulo; punto.Z = punto.Z / modulo; } return punto; }
public double CalcularDistancia(Punto punto) { Punto vectorEnOrigen = this.RestarPunto(punto); return(vectorEnOrigen.Modulo()); }