Exemple #1
0
 /// <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);
Exemple #2
0
 /// <summary>
 /// Ctor. initialize from a rotation.
 /// </summary>
 public FMatrix2x2(FQuat2D rotation) :
     base(E_CreateStruct_FMatrix2x2_FQuat2D(rotation), false)
 {
 }