示例#1
0
        public static FP Angle(TSQuaternion a, TSQuaternion b)
        {
            TSQuaternion value        = TSQuaternion.Inverse(a);
            TSQuaternion tSQuaternion = b * value;
            FP           result       = FP.Acos(tSQuaternion.w) * 2 * FP.Rad2Deg;
            bool         flag         = result > 180;

            if (flag)
            {
                result = 360 - result;
            }
            return(result);
        }
示例#2
0
        public static FP Angle(TSQuaternion a, TSQuaternion b)
        {
            TSQuaternion aInv = TSQuaternion.Inverse(a);
            TSQuaternion f    = b * aInv;

            FP angle = FP.Acos(f.w) * 2 * FP.Rad2Deg;

            if (angle > 180)
            {
                angle = 360 - angle;
            }

            return(angle);
        }