Exemplo n.º 1
0
        public FixVector3 RotateY(int degree)
        {
            FixVector3 num;
            FixFactor  factor;
            FixFactor  factor2;

            Fix32Math.sincos(out factor, out factor2, (long)(0x7ab8 * degree), 0x1b7740L);
            long num2 = factor2.nom * factor.den;
            long num3 = factor2.den * factor.nom;
            long b    = factor2.den * factor.den;

            num.x = (int)Fix32Math.Divide((long)((this.x * num2) + (this.z * num3)), b);
            num.z = (int)Fix32Math.Divide((long)((-this.x * num3) + (this.z * num2)), b);
            num.y = 0;
            return(num.NormalizeTo(Precision));
        }
Exemplo n.º 2
0
        public FixVector3 RotateY(ref FixFactor radians)
        {
            FixVector3 num;
            FixFactor  factor;
            FixFactor  factor2;

            Fix32Math.sincos(out factor, out factor2, radians.nom, radians.den);
            long num2 = factor2.nom * factor.den;
            long num3 = factor2.den * factor.nom;
            long b    = factor2.den * factor.den;

            num.x = (int)Fix32Math.Divide((long)((this.x * num2) + (this.z * num3)), b);
            num.z = (int)Fix32Math.Divide((long)((-this.x * num3) + (this.z * num2)), b);
            num.y = 0;
            return(num.NormalizeTo(0x3e8));
        }