Matrix44 (hwx.common.math)¶
A 4x4 orthonormal Matrix.
Properties¶
Public Methods¶
copy (self)
divide (self, other)
format (self, format=’%s’)
getAxisAndAngleOfRotation (self)
getDeterminant (self)
getEulerAngles (self, degrees=False)
getTranslation (self)
invert (self)
isIdentity (self)
multiply (self, other)
multiplyPoint (self, x, y=None, z=None)
multiplyVector (self, x, y=None, z=None)
orientFromAxes (self, axes, dir1, dir2=(1, 0, 0))
orientFromEulerAngles (self, e1, e2=None, e3=None, degrees=False)
orientFromEulerParameters (self, e0, e1=None, e2=None, e3=None)
orthogonalize (self)
pt (self, x, y=None, z=None)
pts (self, pts)
rotate (self, axis, angle, degrees=True)
rotateAroundAxis (self, axis, angle, degrees=True)
rotx (self, angle, degrees=True)
roty (self, angle, degrees=True)
rotz (self, angle, degrees=True)
scale (self, x, y=None, z=None)
setTranslation (self, x, y=None, z=None)
translate (self, x=0, y=None, z=None)
transpose (self)
update (self, other)
vec (self, x, y=None, z=None)
zeroSmallValues (self, zero=1e-10)
zp (self, pt1, pt2=None)
Property Details¶
- property angles¶
 
The Euler angles (Body313) in radians.
- property location¶
 
Returns or sets the location/origin value.
- property origin¶
 
Returns or sets the location/origin value.
- property x¶
 
The vector along the x-axis.
- property y¶
 
The vector along the y-axis.
- property z¶
 
The vector along the z-axis.
Method Details¶
- copy(self)¶
 
Creates a copy of self.
- returns
 The newly created Matrix44.
- rtype
 Matrix44
- divide(self, other)¶
 
Returns the result of the multiplication with the inverse of other.
- param other
 The Matrix44 to inverse and multiply with.
- type other
 Matrix44
- returns
 The result of the multiplication with the inverse.
- rtype
 Matrix44
- format(self, format='%s')¶
 
Formats as a string.
- param format
 The format style to use.
- type format
 str
- returns
 A string represantation of the instance Matrix44 object on which it was called.
- rtype
 str
- getAxisAndAngleOfRotation(self)¶
 
Returns the axis and angle from the rotation matrix
- getDeterminant(self)¶
 
Returns the matrix determinant.
- getEulerAngles(self, degrees=False)¶
 
Returns the Euler angles.
- param degrees
 Determines if the angle values are in degrees or not.
- type degrees
 bool
- returns
 The Euler angles.
- rtype
 list
- getTranslation(self)¶
 
Returns the position as a Point.
- invert(self)¶
 
Computes the inverse.
- returns
 The inverse of the instance Matrix44 object on which it was called.
- rtype
 Matrix44
- isIdentity(self)¶
 
Returns True if self is the identity matrix, False otherwise.
- multiply(self, other)¶
 
Multiplies with other.
- param other
 The other to multiply with.
- type other
 float | Point | Vector | Matrix44
- returns
 The result of the multiplication.
- rtype
 Matrix44 | Vector | Point
- multiplyPoint(self, x, y=None, z=None)¶
 
Multiplies with a Point.
Points are represented as mathematical column points and have a one in the fourth position, which includes translation operations.
- param x
 An itetable of 3 or the x value of a Point.
- type x
 Point | list[float] | float
- param y
 The y value of a Point.
- type y
 float
- param z
 The z value of a Point.
- type z
 float
- returns
 The result of the multiplication.
- rtype
 Point
- multiplyVector(self, x, y=None, z=None)¶
 
Multiplies with the Vector specified with x, y, z.
Vectors are represented as mathematical column vectors and have a zero in the fourth position, which does not include translation operations.
- param x
 An itetable of 3 or the x value of a Vector.
- type x
 Vector | list[float] | float
- param y
 The y value of a Vector.
- type y
 float
- param z
 The z value of a Vector.
- type z
 float
- returns
 The result of the multiplication.
- rtype
 Vector
- orientFromAxes(self, axes, dir1, dir2=(1, 0, 0))¶
 
Orients with the specified axes.
- param axes
 The axis to orient by: Valid choices are ‘x’, ‘y’, ‘z’, ‘xy’, ‘xz’, ‘yx’, ‘yz’, ‘zx’, ‘zy’.
- type axes
 str
- param dir1
 The vector for the first axis.
- type dir1
 Vector | list[float]
- param dir2
 The vector for the second axis.
- type dir2
 Vector | list[float]
- raises RuntimeError
 In case of unsupported axes specification
- returns
 A reference to the instance Matrix44 object on which it was called.
- rtype
 Matrix44
- orientFromEulerAngles(self, e1, e2=None, e3=None, degrees=False)¶
 
Orients with the specified Euler angles.
- param e1
 Rotation around x-axis.
- type e1
 float
- param e2
 Rotation around y-axis.
- type e2
 float
- param e3
 Rotation around z-axis.
- type e3
 float
- param degrees
 Determines if the angle values are in degrees or not.
- type degrees
 bool
- returns
 A reference to the instance Matrix44 object on which it was called.
- rtype
 Matrix44
- orientFromEulerParameters(self, e0, e1=None, e2=None, e3=None)¶
 
Orients with the specified Euler parameters.
- param e0
 Euler parameter.
