コード例 #1
0
        public ConstantVelocity2DModel GetNoisyState(double accelerationNoise)
        {
            var processNoiseMat = ConstantVelocity2DModel.GetProcessNoise(accelerationNoise);
            var noise           = normalDistribution.Generate(ConstantVelocity2DModel.Dimension).Multiply(processNoiseMat);

            return(new ConstantVelocity2DModel
            {
                Position = new PointF
                {
                    X = currentState.Position.X + (float)noise[0],
                    Y = currentState.Position.Y + (float)noise[2]
                },

                Velocity = new PointF
                {
                    X = currentState.Velocity.X + (float)noise[1],
                    Y = currentState.Velocity.Y + (float)noise[3]
                }
            });
        }