Implement Matrix3x3::DeterminantSymmetric

This commit is contained in:
2024-05-24 10:44:03 -04:00
parent 704a11cbc0
commit 3333dfee51
2 changed files with 30 additions and 5 deletions

View File

@@ -7,8 +7,6 @@
namespace J3ML::LinearAlgebra {
/** Sets the top-left 3x3 area of the matrix to the rotation matrix about the X-axis. Elements
outside the top-left 3x3 area are ignored. This matrix rotates counterclockwise if multiplied
in the order M*v, and clockwise if rotated in the order v*M.
@@ -110,9 +108,7 @@ namespace J3ML::LinearAlgebra {
*
* @note The member functions in this class use the convention that transforms are applied to
* vectors in the form M * v. This means that "Matrix3x3 M, M1, M2; M = M1 * M2;" gives a transformation M
* that applies M2 first, followed by M1 second
*/
* that applies M2 first, followed by M1 second. */
class Matrix3x3 {
public: /// Constant Values
enum { Rows = 3 };
@@ -409,6 +405,11 @@ namespace J3ML::LinearAlgebra {
Matrix3x3 ScaleBy(const Vector3& rhs);
Vector3 GetScale() const;
/// Scales the given row by a scalar value.
void ScaleRow(int row, float scalar);
/// Scales the given column by a scalar value.
void ScaleCol(int col, float scalar);
Vector3 operator[](int row) const;
/// Transforms the given vector by this matrix (in the order M * v).