lib/ruby_on_rays/matrix4x4.rb
# Returns the determinant of the matrix.
# @return [Float]
Returns the determinant of the matrix.
Returns the determinant of the matrix .
def determinant
       @m[0] * @m[5] * @m[10] * @m[15] +
       @m[0] * @m[6] * @m[11] * @m[13] +
       @m[0] * @m[7] * @m[9]  * @m[14] +
       @m[1] * @m[4] * @m[11] * @m[14] +
       @m[1] * @m[6] * @m[8]  * @m[15] +
       @m[1] * @m[7] * @m[10] * @m[12] +
       @m[2] * @m[4] * @m[9]  * @m[14] +
       @m[2] * @m[5] * @m[11] * @m[12] +
       @m[2] * @m[7] * @m[8]  * @m[13] +
       @m[3] * @m[4] * @m[10] * @m[13] +
       @m[3] * @m[5] * @m[8]  * @m[14] +
       @m[3] * @m[6] * @m[9]  * @m[12] -
       @m[0] * @m[5] * @m[11] * @m[14] -
       @m[0] * @m[6] * @m[9]  * @m[15] -
       @m[0] * @m[7] * @m[10] * @m[13] -
       @m[1] * @m[4] * @m[10] * @m[15] -
       @m[1] * @m[6] * @m[11] * @m[12] -
       @m[1] * @m[7] * @m[8]  * @m[14] -
       @m[2] * @m[4] * @m[11] * @m[13] -
       @m[2] * @m[5] * @m[8]  * @m[15] -
       @m[2] * @m[7] * @m[9]  * @m[12] -
       @m[3] * @m[4] * @m[9]  * @m[14] -
       @m[3] * @m[5] * @m[10] * @m[12] -
       @m[3] * @m[6] * @m[8]  * @m[13]
    end
def determinant @m [ 0 ] * @m [ 5 ] * @m [ 10 ] * @m [ 15 ] + @m [ 0 ] * @m [ 6 ] * @m [ 11 ] * @m [ 13 ] + @m [ 0 ] * @m [ 7 ] * @m [ 9 ] * @m [ 14 ] + @m [ 1 ] * @m [ 4 ] * @m [ 11 ] * @m [ 14 ] + @m [ 1 ] * @m [ 6 ] * @m [ 8 ] * @m [ 15 ] + @m [ 1 ] * @m [ 7 ] * @m [ 10 ] * @m [ 12 ] + @m [ 2 ] * @m [ 4 ] * @m [ 9 ] * @m [ 14 ] + @m [ 2 ] * @m [ 5 ] * @m [ 11 ] * @m [ 12 ] + @m [ 2 ] * @m [ 7 ] * @m [ 8 ] * @m [ 13 ] + @m [ 3 ] * @m [ 4 ] * @m [ 10 ] * @m [ 13 ] + @m [ 3 ] * @m [ 5 ] * @m [ 8 ] * @m [ 14 ] + @m [ 3 ] * @m [ 6 ] * @m [ 9 ] * @m [ 12 ] - @m [ 0 ] * @m [ 5 ] * @m [ 11 ] * @m [ 14 ] - @m [ 0 ] * @m [ 6 ] * @m [ 9 ] * @m [ 15 ] - @m [ 0 ] * @m [ 7 ] * @m [ 10 ] * @m [ 13 ] - @m [ 1 ] * @m [ 4 ] * @m [ 10 ] * @m [ 15 ] - @m [ 1 ] * @m [ 6 ] * @m [ 11 ] * @m [ 12 ] - @m [ 1 ] * @m [ 7 ] * @m [ 8 ] * @m [ 14 ] - @m [ 2 ] * @m [ 4 ] * @m [ 11 ] * @m [ 13 ] - @m [ 2 ] * @m [ 5 ] * @m [ 8 ] * @m [ 15 ] - @m [ 2 ] * @m [ 7 ] * @m [ 9 ] * @m [ 12 ] - @m [ 3 ] * @m [ 4 ] * @m [ 9 ] * @m [ 14 ] - @m [ 3 ] * @m [ 5 ] * @m [ 10 ] * @m [ 12 ] - @m [ 3 ] * @m [ 6 ] * @m [ 8 ] * @m [ 13 ] end
Returns the determinant of the matrix.
Returns the determinant of the matrix .
None
Float