Struct RotationalAccelerationVector3
A 3D vector whose components represent angular acceleration, each expressed as a UnitsNet.RotationalAcceleration.
Angular acceleration describes how quickly angular velocity changes in 3D space.
It is produced by TorqueVector3 / MassMomentOfInertia and integrates into
a RotationalSpeedVector3 when multiplied by a UnitsNet.Duration.
public readonly record struct RotationalAccelerationVector3 : IEquatable<RotationalAccelerationVector3>
- Implements
- Inherited Members
Constructors
RotationalAccelerationVector3(RotationalAcceleration, RotationalAcceleration, RotationalAcceleration)
Constructs a RotationalAccelerationVector3 from three UnitsNet.RotationalAcceleration components.
public RotationalAccelerationVector3(RotationalAcceleration x, RotationalAcceleration y, RotationalAcceleration z)
Parameters
xRotationalAccelerationThe X component.
yRotationalAccelerationThe Y component.
zRotationalAccelerationThe Z component.
Properties
Magnitude
Returns the Euclidean magnitude of this vector as a UnitsNet.RotationalAcceleration. The result is expressed in the same unit as the X component.
public RotationalAcceleration Magnitude { get; }
Property Value
- RotationalAcceleration
X
The X component.
public RotationalAcceleration X { get; }
Property Value
- RotationalAcceleration
Y
The Y component.
public RotationalAcceleration Y { get; }
Property Value
- RotationalAcceleration
Z
The Z component.
public RotationalAcceleration Z { get; }
Property Value
- RotationalAcceleration
Zero
A RotationalAccelerationVector3 with all components set to zero.
public static RotationalAccelerationVector3 Zero { get; }
Property Value
Methods
Abs()
Returns a vector with each component replaced by its absolute value.
public RotationalAccelerationVector3 Abs()
Returns
- RotationalAccelerationVector3
A RotationalAccelerationVector3 with non-negative components.
Add(RotationalAccelerationVector3)
Adds two vectors component-wise.
public RotationalAccelerationVector3 Add(RotationalAccelerationVector3 other)
Parameters
otherRotationalAccelerationVector3The vector to add.
Returns
- RotationalAccelerationVector3
The component-wise sum.
ApproximatelyEquals(RotationalAccelerationVector3, RotationalAcceleration)
Returns true if each component of this vector is within
tolerance of the corresponding component of other.
public bool ApproximatelyEquals(RotationalAccelerationVector3 other, RotationalAcceleration tolerance)
Parameters
otherRotationalAccelerationVector3The vector to compare against.
toleranceRotationalAccelerationThe maximum allowed difference per component (inclusive).
Returns
- bool
true when |X - other.X| <= tolerance, |Y - other.Y| <= tolerance, and |Z - other.Z| <= tolerance.
As(RotationalAccelerationUnit)
Projects all three components into the requested unit, returning a unit-less DoubleVector3.
public DoubleVector3 As(RotationalAccelerationUnit unit)
Parameters
unitRotationalAccelerationUnitThe target unit for each component.
Returns
- DoubleVector3
A DoubleVector3 with components expressed in
unit.
AsDefault()
Returns all three components expressed in the SI base unit as a DoubleVector3.
public DoubleVector3 AsDefault()
Returns
- DoubleVector3
A DoubleVector3 with components in the default SI unit.
Clamp(RotationalAccelerationVector3, RotationalAccelerationVector3)
Returns a vector with each component clamped to the range [min, max].
public RotationalAccelerationVector3 Clamp(RotationalAccelerationVector3 min, RotationalAccelerationVector3 max)
Parameters
minRotationalAccelerationVector3The lower bound vector (inclusive, per component).
maxRotationalAccelerationVector3The upper bound vector (inclusive, per component).
Returns
- RotationalAccelerationVector3
A RotationalAccelerationVector3 with each component in [min, max].
Divide(double)
Divides the vector by a scalar divisor.
public RotationalAccelerationVector3 Divide(double scalar)
Parameters
scalardoubleThe scalar divisor.
Returns
- RotationalAccelerationVector3
The divided vector.
Equals(RotationalAccelerationVector3)
Indicates whether the current object is equal to another object of the same type.
public bool Equals(RotationalAccelerationVector3 other)
Parameters
otherRotationalAccelerationVector3An object to compare with this object.
Returns
FromDegreesPerSecondSquared(double, double, double)
Creates a RotationalAccelerationVector3 with all components created via UnitsNet.RotationalAcceleration.FromDegreesPerSecondSquared(UnitsNet.QuantityValue).
public static RotationalAccelerationVector3 FromDegreesPerSecondSquared(double x, double y, double z)
Parameters
Returns
- RotationalAccelerationVector3
A RotationalAccelerationVector3 with all components in the corresponding unit.
FromRadiansPerSecondSquared(double, double, double)
Creates a RotationalAccelerationVector3 with all components created via UnitsNet.RotationalAcceleration.FromRadiansPerSecondSquared(UnitsNet.QuantityValue).
public static RotationalAccelerationVector3 FromRadiansPerSecondSquared(double x, double y, double z)
Parameters
Returns
- RotationalAccelerationVector3
A RotationalAccelerationVector3 with all components in the corresponding unit.
FromRevolutionsPerMinutePerSecond(double, double, double)
Creates a RotationalAccelerationVector3 with all components created via UnitsNet.RotationalAcceleration.FromRevolutionsPerMinutePerSecond(UnitsNet.QuantityValue).
public static RotationalAccelerationVector3 FromRevolutionsPerMinutePerSecond(double x, double y, double z)
Parameters
Returns
- RotationalAccelerationVector3
A RotationalAccelerationVector3 with all components in the corresponding unit.
FromRevolutionsPerSecondSquared(double, double, double)
Creates a RotationalAccelerationVector3 with all components created via UnitsNet.RotationalAcceleration.FromRevolutionsPerSecondSquared(UnitsNet.QuantityValue).
public static RotationalAccelerationVector3 FromRevolutionsPerSecondSquared(double x, double y, double z)
Parameters
Returns
- RotationalAccelerationVector3
A RotationalAccelerationVector3 with all components in the corresponding unit.
GetHashCode()
Returns the hash code for this instance.
public override int GetHashCode()
Returns
- int
A 32-bit signed integer that is the hash code for this instance.
Lerp(RotationalAccelerationVector3, RotationalAccelerationVector3, double)
Linearly interpolates between two vectors.
The result at t = 0 is a; at t = 1 it is
b. Values of t outside [0, 1] extrapolate beyond the
endpoints — use LerpClamped(RotationalAccelerationVector3, RotationalAccelerationVector3, double) if you need the result bounded to the segment
between a and b.
public static RotationalAccelerationVector3 Lerp(RotationalAccelerationVector3 a, RotationalAccelerationVector3 b, double t)
Parameters
aRotationalAccelerationVector3The start vector (
t= 0).bRotationalAccelerationVector3The end vector (
t= 1).tdoubleThe interpolation parameter. Values outside [0, 1] extrapolate.
Returns
- RotationalAccelerationVector3
The interpolated RotationalAccelerationVector3.
LerpClamped(RotationalAccelerationVector3, RotationalAccelerationVector3, double)
Linearly interpolates between two vectors, with t clamped to [0, 1].
public static RotationalAccelerationVector3 LerpClamped(RotationalAccelerationVector3 a, RotationalAccelerationVector3 b, double t)
Parameters
aRotationalAccelerationVector3The start vector (
t= 0).bRotationalAccelerationVector3The end vector (
t= 1).tdoubleThe interpolation parameter, clamped to [0, 1].
Returns
- RotationalAccelerationVector3
The interpolated RotationalAccelerationVector3, always between
aandb.
Multiply(double)
Scales the vector by a scalar factor.
public RotationalAccelerationVector3 Multiply(double scalar)
Parameters
scalardoubleThe scalar factor.
Returns
- RotationalAccelerationVector3
The scaled vector.
Negate()
Negates all components.
public RotationalAccelerationVector3 Negate()
Returns
- RotationalAccelerationVector3
A vector with all components negated.
Normalize()
Returns a dimensionless unit vector pointing in the same direction. For a zero vector, Zero is returned.
public DoubleVector3 Normalize()
Returns
- DoubleVector3
A unit-length DoubleVector3 in the same direction.
Subtract(RotationalAccelerationVector3)
Subtracts two vectors component-wise.
public RotationalAccelerationVector3 Subtract(RotationalAccelerationVector3 other)
Parameters
otherRotationalAccelerationVector3The vector to subtract.
Returns
- RotationalAccelerationVector3
The component-wise difference.
Operators
operator +(RotationalAccelerationVector3, RotationalAccelerationVector3)
Adds two vectors component-wise.
public static RotationalAccelerationVector3 operator +(RotationalAccelerationVector3 left, RotationalAccelerationVector3 right)
Parameters
leftRotationalAccelerationVector3The left operand.
rightRotationalAccelerationVector3The right operand.
Returns
- RotationalAccelerationVector3
The component-wise sum.
operator /(RotationalAccelerationVector3, double)
Divides the vector by a scalar divisor.
public static RotationalAccelerationVector3 operator /(RotationalAccelerationVector3 left, double scalar)
Parameters
leftRotationalAccelerationVector3The vector to divide.
scalardoubleThe scalar divisor.
Returns
- RotationalAccelerationVector3
The divided vector.
operator *(double, RotationalAccelerationVector3)
Scales the vector by a scalar factor. Operands may be supplied in either order.
public static RotationalAccelerationVector3 operator *(double scalar, RotationalAccelerationVector3 right)
Parameters
scalardoubleThe scalar factor.
rightRotationalAccelerationVector3The vector to scale.
Returns
- RotationalAccelerationVector3
The scaled vector.
operator *(RotationalAccelerationVector3, double)
Scales the vector by a scalar factor.
public static RotationalAccelerationVector3 operator *(RotationalAccelerationVector3 left, double scalar)
Parameters
leftRotationalAccelerationVector3The vector to scale.
scalardoubleThe scalar factor.
Returns
- RotationalAccelerationVector3
The scaled vector.
operator *(RotationalAccelerationVector3, Duration)
Multiplies each component of the angular acceleration vector by right
to produce a RotationalSpeedVector3. Implements angular kinematics:
ω_vec = α_vec · t.
public static RotationalSpeedVector3 operator *(RotationalAccelerationVector3 left, Duration right)
Parameters
leftRotationalAccelerationVector3rightDuration
Returns
Remarks
The result is always in rad/s regardless of the input units. UnitsNet treats radians as dimensionless, so no angular unit can be tracked across multiplication — the SI radian representation is the only stable common denominator. If you need the result in other units, convert after the fact:
var alpha = new RotationalAccelerationVector3(RotationalAcceleration.FromRadiansPerSecondSquared(5), RotationalAcceleration.FromRadiansPerSecondSquared(0), RotationalAcceleration.FromRadiansPerSecondSquared(0));
var duration = Duration.FromSeconds(2);
var omega = alpha * duration;
var xRpm = omega.X.As(RotationalSpeedUnit.RevolutionPerMinute);
operator *(Duration, RotationalAccelerationVector3)
Multiplies each component of the angular acceleration vector by right
to produce a RotationalSpeedVector3. Implements angular kinematics:
ω_vec = α_vec · t.
public static RotationalSpeedVector3 operator *(Duration left, RotationalAccelerationVector3 right)
Parameters
leftDurationrightRotationalAccelerationVector3
Returns
Remarks
The result is always in rad/s regardless of the input units. UnitsNet treats radians as dimensionless, so no angular unit can be tracked across multiplication — the SI radian representation is the only stable common denominator. If you need the result in other units, convert after the fact:
var alpha = new RotationalAccelerationVector3(RotationalAcceleration.FromRadiansPerSecondSquared(5), RotationalAcceleration.FromRadiansPerSecondSquared(0), RotationalAcceleration.FromRadiansPerSecondSquared(0));
var duration = Duration.FromSeconds(2);
var omega = alpha * duration;
var xRpm = omega.X.As(RotationalSpeedUnit.RevolutionPerMinute);
operator -(RotationalAccelerationVector3, RotationalAccelerationVector3)
Subtracts two vectors component-wise.
public static RotationalAccelerationVector3 operator -(RotationalAccelerationVector3 left, RotationalAccelerationVector3 right)
Parameters
leftRotationalAccelerationVector3The left operand.
rightRotationalAccelerationVector3The right operand.
Returns
- RotationalAccelerationVector3
The component-wise difference.
operator -(RotationalAccelerationVector3)
Negates all components.
public static RotationalAccelerationVector3 operator -(RotationalAccelerationVector3 value)
Parameters
valueRotationalAccelerationVector3The vector to negate.
Returns
- RotationalAccelerationVector3
A vector with all components negated.