Исправления в матрицах 2x3 и 3x2 / Several fixes in 2x3 and 3x2 matrixes
This commit is contained in:
parent
3ba55c7524
commit
301cabe8de
22 changed files with 3805 additions and 3744 deletions
|
|
@ -81,29 +81,17 @@ namespace Geometry
|
|||
|
||||
public static void Get2x3At3x2(in SPMatrix2x3 left, in SPMatrix3x2 right, out SPMatrix3x3 product)
|
||||
{
|
||||
float r1c1 = left.r1c1 * right.r1c1 + left.r1c2 * right.r2c1;
|
||||
float r1c2 = left.r1c1 * right.r1c2 + left.r1c2 * right.r2c2;
|
||||
float r1c3 = left.r1c1 * right.r1c3 + left.r1c2 * right.r2c3;
|
||||
|
||||
float r2c1 = left.r2c1 * right.r1c1 + left.r2c2 * right.r2c1;
|
||||
float r2c2 = left.r2c1 * right.r1c2 + left.r2c2 * right.r2c2;
|
||||
float r2c3 = left.r2c1 * right.r1c3 + left.r2c2 * right.r2c3;
|
||||
|
||||
float r3c1 = left.r3c1 * right.r1c1 + left.r3c2 * right.r2c1;
|
||||
float r3c2 = left.r3c1 * right.r1c2 + left.r3c2 * right.r2c2;
|
||||
float r3c3 = left.r3c1 * right.r1c2 + left.r3c2 * right.r2c3;
|
||||
|
||||
product.r1c1 = r1c1;
|
||||
product.r1c2 = r1c2;
|
||||
product.r1c3 = r1c3;
|
||||
|
||||
product.r2c1 = r2c1;
|
||||
product.r2c2 = r2c2;
|
||||
product.r2c3 = r2c3;
|
||||
|
||||
product.r3c1 = r3c1;
|
||||
product.r3c2 = r3c2;
|
||||
product.r3c3 = r3c3;
|
||||
product.r1c1 = left.r1c1 * right.r1c1 + left.r1c2 * right.r2c1;
|
||||
product.r1c2 = left.r1c1 * right.r1c2 + left.r1c2 * right.r2c2;
|
||||
product.r1c3 = left.r1c1 * right.r1c3 + left.r1c2 * right.r2c3;
|
||||
|
||||
product.r2c1 = left.r2c1 * right.r1c1 + left.r2c2 * right.r2c1;
|
||||
product.r2c2 = left.r2c1 * right.r1c2 + left.r2c2 * right.r2c2;
|
||||
product.r2c3 = left.r2c1 * right.r1c3 + left.r2c2 * right.r2c3;
|
||||
|
||||
product.r3c1 = left.r3c1 * right.r1c1 + left.r3c2 * right.r2c1;
|
||||
product.r3c2 = left.r3c1 * right.r1c2 + left.r3c2 * right.r2c2;
|
||||
product.r3c3 = left.r3c1 * right.r1c2 + left.r3c2 * right.r2c3;
|
||||
}
|
||||
|
||||
public static void Get3x2At3x3(in SPMatrix3x2 left, in SPMatrix3x3 right, out SPMatrix3x2 product)
|
||||
|
|
@ -127,17 +115,11 @@ namespace Geometry
|
|||
|
||||
public static void Get3x2At2x3(in SPMatrix3x2 left, in SPMatrix2x3 right, out SPMatrix2x2 product)
|
||||
{
|
||||
float r1c1 = left.r1c1 * right.r1c1 + left.r1c2 * right.r2c1 + left.r1c3 * right.r3c1;
|
||||
float r1c2 = left.r1c1 * right.r1c2 + left.r1c2 * right.r2c2 + left.r1c3 * right.r3c2;
|
||||
product.r1c1 = left.r1c1 * right.r1c1 + left.r1c2 * right.r2c1 + left.r1c3 * right.r3c1;
|
||||
product.r1c2 = left.r1c1 * right.r1c2 + left.r1c2 * right.r2c2 + left.r1c3 * right.r3c2;
|
||||
|
||||
float r2c1 = left.r2c1 * right.r1c1 + left.r2c2 * right.r2c1 + left.r2c3 * right.r3c1;
|
||||
float r2c2 = left.r2c1 * right.r1c2 + left.r2c2 * right.r2c2 + left.r2c3 * right.r3c2;
|
||||
|
||||
product.r1c1 = r1c1;
|
||||
product.r1c2 = r1c2;
|
||||
|
||||
product.r2c1 = r2c1;
|
||||
product.r2c2 = r2c2;
|
||||
product.r2c1 = left.r2c1 * right.r1c1 + left.r2c2 * right.r2c1 + left.r2c3 * right.r3c1;
|
||||
product.r2c2 = left.r2c1 * right.r1c2 + left.r2c2 * right.r2c2 + left.r2c3 * right.r3c2;
|
||||
}
|
||||
|
||||
public static void Get3x3At2x3(in SPMatrix3x3 left, in SPMatrix2x3 right, out SPMatrix2x3 product)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue