MakeRotation |
Makes a rotation from Axis and AngleRadians using a left-handed sign convention (e.g. a positive rotation around +Z takes +X to +Y). If Axis.IsAlmostZero[] , make the identity rotation.
|
MakeRotationFromYawPitchRollDegrees |
Makes a rotation by applying YawRightDegrees , PitchUpDegrees , and RollClockwiseDegrees , in that order:
- first a yaw about the Up axis with a positive angle indicating a clockwise rotation when viewed from above,
- then a pitch about the new Right axis with a positive angle indicating 'nose up',
- followed by a roll about the new Forward axis axis with a positive angle indicating a clockwise rotation when viewed along +X.
Note that these conventions differ from
MakeRotation but match ApplyYaw , ApplyPitch , and ApplyRoll .
|
IdentityRotation |
Makes the identity rotation .
|
Distance |
Returns the 'distance' between Rotation1 and Rotation2 . The result will be between:
0.0 , representing equivalent rotations and
1.0 representing rotations which are 180 degrees apart (i.e., the shortest rotation between them is 180 degrees around some axis).
|
AngularDistance |
Returns the 'smallest angular distance' between Rotation1 and Rotation2 in radians.
|
MakeShortestRotationBetween |
Makes the smallest angular rotation from InitialRotation to FinalRotation such that:
InitialRotation.RotateBy(MakeShortestRotationBetween(InitialRotation, FinalRotation)) = FinalRotation and
MakeShortestRotationBetween(InitialRotation, FinalRotation)?.GetAngle() is as small as possible.
|
MakeShortestRotationBetween |
Makes the smallest angular rotation from InitialVector to FinalVector such that:
InitialVector.RotateBy(MakeShortestRotationBetween(InitialVector, Vector)) = FinalVector and
MakeShortestRotationBetween(InitialVector, FinalVector)?.GetAngle() is as small as possible.
|
MakeComponentWiseDeltaRotation |
Makes a new rotation from the component wise subtraction of the Euler angle components in RotationA by
the Euler angle components in RotationB and ensures the returned value is normalized.
|
Slerp |
Used to perform spherical linear interpolation between From (when Parameter = 0.0 ) and To (when Parameter = 1.0 ). Expects that 0.0 <= Parameter <= 1.0 .
|
ToString |
Makes a string representation of rotation in axis/degrees format with a left-handed sign convention.
ToString(MakeRotation(vector3{Forward:=1.0, Right:=0.0, Up:=0.0}, PiFloat/2.0)) produces the string: "{Axis = {x=1.000000,y=0.000000,z=0.000000}, Angle = 90.000000}" .
|
DegreesToRadians |
Returns radians from Degrees .
|
RadiansToDegrees |
Returns degrees from Radians .
|
TransformVector |
Makes a vector3 by applying InTransform to InVector .
|
TransformVectorNoScale |
Makes a vector3 by applying InTransform to InVector without applying InTransform.Scale .
|
ToString |
Makes a string representation of InTransform where the result is on the form.
"{Translation = {ToString( InTransform.Translation)}, Rotation = {ToString( InTransform.Rotation)}, Scale = {ToString( InTransform.Scale`)}}".
|
ReflectVector |
Makes a vector3 by inverting the SurfaceNormal component of Direction .
Fails if not SurfaceNormal.MakeUnitVector[] .
|
DotProduct |
Returns the dot product of V1 and V2 .
|
CrossProductLeftHanded |
Returns the left-handed cross product of V1 and V2 .
|
Distance |
Returns the Euclidean distance between V1 and V2 .
|
DistanceSquared |
Returns the squared Euclidean distance between V1 and V2 .
|
DistanceForwardRight |
Returns the 2-D Euclidean distance between V1 and V2 by ignoring the difference in Up .
|
DistanceSquaredForwardRight |
Returns the squared 2-D Euclidean distance between V1 and V2 by ignoring their difference in Up .
|
ToString |
Makes a string representation of V .
|
Lerp |
Used to linearly interpolate/extrapolate between From (when Parameter = 0.0 ) and To (when Parameter = 1.0 ). Expects that all arguments are finite.
Returns From*(1 - Parameter) + To*Parameter .
|
prefix'-' |
Makes a vector3 by inverting the signs of Operand .
|
operator'+' |
Makes a vector3 by component-wise addition of Left and Right .
|
operator'-' |
Makes a vector3 by component-wise subtraction of Right from Left .
|
operator'*' |
Makes a vector3 by component-wise multiplication of Left and Right .
|
operator'*' |
Makes a vector3 by multiplying the components of Left by Right .
|
operator'*' |
Makes a vector3 by multiplying the components of Right by Left .
|
operator'/' |
Makes a vector3 by dividing the components of Left by Right .
|
operator'/' |
Makes a vector3 by component-wise division of Left by Right .
|
IsAlmostEqual |
Succeeds when each component of V1 and V2 are within AbsoluteTolerance of each other.
|