// Calcula projeção // Dado o segundo vetor retorna a projeção do primeiro no segundo. public void projecao(Vetor2D vec2) { double projX = (vec2.getX() * (((x * vec2.getX()) + (y * vec2.getY())) / ((Math.Pow(vec2.getX(), 2)) + (Math.Pow(vec2.getY(), 2))))); double projY = (vec2.getY() * (((x * vec2.getX()) + (y * vec2.getY())) / ((Math.Pow(vec2.getX(), 2)) + (Math.Pow(vec2.getY(), 2))))); Console.WriteLine("Projeção vetorial = (" + Math.Round(projX, 2) + " " + Math.Round(projY, 2) + ")"); }
public double modulo(Vetor2D vec2) { return(Math.Sqrt(Math.Pow(vec2.getX(), 2) + Math.Pow(vec2.getY(), 2))); }
public Vetor2D soma(Vetor2D vet1) { Vetor2D aux = new Vetor2D(x + vet1.getX(), y + vet1.getY()); return(aux); }
// Calcula escalar // Dado o segundo vetor retorna o escalar entre o primeiro e o segundo vetor. public double escalar(Vetor2D vec2) { return((x * vec2.getX()) + (y * vec2.getY())); }
public double prodEscalar(Vetor2D vet1) { return(x * vet1.getX() + y * vet1.getY()); }