コード例 #1
0
 public static Quaternion FactoryFromAxisAngle(Vector axis, float angle)
 {
     if (axis.LengthSquared() == 0.0f)
     return FactoryIdentity;
       float sinAngleOverAxisLength = Calc.Sin(angle / 2) / axis.Length();
       return Quaternion.Normalize(new Quaternion(
     axis.X * sinAngleOverAxisLength,
     axis.Y * sinAngleOverAxisLength,
     axis.Z * sinAngleOverAxisLength,
     Calc.Cos(angle / 2)));
 }