public void calculando_a_magnitude_de_um_vetor_5d()
        {
            var vetor = new[] { 1.0, 2.0, 3.0, 4.0, 5.0 };

            var magnitude = vetor.Magnitude();

            magnitude.Should().Be(Math.Sqrt(55.0));
        }
        public void calculando_o_angulo_entre_dois_vetores_4d()
        {
            var vetor1 = new[] { 1.0, 2.0, 3.0, 4.0 };
            var vetor2 = new[] { 2.0, 3.0, 1.0, 5.0 };

            var angulo = vetor1.AnguloAte(vetor2);
            var produto = vetor1.ProdutoCom(vetor2);
            var magnitude = vetor1.Magnitude() * vetor2.Magnitude();

            angulo.Should().Be(Math.Acos(produto / magnitude));
        }
        public void normalizando_um_vetor()
        {
            var vetor = new[] { 8.9, 1.0, 10.3, 5.6, 7.02 };

            var vetorNormalizado = vetor.Normalizado();

            var magnitudeDoVetor = vetor.Magnitude();
            var vetorNormalizadoEsperado = new double[vetor.Length];
            for (var i = 0; i < vetorNormalizadoEsperado.Length; i++)
                vetorNormalizadoEsperado[i] = vetor[i] / magnitudeDoVetor;

            vetorNormalizado.Should().ContainInOrder(vetorNormalizadoEsperado);
        }