Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Lerp() [1/2]

static Quaternion Microsoft.Xna.Framework.Quaternion.Lerp ( Quaternion quaternion1,
Quaternion quaternion2,
float amount )
inlinestatic

Definition at line 379 of file Quaternion.cs.

380 {
381 float num = 1f - amount;
382 Quaternion result = default(Quaternion);
383 float num2 = quaternion1.X * quaternion2.X + quaternion1.Y * quaternion2.Y + quaternion1.Z * quaternion2.Z + quaternion1.W * quaternion2.W;
384 if (num2 >= 0f)
385 {
386 result.X = num * quaternion1.X + amount * quaternion2.X;
387 result.Y = num * quaternion1.Y + amount * quaternion2.Y;
388 result.Z = num * quaternion1.Z + amount * quaternion2.Z;
389 result.W = num * quaternion1.W + amount * quaternion2.W;
390 }
391 else
392 {
393 result.X = num * quaternion1.X - amount * quaternion2.X;
394 result.Y = num * quaternion1.Y - amount * quaternion2.Y;
395 result.Z = num * quaternion1.Z - amount * quaternion2.Z;
396 result.W = num * quaternion1.W - amount * quaternion2.W;
397 }
398 float num3 = result.X * result.X + result.Y * result.Y + result.Z * result.Z + result.W * result.W;
399 float num4 = 1f / (float)Math.Sqrt(num3);
400 result.X *= num4;
401 result.Y *= num4;
402 result.Z *= num4;
403 result.W *= num4;
404 return result;
405 }
static double Sqrt(double d)
Quaternion(float x, float y, float z, float w)
Definition Quaternion.cs:29

References System.Math.Sqrt(), Microsoft.Xna.Framework.Quaternion.W, Microsoft.Xna.Framework.Quaternion.X, Microsoft.Xna.Framework.Quaternion.Y, and Microsoft.Xna.Framework.Quaternion.Z.