- type e0
 float
- param e1
 Euler parameter.
- type e1
 float
- param e2
 Euler parameter.
- type e2
 float
- param e3
 Euler parameter.
- type e3
 float
- returns
 A reference to the instance Matrix44 object on which it was called.
- rtype
 Matrix44
- orthogonalize(self)¶
 
Orthogonalizes the axes (x, y, z).
- raises RuntimeError
 If Matrix44 can not be orthogonalized.
- returns
 A Matrix44 with x, y, z being orthogonal.
- rtype
 Matrix44
- pt(self, x, y=None, z=None)¶
 
Multiplies with a Point.
Points are represented as mathematical column points and have a one in the fourth position, which includes translation operations.
- param x
 An itetable of 3 or the x value of a Point.
- type x
 Point | list[float] | float
- param y
 The y value of a Point.
- type y
 float
- param z
 The z value of a Point.
- type z
 float
- returns
 The result of the multiplication.
- rtype
 Point
- pts(self, pts)¶
 
Returns the result of multiplying each Point in the specified list of Points with self.
- param pts
 A Point (or list).
- type pts
 Point | list[float]
- returns
 The result of the pieswise multiplication.
- rtype
 list[Point]
- rotate(self, axis, angle, degrees=True)¶
 
Rotates around the specified axis.
This is a body rotation.
- param axis
 The rotation axis. Valid choices are “x”, “y”, “z” or any Vector.
- type axis
 Vector | str
- param angle
 The rotation angle.
- type angle
 float
- param degrees
 Determines if angles is in degrees or not.
- type degrees
 bool
- returns
 A newly created Matrix44.
- rtype
 Matrix44
- rotateAroundAxis(self, axis, angle, degrees=True)¶
 
Rotates around the axis.
This is a body rotation.
- param axis
 The rotation axis.
- type axis
 Vector
- param angle
 The rotation angle.
- type angle
 float
- param degrees
 Determines if angles is in degrees or not.
- type degrees
 bool
- returns
 A newly created Matrix44.
- rtype
 Matrix44
- rotx(self, angle, degrees=True)¶
 
Rotates around the x-axis.
This is a body rotation.
- param angle
 The rotation angle.
- type angle
 float
- param degrees
 Determines if angles is in degrees or not.
- type degrees
 bool
- returns
 A newly created Matrix44.
- rtype
 Matrix44
- roty(self, angle, degrees=True)¶
 
Rotates around the y-axis.
This is a body rotation.
- param angle
 The rotation angle.
- type angle
 float
- param degrees
 Determines if angles is in degrees or not.
- type degrees
 bool
- returns
 A newly created Matrix44.
- rtype
 Matrix44
- rotz(self, angle, degrees=True)¶
 
Rotates around the z-axis.
This is a body rotation.
- param angle
 The rotation angle.
- type angle
 float
- param degrees
 Determines if angles is in degrees or not.
- type degrees
 bool
- returns
 A newly created Matrix44.
- rtype
 Matrix44
- scale(self, x, y=None, z=None)¶
 
Scales by the specified amount in x, y, z.
If y is None, x is assumed to be a list of 3 floats.
- param x
 The factor to multiply the ‘x’ vector with.
- type x
 float
- param y
 The factor to multiply the ‘y’ vector with.
- type y
 float
- param z
 The factor to multiply the ‘z’ vector with.
- type z
 float
- returns
 A newly created Matrix44.
- rtype
 Matrix44
- setTranslation(self, x, y=None, z=None)¶
 
Sets the position as a Point.
If y is None, x is assumed to be a list of 3 floats.
- param x
 The vector to set the ‘x’ vector.
- type x
 float
- param y
 The vector to set the ‘y’ vector.
- type y
 float
- param z
 The vector to set the ‘z’ vector.
- type z
 float
- returns
 A reference to the instance Matrix44 object on which it was called.
- rtype
 Matrix44
- translate(self, x=0, y=None, z=None)¶
 
Translates by the specified distance each x, y, z vector.
If y is None, x is assumed to be a list of 3 floats.
- param x
 The distance to translate the ‘x’ vector.
- type x
 float
- param y
 The distance to translate the ‘y’ vector.
- type y
 float
- param z
 The distance to translate the ‘z’ vector.
- type z
 float
- returns
 A reference to the instance Matrix44 object on which it was called.
- rtype
 Matrix44
- transpose(self)¶
 
Returns the transpose.
- update(self, other)¶
 
Copies the data from other to self.
- param other
 The Matrix44 to copy values from.
- type other
 Matrix44
- returns
 A reference to the instance Matrix44 object on which it was called.
- rtype
 Matrix44
- vec(self, x, y=None, z=None)¶
 
Multiplies with the Vector specified with x, y, z.
Vectors are represented as mathematical column vectors and have a zero in the fourth position, which does not include translation operations.
- param x
 An itetable of 3 or the x value of a Vector.
- type x
 Vector | list[float] | float
- param y
 The y value of a Vector.
- type y
 float
- param z
 The z value of a Vector.
- type z
 float
- returns
 The result of the multiplication.
- rtype
 Vector
- zeroSmallValues(self, zero=1e-10)¶
 
Sets all components that are less than the specified value to zero.
- param zero
 The tolerance on what to zero.
- type zero
 float
- returns
 A reference to the instance Matrix44 object on which it was called.
- rtype
 Matrix44
- zp(self, pt1, pt2=None)¶
 
Depricated