/// <summary> /// Transform 2 rotations defined by complex numbers: /// <para>In imaginary land: (A + Bi) * (C + Di) == (AC - BD) + (AD + BC)i </para> /// Looking at this as a matrix, A == cos(theta), B == sin(theta), C == cos(sigma), D == sin(sigma): /// <para>[ A B] * [ C D] == [ AC-BD AD+BC] </para> /// [-B A] [-D C] [-(AD+BC) AC-BD] /// <para>If you look at how the vector multiply works out: [X(AC-BD)+Y(-BC-AD) X(AD+BC)+Y(-BD+AC)] </para> /// you can see it follows the same form of the imaginary form. Indeed, check out how the matrix nicely works /// <para>out to [ A B] for a visual proof of the results. </para> /// [-B A] /// </summary> public FQuat2D Concatenate(FQuat2D rHS) => E_FQuat2D_Concatenate(this, rHS);
/// <summary> /// Ctor. initialize from a rotation. /// </summary> public FMatrix2x2(FQuat2D rotation) : base(E_CreateStruct_FMatrix2x2_FQuat2D(rotation), false) { }