def getMat3(self): """Convert to mat3 by discarding 4th row and column. """ m11,m12,m13,m14,m21,m22,m23,m24,m31,m32,m33,m34,m41,m42,m43,m44 = self.mlist return _mat3(m11,m12,m13, m21,m22,m23, m31,m32,m33)
def _submat(self, i, j): M = _mat3() for k in xrange(3): for l in xrange(3): t = (k, l) if k >= i: t = (k + 1, t[1]) if l >= j: t = (t[0], l + 1) M[k, l] = self[t] return M
def _submat(self, i,j): M=_mat3() for k in range(3): for l in range(3): t=(k,l) if k>=i: t=(k+1,t[1]) if l>=j: t=(t[0],l+1) M[k,l] = self[t] return M
def toMat3(self): """Return rotation matrix as mat3.""" x, y, z, w = self.x, self.y, self.z, self.w xx = 2.0 * x * x yy = 2.0 * y * y zz = 2.0 * z * z xy = 2.0 * x * y zw = 2.0 * z * w xz = 2.0 * x * z yw = 2.0 * y * w yz = 2.0 * y * z xw = 2.0 * x * w return _mat3(1.0 - yy - zz, xy - zw, xz + yw, xy + zw, 1.0 - xx - zz, yz - xw, xz - yw, yz + xw, 1.0 - xx - yy)
def toMat3(self): """Return rotation matrix as mat3.""" x,y,z,w = self.x, self.y, self.z, self.w xx = 2.0*x*x yy = 2.0*y*y zz = 2.0*z*z xy = 2.0*x*y zw = 2.0*z*w xz = 2.0*x*z yw = 2.0*y*w yz = 2.0*y*z xw = 2.0*x*w return _mat3(1.0-yy-zz, xy-zw, xz+yw, xy+zw, 1.0-xx-zz, yz-xw, xz-yw, yz+xw, 1.0-xx-yy)
def getMat3(self): """Convert to mat3 by discarding 4th row and column. """ m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44 = self.mlist return _mat3(m11, m12, m13, m21, m22, m23, m31, m32, m33)