Esempio n. 1
0
        static void Main(string[] args)
        {
            Vetor2D a1 = new Vetor2D();
            Vetor2D a2 = new Vetor2D(1, 1);
            Vetor2D i  = new Vetor2D(1, 0);
            Vetor2D j  = new Vetor2D(0, 1);

            Console.WriteLine("Valores Iniciais: ");
            a1.print();
            a2.print();

            a1.setX(10);
            a2.setY(5);

            Console.WriteLine("Valores Atualizados: ");
            a1.print();
            a2.print();

            Console.WriteLine("Produtos Escalares: ");
            Console.WriteLine(a1.escalar(a2));
            Console.WriteLine(a2.escalar(a1));
            Console.WriteLine(i.escalar(j));

            Console.WriteLine("Modulos: ");
            Console.WriteLine(a1.modulo());
            Console.WriteLine(a2.modulo());
            Console.WriteLine("|i|: " + i.modulo());
            Console.WriteLine("|j|: " + j.modulo());

            Console.WriteLine("Angulos: ");
            Console.WriteLine(a1.anguloDeg(a2));
            Console.WriteLine(a2.anguloRad(a1));
            Console.WriteLine(i.anguloDeg(j));

            Console.WriteLine("Projeções: ");
            Console.WriteLine(a1.projecaoEm(a2));
            Console.WriteLine(a2.projecaoEm(a1));
            Console.WriteLine(a1.projecaoEm(i));
            Console.WriteLine(i.projecaoEm(j));

            Console.ReadLine();
        }
 //---Projeção De Um Vetor Em Outro
 public double projecaoEm(Vetor2D _b)
 {
     return(this.escalar(_b.divisaoPor(_b.modulo())));
 }
 //---Angulo Entre Vetores
 public double anguloRad(Vetor2D _b)
 {
     return(Math.Acos(this.escalar(_b) / (this.modulo() * _b.modulo())));
 }
 public double anguloDeg(Vetor2D _b)
 {
     return(radDeg(this.anguloRad(_b)));
 }
 //---Produto Escalar
 public double escalar(Vetor2D _b)
 {
     return(x * _b.getX() + y * _b.getY());
 }