Documentation
¶
Overview ¶
Package mat2 contains a 2x2 float64 matrix type T and functions.
Index ¶
- Variables
- type T
- func (mat *T) Array() *[4]float64
- func (mat *T) AssignMul(a, b *T) *T
- func (mat *T) Cols() int
- func (mat *T) Determinant() float64
- func (mat *T) Get(col, row int) float64
- func (mat *T) Invert() (*T, error)
- func (mat *T) Inverted() (T, error)
- func (mat *T) IsZero() bool
- func (mat *T) MulVec2(vec *vec2.T) vec2.T
- func (mat *T) PracticallyEquals(matrix *T, allowedDelta float64) bool
- func (mat *T) Rows() int
- func (mat *T) Scale(f float64) *T
- func (mat *T) Scaled(f float64) T
- func (mat *T) Scaling() vec2.T
- func (mat *T) SetScaling(s *vec2.T) *T
- func (mat *T) Size() int
- func (mat *T) Slice() []float64
- func (mat *T) String() string
- func (mat *T) Trace() float64
- func (mat *T) TransformVec2(v *vec2.T)
- func (mat *T) Transpose() *T
- func (mat *T) Transposed() T
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type T ¶
T represents a 2x2 matrix.
func (*T) Array ¶
Array returns the elements of the matrix as array pointer. The data may be a copy depending on the platform implementation.
func (*T) Determinant ¶
func (*T) Get ¶
Get returns one element of the matrix. Matrices are defined by (two) column vectors.
Note that this function use the opposite reference order of rows and columns to the mathematical matrix indexing.
A value in this matrix is referenced by <col><row> where both row and column is in the range [0..1]. This notation and range reflects the underlying representation.
A value in a matrix A is mathematically referenced by A<row><col> where both row and column is in the range [1..2]. (It is really the lower case 'a' followed by <row><col> but this documentation syntax is somewhat limited.)
matrixA.Get(0, 1) == matrixA[0][1] ( == A21 in mathematical indexing)
func (*T) Invert ¶
Invert inverts the given matrix. Destructive operation. Does not check if matrix is singular and may lead to strange results!
func (*T) Inverted ¶
Inverted inverts a copy of the given matrix. Does not check if matrix is singular and may lead to strange results!
func (*T) PracticallyEquals ¶
PracticallyEquals compares two matrices if they are equal with each other within a delta tolerance.
func (*T) Scaled ¶
Scaled returns a copy of the matrix with the diagonal scale elements multiplied by f.
func (*T) SetScaling ¶
SetScaling sets the scaling diagonal of the matrix.
func (*T) Slice ¶
Slice returns the elements of the matrix as slice. The data may be a copy depending on the platform implementation.
func (*T) TransformVec2 ¶
TransformVec2 multiplies v with mat and saves the result in v.
func (*T) Transposed ¶
Transposed returns a transposed copy the matrix.