Exemple #1
0
        private void ResetAnimation(object obj)
        {
            _timer.Stop();

            _quaternionAxis = new QuaternionAxis(StartAxis.Position, StartAxis.QuaternionRotation, EndAxis.Position, EndAxis.QuaternionRotation);
            _eulerAxis      = new EulerAxis(StartAxis.Position, StartAxis.Rotation, EndAxis.Position, EndAxis.Rotation);
        }
    public Vector3 GetPositionInRange(float r, Vector3 center, QuaternionAxis quaternionAxis = QuaternionAxis.X)
    {
        switch (quaternionAxis)
        {
            case QuaternionAxis.X:
                return center + Quaternion * new Vector3((float)r, 0, 0);
            case QuaternionAxis.Y:
                return center + Quaternion * new Vector3(0, (float)r, 0);
            case QuaternionAxis.Z:
                return center + Quaternion * new Vector3(0, 0, (float)r);
        }

        return new Vector3(0, 0, 0);
    }
Exemple #3
0
        public MainViewModel()
        {
            _scale    = 1.0;
            _rotation = new Vector(0, 0);

            StartAxis = new AxisDetails(new Vector3(-20, 0, 0), new Vector3(0, 0, 0));
            EndAxis   = new AxisDetails(new Vector3(20, 0, -10), new Vector3(0, 0, 0));

            _quaternionAxis = new QuaternionAxis(StartAxis.Position, StartAxis.QuaternionRotation, EndAxis.Position, EndAxis.QuaternionRotation);
            _eulerAxis      = new EulerAxis(StartAxis.Position, StartAxis.Rotation, EndAxis.Position, EndAxis.Rotation);

            _timer = new DispatcherTimer {
                Interval = new TimeSpan(0, 0, 0, 0, 10)
            };
            _timer.Tick    += _timer_Tick;
            AnimationLength = 7;

            FrameCount = 13;
        }