Exemplo n.º 1
0
        private Vector2D GetRandomSpeed()
        {
            var dir = (float)_rnd.NextDouble() * 2 * Trigo.Pi;

            return(new Vector2D {
                X = Trigo.Cos(dir) * MeteorSpeed,
                Y = Trigo.Sin(dir) * MeteorSpeed
            });
        }
Exemplo n.º 2
0
        private void ComputeAngles()
        {
            //http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1208368036
            double accXAngle = 57.295 * Trigo.Atan((float)this.LatestAcc.Y / Trigo.Sqrt(Trigo.Pow((float)this.LatestAcc.Z, 2) + Trigo.Pow((float)LatestAcc.X, 2)));
            double accYAngle = 57.295 * Trigo.Atan((float)-LatestAcc.X / Trigo.Sqrt(Trigo.Pow((float)LatestAcc.Z, 2) + Trigo.Pow((float)LatestAcc.Y, 2)));

            xAngle = xAngle * LatestGyro.X * (1 - complementFactor) + accXAngle * complementFactor;
            yAngle = yAngle * LatestGyro.Y * (1 - complementFactor) + accYAngle * complementFactor;
        }