Box2D.Common.Rot.MulUnsafe C# (CSharp) Method

MulUnsafe() public static method

public static MulUnsafe ( Rot q, Rot r, Rot result ) : void
q Rot
r Rot
result Rot
return void
        public static void MulUnsafe(Rot q, Rot r, Rot result)
        {
            Debug.Assert(r != result);
            Debug.Assert(q != result);
            // [qc -qs] * [rc -rs] = [qc*rc-qs*rs -qc*rs-qs*rc]
            // [qs qc] [rs rc] [qs*rc+qc*rs -qs*rs+qc*rc]
            // s = qs * rc + qc * rs
            // c = qc * rc - qs * rs
            result.Sin = q.Sin * r.Cos + q.Cos * r.Sin;
            result.Cos = q.Cos * r.Cos - q.Sin * r.Sin;
        }

Usage Example

Beispiel #1
0
 public static void MulToOutUnsafe(Transform A, Transform B, Transform result)
 {
     Debug.Assert(result != B);
     Debug.Assert(result != A);
     Rot.MulUnsafe(A.Q, B.Q, result.Q);
     Rot.MulToOutUnsafe(A.Q, B.P, result.P);
     result.P.AddLocal(A.P);
 }
All Usage Examples Of Box2D.Common.Rot::MulUnsafe