abstract hxmath.math.Quaternion(QuaternionType) from QuaternionType to QuaternionType
Available on all platforms
Quaternion for rotation in 3D.
Class Fields
function conjugate(a:Quaternion):Quaternion
Create a complex conjugate copy of a quaternion (complex/vector portion is negated).
| a | |
| returns | a |
function equals(a:Quaternion, b:Quaternion):Bool
Test element-wise equality between two quaternions. False if one of the inputs is null and the other is not.
| a | |
| b | |
| returns | ai == bi |
function fromArray(rawData:Array<Float>):Quaternion
Construct a Quaternion from an array.
| rawData | The input array. |
| returns | The constructed structure. |
function fromAxisAngle(angle:Float, axis:Vector3):Quaternion
Create a quaternion from an axis-angle pair.
| angle | The angle to rotate. |
| axis | The axis to rotate around. |
| returns | The quaternion. |
function notEquals(a:Quaternion, b:Quaternion):Bool
Test inequality between two quaternions.
| a | |
| b | |
| returns | !(ai == bi) |
function scalarMultiply(s:Float, a:Quaternion):Quaternion
Multiply a (real) scalar with a quaternion.
| s | |
| a | |
| returns | s * a |
function subtract(a:Quaternion, b:Quaternion):Quaternion
Subtract one quaternion from another.
| a | |
| b | |
| returns | a - b |
Instance Fields
function new(?s:Float = 1.0f, ?v:Vector3 = null):QuaternionType
Constructor.
| s | Scalar (real) part. |
| v | Vector (complex) part. |
function addWith(a:Quaternion):Quaternion
Add a quaternion in place. Note: += operator on Haxe abstracts does not behave this way (a new object is returned).
| a | |
| returns | selfi += ai |
function applyScalarFunc(func:Float ->Float):Quaternion
Apply a scalar function to each element.
| func | The function to apply. |
| returns | The modified object. |
function copyTo(other:Quaternion):Void
Copy the contents of this structure to another.
| other | The target structure. |
function exp():Quaternion
Get the exponential for the quaternion.
| returns | exp(q) == [cos(theta), v * sin(theta)] |
function getArrayElement(i:Int):Float
Get an element by position.
| i | The element index. |
| returns | The element. |
function rotate(u:Vector3):Vector3
Rotate the given vector, assuming the current quaternion is normalized (if not, normalize first).
| u | The vector to rotate. |
| returns | The rotated vector. |
function setArrayElement(i:Int, value:Float):Float
Set an element by position.
| i | The element index. |
| value | The new value. |
| returns | The updated element. |
function subtractWith(a:Quaternion):Quaternion
Subtract a quaternion in place. Note: -= operator on Haxe abstracts does not behave this way (a new object is returned).
| a | |
| returns | selfi -= ai |