Module |
|
Header |
/Engine/Source/Runtime/Core/Public/Math/TransformCalculus2D.h |
Include |
#include "Math/TransformCalculus2D.h" |
class FQuat2D
Represents a 2D rotation as a complex number (analagous to quaternions). Rot(theta) == cos(theta) + i * sin(theta) General transformation follows complex number algebra from there. Does not use "spinor" notation using theta/2 as we don't need that decomposition for our purposes. This makes the implementation for straightforward and efficient for 2D.
Name | Description | ||
---|---|---|---|
|
Concatenate ( |
Transform 2 rotations defined by complex numbers: In imaginary land: (A + Bi) * (C + Di) == (AC - BD) + (AD + BC)i |
|
|
const FVecto... |
GetVector() |
Access to the underlying FVector2D that stores the complex number. |
|
Inverse() |
Invert the rotation defined by complex numbers: In imaginary land, an inverse is a complex conjugate, which is equivalent to reflecting about the X axis: Conj(A + Bi) == A - Bi |
|
|
TransformPoint ( |
Transform a 2D point by the 2D complex number representing the rotation: In imaginary land: (x + yi) * (u + vi) == (xu - yv) + (xv + yu)i |
|
|
TransformVector ( |
Vector rotation is equivalent to rotating a point. |
Name | Description | ||
---|---|---|---|
|
operator!= ( |
Inequality. |
|
|
operator== ( |
Equality. |