osg.Quat¶
- class osg.Quat¶
- Represents
c++ class
- Wraps
osg::Quat
A quaternion class. It can be used to represent an orientation in 3D space. There a numbers a getters/setters to control values of each quaternion’s components (e.g. getter
osg.Quat.y()
and setter with the same name with value to set etc.).Constructors:
- osg.Quat()¶
- osg.Quat(osg.Quat other)
-
- Параметры
other (
osg.Quat
) –
- osg.Quat(double x, double y, double z, double w)
-
- Параметры
x (
double
) –y (
double
) –z (
double
) –w (
double
) –
- osg.Quat(double angle, osg.Vec3 axis)
-
- Параметры
angle (
double
) –axis (
osg.Vec3
) –
- osg.Quat(double angle1, osg.Vec3 axis1, double angle2, osg.Vec3 axis2, double angle3, osg.Vec3 axis3)
Methods:
- :x()¶
-
- Тип результата
double
- :x(double x)
-
- Параметры
x (
double
) –
- :y()¶
-
- Тип результата
double
- :y(double y)
-
- Параметры
y (
double
) –
- :z()¶
-
- Тип результата
double
- :z(double z)
-
- Параметры
z (
double
) –
- :w()¶
-
- Тип результата
double
- :w(double w)
-
- Параметры
w (
double
) –
- :set(double x, double y, double z, double w)¶
-
- Параметры
x (
double
) –y (
double
) –z (
double
) –w (
double
) –
- :set(osg.Vec4 v)
-
- Параметры
v (
osg.Vec4
) –
- :set(osg.Matrix m)
-
- Параметры
m (
osg.Matrix
) –
- :get()¶
-
- Тип результата
- :getRotate(double angle, double x, double y, double z)
Return the angle and vector components represented by the quaternion.
- Параметры
angle (
double
) –x (
double
) –y (
double
) –z (
double
) –
- :getRotate(double angle, osg.Vec3 axis)
Return the angle and vector represented by the quaternion.
- Параметры
angle (
double
) –axis (
osg.Vec3
) –
- :zeroRotation()¶
Return
true
if theosg.Quat
represents a zero rotation, and therefore can be ignored in computations.- Тип результата
bool
- :slerp(double t, osg.Quat q1, osg.Quat q2)¶
Spherical Linear Interpolation.
- :length()¶
Length of the quaternion =
sqrt( vec . vec )
.- Тип результата
double
- :length2()¶
Length of the quaternion =
vec . vec
.- Тип результата
double
- :makeRotate(double angle, double x, double y, double z)¶
Set a quaternion which will perform a rotation of an angle around the axis given by the vector with x, y and z components.
- Параметры
angle (
double
) –x (
double
) –y (
double
) –z (
double
) –
- :makeRotate(double angle, osg.Vec3 axis)
Set a quaternion which will perform a rotation of an angle around the axis given by the vector.
- Параметры
angle (
double
) –axis (
osg.Vec3
) –
- :makeRotate(double angle1, osg.Vec3 axis1, double angle2, osg.Vec3 axis2, double angle3, osg.Vec3 axis3)
- :makeRotate(osg.Vec3 vec1, osg.Vec3 vec2)
Make a rotation
osg.Quat
which will rotate vec1 to vec2. Generally take a dot product to get the angle between these and then use a cross product to get the rotation axis Watch out for the two special cases when the vectors are co-incident or opposite in direction.