MeshLib Python Docs
Loading...
Searching...
No Matches
mrmeshpy.Quaterniond Class Reference

Public Member Functions

Vector3d __call__ (self, Vector3d p)
 
Quaterniond __imatmul__ (self, float s)
 
None __init__ (self)
 
None __init__ (self, float a, float b, float c, float d)
 
None __init__ (self, Vector3d axis, float angle)
 
None __init__ (self, float real, Vector3d im)
 
None __init__ (self, Matrix3d m)
 
None __init__ (self, Vector3d from_, Vector3d to)
 
Quaterniond __itruediv__ (self, float s)
 
Quaterniond __neg__ (self)
 
float angle (self)
 
Vector3d axis (self)
 
Quaterniond conjugate (self)
 
Vector3d im (self)
 
Quaterniond inverse (self)
 
float norm (self)
 
float normSq (self)
 
None normalize (self)
 
Quaterniond 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

None __init__ (*args, **kwargs)
 
Quaterniond lerp (Quaterniond q0, Quaterniond q1, float t)
 
Quaterniond operator (*args, **kwargs)
 
Quaterniond operator (*args, **kwargs)
 
Quaterniond slerp (Quaterniond q0, Quaterniond q1, float t)
 
Matrix3d slerp (Matrix3d m0, Matrix3d m1, float t)
 
AffineXf3d slerp (AffineXf3d xf0, AffineXf3d xf1, float t, Vector3d p='{}')
 

Static Protected Attributes

typing _offsetof_a = 0
 
typing _offsetof_b = 8
 
typing _offsetof_c = 16
 
typing _offsetof_d = 24
 

Detailed Description

Generated from:  MR::Quaterniond

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

Constructor & Destructor Documentation

◆ __init__() [1/7]

None mrmeshpy.Quaterniond.__init__ ( * args,
** kwargs )
static

◆ __init__() [2/7]

None mrmeshpy.Quaterniond.__init__ ( self)

◆ __init__() [3/7]

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

◆ __init__() [4/7]

None mrmeshpy.Quaterniond.__init__ ( self,
Vector3d axis,
float angle )
\\related Quaternion
\\{

◆ __init__() [5/7]

None mrmeshpy.Quaterniond.__init__ ( self,
float real,
Vector3d im )

◆ __init__() [6/7]

None mrmeshpy.Quaterniond.__init__ ( self,
Matrix3d m )

◆ __init__() [7/7]

None mrmeshpy.Quaterniond.__init__ ( self,
Vector3d from_,
Vector3d to )
finds shorter arc rotation quaternion from one vector to another

Member Function Documentation

◆ __call__()

Vector3d mrmeshpy.Quaterniond.__call__ ( self,
Vector3d 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__()

Quaterniond mrmeshpy.Quaterniond.__imatmul__ ( self,
float s )

◆ __itruediv__()

Quaterniond mrmeshpy.Quaterniond.__itruediv__ ( self,
float s )

◆ __neg__()

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

◆ a() [1/2]

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

◆ a() [2/2]

None mrmeshpy.Quaterniond.a ( self,
float arg1 )

◆ angle()

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

◆ axis()

Vector3d mrmeshpy.Quaterniond.axis ( self)
returns axis of rotation encoded in this quaternion

◆ b() [1/2]

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

◆ b() [2/2]

None mrmeshpy.Quaterniond.b ( self,
float arg1 )

◆ c() [1/2]

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

◆ c() [2/2]

None mrmeshpy.Quaterniond.c ( self,
float arg1 )

◆ conjugate()

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

◆ d() [1/2]

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

◆ d() [2/2]

None mrmeshpy.Quaterniond.d ( self,
float arg1 )

◆ im()

Vector3d mrmeshpy.Quaterniond.im ( self)
returns imaginary part of the quaternion as a vector

◆ inverse()

Quaterniond mrmeshpy.Quaterniond.inverse ( self)
computes reciprocal quaternion

◆ lerp()

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

◆ norm()

float mrmeshpy.Quaterniond.norm ( self)

◆ normalize()

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

◆ normalized()

Quaterniond mrmeshpy.Quaterniond.normalized ( self)

◆ normSq()

float mrmeshpy.Quaterniond.normSq ( self)

◆ operator() [1/2]

Quaterniond mrmeshpy.Quaterniond.operator ( * args,
** kwargs )
static

◆ operator() [2/2]

Quaterniond mrmeshpy.Quaterniond.operator ( * args,
** kwargs )
static

◆ slerp() [1/3]

AffineXf3d mrmeshpy.Quaterniond.slerp ( AffineXf3d xf0,
AffineXf3d xf1,
float t,
Vector3d p = '{}' )
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]

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

◆ slerp() [3/3]

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

Member Data Documentation

◆ _offsetof_a

typing mrmeshpy.Quaterniond._offsetof_a = 0
staticprotected

◆ _offsetof_b

typing mrmeshpy.Quaterniond._offsetof_b = 8
staticprotected

◆ _offsetof_c

typing mrmeshpy.Quaterniond._offsetof_c = 16
staticprotected

◆ _offsetof_d

typing mrmeshpy.Quaterniond._offsetof_d = 24
staticprotected

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