MeshLib Python Docs
Loading...
Searching...
No Matches
meshlib.mrmeshpy.Quaternionf Class Reference

Public Member Functions

Vector3f __call__ (self, Vector3f p)
 
Quaternionf __imatmul__ (self, float s)
 
None __init__ (self)
 
None __init__ (self, float a, float b, float c, float d)
 
None __init__ (self, Vector3f axis, float angle)
 
None __init__ (self, float real, Vector3f im)
 
None __init__ (self, Matrix3f m)
 
None __init__ (self, Vector3f from_, Vector3f to)
 
None __init__ (self, Quaternionf arg0)
 
Quaternionf __itruediv__ (self, float s)
 
Quaternionf __neg__ (self)
 
float angle (self)
 
Vector3f axis (self)
 
Quaternionf conjugate (self)
 
Vector3f im (self)
 
Quaternionf inverse (self)
 
float norm (self)
 
float normSq (self)
 
None normalize (self)
 
Quaternionf normalized (self)
 
float a (self)
 
None a (self, float arg1)
 
float b (self)
 
None b (self, float arg1)
 
float c (self)
 
None c (self, float arg1)
 
float d (self)
 
None d (self, float arg1)
 

Static Public Member Functions

Quaternionf lerp (Quaternionf q0, Quaternionf q1, float t)
 
Quaternionf slerp (Quaternionf q0, Quaternionf q1, float t)
 
Matrix3f slerp (Matrix3f m0, Matrix3f m1, float t)
 
AffineXf3f slerp (AffineXf3f xf0, AffineXf3f xf1, float t, Vector3f p='MR::Vector3< float >{}')
 

Protected Member Functions

Matrix3f _convert_to_Matrix3_float (self)
 

Detailed Description

Generated from:  MR::Quaternionf
Aliases:  Quaternion_float

Represents a quaternion following the notations from
https://en.wikipedia.org/wiki/Quaternion
\\ingroup MathGroup

Constructor & Destructor Documentation

◆ __init__() [1/7]

None meshlib.mrmeshpy.Quaternionf.__init__ ( self)

◆ __init__() [2/7]

None meshlib.mrmeshpy.Quaternionf.__init__ ( self,
float a,
float b,
float c,
float d )

◆ __init__() [3/7]

None meshlib.mrmeshpy.Quaternionf.__init__ ( self,
Vector3f axis,
float angle )
\\related Quaternion
\\{

◆ __init__() [4/7]

None meshlib.mrmeshpy.Quaternionf.__init__ ( self,
float real,
Vector3f im )

◆ __init__() [5/7]

None meshlib.mrmeshpy.Quaternionf.__init__ ( self,
Matrix3f m )

◆ __init__() [6/7]

None meshlib.mrmeshpy.Quaternionf.__init__ ( self,
Vector3f from_,
Vector3f to )
finds shorter arc rotation quaternion from one vector to another

◆ __init__() [7/7]

None meshlib.mrmeshpy.Quaternionf.__init__ ( self,
Quaternionf arg0 )
Implicit copy constructor.

Member Function Documentation

◆ __call__()

Vector3f meshlib.mrmeshpy.Quaternionf.__call__ ( self,
Vector3f p )
for unit quaternion returns the rotation of point p, which is faster to compute for single point;
for multiple points it is faster to create matrix representation and apply it to the points

◆ __imatmul__()

Quaternionf meshlib.mrmeshpy.Quaternionf.__imatmul__ ( self,
float s )

◆ __itruediv__()

Quaternionf meshlib.mrmeshpy.Quaternionf.__itruediv__ ( self,
float s )

◆ __neg__()

Quaternionf meshlib.mrmeshpy.Quaternionf.__neg__ ( self)
returns quaternion representing the same rotation, using the opposite rotation direction and opposite angle

◆ _convert_to_Matrix3_float()

Matrix3f meshlib.mrmeshpy.Quaternionf._convert_to_Matrix3_float ( self)
protected
converts this into 3x3 rotation matrix

◆ a() [1/2]

float meshlib.mrmeshpy.Quaternionf.a ( self)
real part of the quaternion

◆ a() [2/2]

None meshlib.mrmeshpy.Quaternionf.a ( self,
float arg1 )

◆ angle()

float meshlib.mrmeshpy.Quaternionf.angle ( self)
returns angle of rotation encoded in this quaternion

◆ axis()

Vector3f meshlib.mrmeshpy.Quaternionf.axis ( self)
returns axis of rotation encoded in this quaternion

◆ b() [1/2]

float meshlib.mrmeshpy.Quaternionf.b ( self)
imaginary part: b*i + c*j + d*k

◆ b() [2/2]

None meshlib.mrmeshpy.Quaternionf.b ( self,
float arg1 )

◆ c() [1/2]

float meshlib.mrmeshpy.Quaternionf.c ( self)
imaginary part: b*i + c*j + d*k

◆ c() [2/2]

None meshlib.mrmeshpy.Quaternionf.c ( self,
float arg1 )

◆ conjugate()

Quaternionf meshlib.mrmeshpy.Quaternionf.conjugate ( self)
computes conjugate quaternion, which for unit quaternions encodes the opposite rotation

◆ d() [1/2]

float meshlib.mrmeshpy.Quaternionf.d ( self)
imaginary part: b*i + c*j + d*k

◆ d() [2/2]

None meshlib.mrmeshpy.Quaternionf.d ( self,
float arg1 )

◆ im()

Vector3f meshlib.mrmeshpy.Quaternionf.im ( self)
returns imaginary part of the quaternion as a vector

◆ inverse()

Quaternionf meshlib.mrmeshpy.Quaternionf.inverse ( self)
computes reciprocal quaternion

◆ lerp()

Quaternionf meshlib.mrmeshpy.Quaternionf.lerp ( Quaternionf q0,
Quaternionf q1,
float t )
static
given t in [0,1], interpolates linearly two quaternions giving in general not-unit quaternion

◆ norm()

float meshlib.mrmeshpy.Quaternionf.norm ( self)

◆ normalize()

None meshlib.mrmeshpy.Quaternionf.normalize ( self)
scales this quaternion to make its norm unit

◆ normalized()

Quaternionf meshlib.mrmeshpy.Quaternionf.normalized ( self)

◆ normSq()

float meshlib.mrmeshpy.Quaternionf.normSq ( self)

◆ slerp() [1/3]

AffineXf3f meshlib.mrmeshpy.Quaternionf.slerp ( AffineXf3f xf0,
AffineXf3f xf1,
float t,
Vector3f p = 'MR::Vector3<float>{}' )
static
given t in [0,1] and rigid transformations, interpolates them spherically and produces another rigid transformation;
p is the only point that will have straight line movement during interpolation

◆ slerp() [2/3]

Matrix3f meshlib.mrmeshpy.Quaternionf.slerp ( Matrix3f m0,
Matrix3f m1,
float t )
static
given t in [0,1] and two rotation matrices, interpolates them spherically and produces another rotation matrix

◆ slerp() [3/3]

Quaternionf meshlib.mrmeshpy.Quaternionf.slerp ( Quaternionf q0,
Quaternionf q1,
float t )
static
given t in [0,1] and two unit quaternions, interpolates them spherically and produces another unit quaternion

The documentation for this class was generated from the following file: