public static void CreateFromYawPitchRoll(FP yaw, FP pitch, FP roll, out TSQuaternion result) { FP num9 = roll * FP.Half; FP num6 = FP.Sin(num9); FP num5 = FP.Cos(num9); FP num8 = pitch * FP.Half; FP num4 = FP.Sin(num8); FP num3 = FP.Cos(num8); FP num7 = yaw * FP.Half; FP num2 = FP.Sin(num7); FP num = FP.Cos(num7); result.x = ((num * num4) * num5) + ((num2 * num3) * num6); result.y = ((num2 * num3) * num5) - ((num * num4) * num6); result.z = ((num * num3) * num6) - ((num2 * num4) * num5); result.w = ((num * num3) * num5) + ((num2 * num4) * num6); }
public static TSQuaternion AngleAxis(FP angle, TSVector axis) { axis = axis * FP.Deg2Rad; axis.Normalize(); FP halfAngle = angle * FP.Deg2Rad * FP.Half; TSQuaternion rotation; FP sin = FP.Sin(halfAngle); rotation.x = axis.x * sin; rotation.y = axis.y * sin; rotation.z = axis.z * sin; rotation.w = FP.Cos(halfAngle); return(rotation); }
/// <summary> /// Returns the cosine of value. /// </summary> public static FP Cos(FP value) { return(FP.Cos(value)); }