514 {
515 float num = rotation.X + rotation.X;
516 float num2 = rotation.Y + rotation.Y;
517 float num3 = rotation.Z + rotation.Z;
518 float num4 = rotation.W * num;
519 float num5 = rotation.W * num2;
520 float num6 = rotation.W * num3;
521 float num7 = rotation.X * num;
522 float num8 = rotation.X * num2;
523 float num9 = rotation.X * num3;
524 float num10 = rotation.Y * num2;
525 float num11 = rotation.Y * num3;
526 float num12 = rotation.Z * num3;
527 float x = value.X * (1f - num10 - num12) +
value.Y * (num8 - num6) + value.Z * (num9 + num5);
528 float y = value.X * (num8 + num6) +
value.Y * (1f - num7 - num12) + value.Z * (num11 - num4);
529 float z = value.X * (num9 - num5) +
value.Y * (num11 + num4) + value.Z * (1f - num7 - num10);
531 result.X = x;
532 result.Y = y;
533 result.Z = z;
534 result.W = 1f;
535 return result;
536 }
Vector4(float x, float y, float z, float w)