FromRotationAxis() public static méthode

public static FromRotationAxis ( Vector3 axis, float angle ) : Quaternion
axis Vector3
angle float
Résultat Quaternion
Exemple #1
0
        public static void RotateAround(ref Vector3 vector, ref Vector3 axis, float angle, out Vector3 result)
        {
            // rotate into world space
            var quaternion = Quaternion.FromRotationAxis(axis, 0);

            Quaternion.Conjugate(ref quaternion, out quaternion);
            Vector3.Transform(ref vector, ref quaternion, out result);

            // rotate back to vector space
            Quaternion.FromRotationAxis(ref axis, angle, out quaternion);
            Vector3.Transform(ref result, ref quaternion, out result);
        }
Exemple #2
0
        public Vector3 RotateAround(Vector3 axis, float angle)
        {
            // rotate into world space
            var quaternion = Quaternion.FromRotationAxis(axis, 0);

            Quaternion.Conjugate(ref quaternion, out quaternion);
            var worldSpaceVector = this.Transform(quaternion);

            // rotate back to vector space
            Quaternion.FromRotationAxis(ref axis, angle, out quaternion);
            Vector3.Transform(ref worldSpaceVector, ref quaternion, out worldSpaceVector);
            return(worldSpaceVector);
        }