Beispiel #1
0
        private void MoveSceneUsingMouse(Vector movement)
        {
            var translation = Transformations3D.Translation(new Vector3D(movement.X * 0.001, movement.Y * 0.001, 0));

            _worldTransformation = translation * _worldTransformation;
            RefreshImage();
        }
Beispiel #2
0
        public Matrix4X4 GetWorldMatrix()
        {
            var translation = Transformations3D.Translation((Vector3D)Position);
            var rotation    = Transformations3D.RotationX(Orientation.X)
                              * Transformations3D.RotationY(Orientation.Y)
                              * Transformations3D.RotationZ(Orientation.Z);
            var scaling = Transformations3D.Scaling(Scale);

            return(translation * rotation * scaling);
        }
Beispiel #3
0
        public Matrix4X4 GetViewMatrix()
        {
            var scale       = Transformations3D.Scaling(Zoom);
            var translation = Transformations3D.Translation(-(Vector3D)Position);
            var rotation    = Transformations3D.RotationX(XRotation) *
                              Transformations3D.RotationY(YRotation);
            var d    = Transformations3D.Translation(new Vector3D(0, 0, ObserverOffset));
            var invd = Transformations3D.Translation(new Vector3D(0, 0, -ObserverOffset));

            return(scale * invd * rotation * d * translation);
        }
Beispiel #4
0
        private void OnKeyDown(object sender, KeyEventArgs e)
        {
            switch (e.Key)
            {
            case Key.A:
                _worldTransformation = Transformations3D.Translation(new Vector3D(0, 0, +0.5)) * _worldTransformation;
                RefreshImage();
                break;

            case Key.Z:
                _worldTransformation = Transformations3D.Translation(new Vector3D(0, 0, -0.5)) * _worldTransformation;
                RefreshImage();
                break;
            }
        }