예제 #1
0
        public void Cartesian3D_Vector_Maths_Tests()
        {
            Vector3 v1     = new Vector3(1, 1, 1);
            Vector3 v2     = new Vector3(1, 4, 1);
            Vector3 v3     = new Vector3(10, 0, 0);
            Vector3 v4     = new Vector3(0, 3, 0);
            Vector3 v5     = new Vector3(2, 5, 2);
            Vector3 normal = new Vector3(1, 0, 0);
            var     sq     = Cartesian3D.DistanceSquared(v1, v2);

            sq.Should().Be(9);
            var dst = Cartesian3D.Distance(v1, v2);

            dst.Should().Be(3);
            var nm = Cartesian3D.Normalize(v3);

            nm.Should().Be(normal);
            var mag = Cartesian3D.Magnitude(v3);

            mag.Should().Be(10);
            var sub = Cartesian3D.Subtract(v2, v1);

            sub.Should().Be(v4);
            var add = Cartesian3D.Add(v2, v1);

            add.Should().Be(v5);
        }
예제 #2
0
        public void Can_calculate_magnitude(double x, double y, double z, double expected)
        {
            var point = new Cartesian3D(x, y, z);

            var result = point.Magnitude();

            Assert.Equal(expected, result);
        }