private void MoveSceneUsingMouse(Vector movement) { var translation = Transformations3D.Translation(new Vector3D(movement.X * 0.001, movement.Y * 0.001, 0)); _worldTransformation = translation * _worldTransformation; RefreshImage(); }
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); }
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); }
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; } }