Back to class index
| Quat::ToEulerXYXSyntaxfloat3 Quat::ToEulerXYX() const; [1 line of code]float3 Quat::ToEulerXZX() const; [1 lines of code] float3 Quat::ToEulerYXY() const; [1 lines of code] float3 Quat::ToEulerYZY() const; [1 lines of code] float3 Quat::ToEulerZXZ() const; [1 lines of code] float3 Quat::ToEulerZYZ() const; [1 lines of code] float3 Quat::ToEulerXYZ() const; [1 lines of code] float3 Quat::ToEulerXZY() const; [1 lines of code] float3 Quat::ToEulerYXZ() const; [1 lines of code] float3 Quat::ToEulerYZX() const; [1 lines of code] float3 Quat::ToEulerZXY() const; [1 lines of code] float3 Quat::ToEulerZYX() const; [1 lines of code] Extracts the rotation part of this quaternion into Euler rotation angles (in radians). Note It is better to think about the returned float3 as an array of three floats, and not as a triple of xyz, because e.g. the .y component returned by ToEulerYXZ() does not return the amount of rotation about the y axis, but contains the amount of rotation in the second axis, in this case the x axis. Return ValueA float3 which specifies the rotation of this quaternion in radian Euler angles. The function ToEulerABC returns a float3 where the first element ([0], or x) specifies the rotation about the axis A (not necessarily the X axis!), [1] or y specifies the rotation about the B axis (not necessarily the Y axis!) and [2] or z specifies the rotation about the C axis (not necessarily the Z axis!). The order of rotations follows the M*v convention, meaning that ToEulerXYZ returns the Euler angles for rotating a vector v in the order X * (Y * (Z * v))), i.e. right-to-left. Performancefloat3 Quat::ToEulerXYX() const0.16μsecs/call ≈ 6.25M calls/second ≈ 104.1k calls/frame (@ 60fps). 0.164μsecs/call ≈ 6.09M calls/second ≈ 101.5k calls/frame (@ 60fps). 0.16μsecs/call ≈ 6.25M calls/second ≈ 104.1k calls/frame (@ 60fps). 0.172μsecs/call ≈ 5.8M calls/second ≈ 96.66k calls/frame (@ 60fps). 0.16μsecs/call ≈ 6.25M calls/second ≈ 104.1k calls/frame (@ 60fps). 0.16μsecs/call ≈ 6.25M calls/second ≈ 104.1k calls/frame (@ 60fps). 0.164μsecs/call ≈ 6.09M calls/second ≈ 101.5k calls/frame (@ 60fps). 0.16μsecs/call ≈ 6.25M calls/second ≈ 104.1k calls/frame (@ 60fps). 0.16μsecs/call ≈ 6.25M calls/second ≈ 104.1k calls/frame (@ 60fps). 0.16μsecs/call ≈ 6.25M calls/second ≈ 104.1k calls/frame (@ 60fps). 0.16μsecs/call ≈ 6.25M calls/second ≈ 104.1k calls/frame (@ 60fps). 0.16μsecs/call ≈ 6.25M calls/second ≈ 104.1k calls/frame (@ 60fps). Work in progress:Todo: in float3 Quat::ToEulerXYX() const: the following could be heavily optimized. Don't route through float3x3 conversion. Leave a Comment |