Esempio n. 1
0
        public ViewTransform(RtPoint from, RtPoint to, RtVector up)
        {
            Up   = up;
            To   = to;
            From = from;

            Forward = (To - From).Normalize();
            var upNormalized = Up.Normalize();

            Left = Forward.Cross(upNormalized);
            var trueUp      = Left.Cross(Forward);
            var orientation = RtMatrix.Identity;

            orientation.M11 = Left.X;
            orientation.M12 = Left.Y;
            orientation.M13 = Left.Z;
            orientation.M21 = trueUp.X;
            orientation.M22 = trueUp.Y;
            orientation.M23 = trueUp.Z;
            orientation.M31 = -Forward.X;
            orientation.M32 = -Forward.Y;
            orientation.M33 = -Forward.Z;

            var translation = RtMatrix.Identity;

            translation.M14 = -from.X;
            translation.M24 = -from.Y;
            translation.M34 = -from.Z;

            Matrix = orientation * translation;
        }
        public void Then_zeroVector_Minus_vector_Should_Equal_Vector(double x, double y, double z)
        {
            var expectedVector = new RtVector(x, y, z);

            var actualVector = _vectorsContext.ZeroVector - _vectorsContext.Vector;

            Assert.Equal(expectedVector, actualVector);
        }
        public void Then_vector1_minus_vector2_Should_Equal_Vector(double x, double y, double z)
        {
            var expectedVector = new RtVector(x, y, z);

            RtVector actualVector = _vectorsContext.Vector1 - _vectorsContext.Vector2;

            Assert.Equal(expectedVector, actualVector);
        }
        public void Then_Normalize_vector_Should_Equals_Vector(double x, double y, double z)
        {
            var expectedVector = new RtVector(x, y, z);

            var actual = _vectorsContext.Vector.Normalize();

            Assert.Equal(expectedVector, actual);
        }
        public void Then_Transform_Multiplied_By_vector_Equals_vector(int x, int y, int z)
        {
            var expectedVector = new RtVector(x, y, z);

            var actualVector = _transformationsContext.Transform * _vectorsContext.Vector;

            Assert.Equal(expectedVector, actualVector);
        }
        public void Then_ReflectVector_Of_Computations_Should_Equal_Vector(string x, string y, string z)
        {
            var expectedVector = new RtVector(x.EvaluateExpression(), y.EvaluateExpression(), z.EvaluateExpression());

            var actualVector = _computationsContext.Computations.ReflectVector;

            Assert.Equal(expectedVector, actualVector);
        }
Esempio n. 7
0
        public void Then_Direction_Of_Ray_Should_Equal_Vector(double x, double y, double z)
        {
            var expectedDirection = new RtVector(x, y, z);

            var actualDirection = _rayContext.Ray.Direction;

            Assert.Equal(expectedDirection, actualDirection);
        }
Esempio n. 8
0
        public void Then_Direction_Of_SavedRay_Of_shape_Should_Equal_Vector(double x, double y, double z)
        {
            var expectedOrigin = new RtVector(x, y, z);

            var actualOrigin = _shapesContext.TestShape.SavedRay.Direction;

            Assert.Equal(expectedOrigin, actualOrigin);
        }
Esempio n. 9
0
        public void Then_Direction_Of_ray2_Should_Equal_Vector(double x, double y, double z)
        {
            var expectedVector = new RtVector(x, y, z);

            var actualVector = _rayContext.Ray2.Direction;

            Assert.Equal(expectedVector, actualVector);
        }
Esempio n. 10
0
        public void Then_point1_Minus_point2_Should_Equal_Vector(int firstPointIndex, int secondPointIndex, float x, float y, float z)
        {
            var expectedVector = new RtVector(x, y, z);

            var actualVector = _pointsContext.Points[firstPointIndex] - _pointsContext.Points[secondPointIndex];

            Assert.Equal(expectedVector, actualVector);
        }
Esempio n. 11
0
        public void Then_NormalVector_Of_computations_Should_Equal_Vector(float x, float y, float z)
        {
            var expectedPoint = new RtVector(x, y, z);

            var actualPoint = _computationsContext.Computations.NormalVector;

            Assert.Equal(expectedPoint, actualPoint);
        }
        public void Then_Cross_vector1_With_vector2_Should_Equal_Vector(double x, double y, double z)
        {
            var expectedVector = new RtVector(x, y, z);

            var actualVector = _vectorsContext.Vector1.Cross(_vectorsContext.Vector2);

            Assert.Equal(expectedVector, actualVector);
        }
Esempio n. 13
0
        public void Then_NormalN_Of_Mesh_Parser_Should_Equal_Vector(int indexOfNormal, double x, double y, double z)
        {
            var expectedVector = new RtVector(x, y, z);

            Assert.Equal(expectedVector, _objFileContext.ObjFile.Mesh.GetNormal(indexOfNormal));
        }
        public void Then_normalVector_Should_Equal_Vector(string x, string y, string z)
        {
            var expectedVector = new RtVector(x.EvaluateExpression(), y.EvaluateExpression(), z.EvaluateExpression());

            Assert.Equal(expectedVector, _vectorsContext.Normal);
        }
        public void Then_Edge2_Of_Triangle_Should_Equal_Vector(double x, double y, double z)
        {
            var expectedVector = new RtVector(x, y, z);

            Assert.Equal(expectedVector, _triangesContext.Triangle.Edge2);
        }
Esempio n. 16
0
 public Projectile(RtPoint position, RtVector velocity)
 {
     Position = position;
     Velocity = velocity;
 }
 public RtEnvironment(RtVector gravity, RtVector wind)
 {
     Gravity = gravity;
     Wind    = wind;
 }
Esempio n. 18
0
        public void Then_VVector_Of_AreaLight_Should_Equal(float x, float y, float z)
        {
            var expectedVector = new RtVector(x, y, z);

            Assert.Equal(expectedVector, _lightsContext.AreaLight.VVector);
        }
        public void Give_normalN_Should_Equal_Vector(int indexOfNormal, double x, double y, double z)
        {
            var expectedVector = new RtVector(x, y, z);

            Assert.Equal(expectedVector, _vectorsContext.Normals[indexOfNormal]);
        }
        public void Then_normal_Should_Equal_Vector(double x, double y, double z)
        {
            var expectedVector = new RtVector(x, y, z);

            Assert.Equal(expectedVector, _vectorsContext.Normal);
        }