Struct RotationalSpeedVector3
A 3D vector whose components represent angular velocity (rotational speed), each expressed as a UnitsNet.RotationalSpeed.
In 3D rigid-body physics, angular velocity is a vector: its direction is the
instantaneous rotation axis (right-hand rule) and its magnitude is the spin rate.
This is produced by integrating a RotationalAccelerationVector3 over
time: RotationalAccelerationVector3 × Duration = RotationalSpeedVector3.
public readonly record struct RotationalSpeedVector3 : IEquatable<RotationalSpeedVector3>
- Implements
- Inherited Members
Constructors
RotationalSpeedVector3(RotationalSpeed, RotationalSpeed, RotationalSpeed)
Constructs a RotationalSpeedVector3 from three UnitsNet.RotationalSpeed components.
public RotationalSpeedVector3(RotationalSpeed x, RotationalSpeed y, RotationalSpeed z)
Parameters
xRotationalSpeedThe X component.
yRotationalSpeedThe Y component.
zRotationalSpeedThe Z component.
Properties
Magnitude
Returns the Euclidean magnitude of this vector as a UnitsNet.RotationalSpeed. The result is expressed in the same unit as the X component.
public RotationalSpeed Magnitude { get; }
Property Value
- RotationalSpeed
X
The X component.
public RotationalSpeed X { get; }
Property Value
- RotationalSpeed
Y
The Y component.
public RotationalSpeed Y { get; }
Property Value
- RotationalSpeed
Z
The Z component.
public RotationalSpeed Z { get; }
Property Value
- RotationalSpeed
Zero
A RotationalSpeedVector3 with all components set to zero.
public static RotationalSpeedVector3 Zero { get; }
Property Value
Methods
Abs()
Returns a vector with each component replaced by its absolute value.
public RotationalSpeedVector3 Abs()
Returns
- RotationalSpeedVector3
A RotationalSpeedVector3 with non-negative components.
Add(RotationalSpeedVector3)
Adds two vectors component-wise.
public RotationalSpeedVector3 Add(RotationalSpeedVector3 other)
Parameters
otherRotationalSpeedVector3The vector to add.
Returns
- RotationalSpeedVector3
The component-wise sum.
ApproximatelyEquals(RotationalSpeedVector3, RotationalSpeed)
Returns true if each component of this vector is within
tolerance of the corresponding component of other.
public bool ApproximatelyEquals(RotationalSpeedVector3 other, RotationalSpeed tolerance)
Parameters
otherRotationalSpeedVector3The vector to compare against.
toleranceRotationalSpeedThe maximum allowed difference per component (inclusive).
Returns
- bool
true when |X - other.X| <= tolerance, |Y - other.Y| <= tolerance, and |Z - other.Z| <= tolerance.
As(RotationalSpeedUnit)
Projects all three components into the requested unit, returning a unit-less DoubleVector3.
public DoubleVector3 As(RotationalSpeedUnit unit)
Parameters
unitRotationalSpeedUnitThe 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(RotationalSpeedVector3, RotationalSpeedVector3)
Returns a vector with each component clamped to the range [min, max].
public RotationalSpeedVector3 Clamp(RotationalSpeedVector3 min, RotationalSpeedVector3 max)
Parameters
minRotationalSpeedVector3The lower bound vector (inclusive, per component).
maxRotationalSpeedVector3The upper bound vector (inclusive, per component).
Returns
- RotationalSpeedVector3
A RotationalSpeedVector3 with each component in [min, max].
Divide(double)
Divides the vector by a scalar divisor.
public RotationalSpeedVector3 Divide(double scalar)
Parameters
scalardoubleThe scalar divisor.
Returns
- RotationalSpeedVector3
The divided vector.
Equals(RotationalSpeedVector3)
Indicates whether the current object is equal to another object of the same type.
public bool Equals(RotationalSpeedVector3 other)
Parameters
otherRotationalSpeedVector3An object to compare with this object.
Returns
FromCentiradiansPerSecond(double, double, double)
Creates a RotationalSpeedVector3 with all components created via UnitsNet.RotationalSpeed.FromCentiradiansPerSecond(UnitsNet.QuantityValue).
public static RotationalSpeedVector3 FromCentiradiansPerSecond(double x, double y, double z)
Parameters
Returns
- RotationalSpeedVector3
A RotationalSpeedVector3 with all components in the corresponding unit.
FromDeciradiansPerSecond(double, double, double)
Creates a RotationalSpeedVector3 with all components created via UnitsNet.RotationalSpeed.FromDeciradiansPerSecond(UnitsNet.QuantityValue).
public static RotationalSpeedVector3 FromDeciradiansPerSecond(double x, double y, double z)
Parameters
Returns
- RotationalSpeedVector3
A RotationalSpeedVector3 with all components in the corresponding unit.
FromDegreesPerMinute(double, double, double)
Creates a RotationalSpeedVector3 with all components created via UnitsNet.RotationalSpeed.FromDegreesPerMinute(UnitsNet.QuantityValue).
public static RotationalSpeedVector3 FromDegreesPerMinute(double x, double y, double z)
Parameters
Returns
- RotationalSpeedVector3
A RotationalSpeedVector3 with all components in the corresponding unit.
FromDegreesPerSecond(double, double, double)
Creates a RotationalSpeedVector3 with all components created via UnitsNet.RotationalSpeed.FromDegreesPerSecond(UnitsNet.QuantityValue).
public static RotationalSpeedVector3 FromDegreesPerSecond(double x, double y, double z)
Parameters
Returns
- RotationalSpeedVector3
A RotationalSpeedVector3 with all components in the corresponding unit.
FromMicrodegreesPerSecond(double, double, double)
Creates a RotationalSpeedVector3 with all components created via UnitsNet.RotationalSpeed.FromMicrodegreesPerSecond(UnitsNet.QuantityValue).
public static RotationalSpeedVector3 FromMicrodegreesPerSecond(double x, double y, double z)
Parameters
Returns
- RotationalSpeedVector3
A RotationalSpeedVector3 with all components in the corresponding unit.
FromMicroradiansPerSecond(double, double, double)
Creates a RotationalSpeedVector3 with all components created via UnitsNet.RotationalSpeed.FromMicroradiansPerSecond(UnitsNet.QuantityValue).
public static RotationalSpeedVector3 FromMicroradiansPerSecond(double x, double y, double z)
Parameters
Returns
- RotationalSpeedVector3
A RotationalSpeedVector3 with all components in the corresponding unit.
FromMillidegreesPerSecond(double, double, double)
Creates a RotationalSpeedVector3 with all components created via UnitsNet.RotationalSpeed.FromMillidegreesPerSecond(UnitsNet.QuantityValue).
public static RotationalSpeedVector3 FromMillidegreesPerSecond(double x, double y, double z)
Parameters
Returns
- RotationalSpeedVector3
A RotationalSpeedVector3 with all components in the corresponding unit.
FromMilliradiansPerSecond(double, double, double)
Creates a RotationalSpeedVector3 with all components created via UnitsNet.RotationalSpeed.FromMilliradiansPerSecond(UnitsNet.QuantityValue).
public static RotationalSpeedVector3 FromMilliradiansPerSecond(double x, double y, double z)
Parameters
Returns
- RotationalSpeedVector3
A RotationalSpeedVector3 with all components in the corresponding unit.
FromNanodegreesPerSecond(double, double, double)
Creates a RotationalSpeedVector3 with all components created via UnitsNet.RotationalSpeed.FromNanodegreesPerSecond(UnitsNet.QuantityValue).
public static RotationalSpeedVector3 FromNanodegreesPerSecond(double x, double y, double z)
Parameters
Returns
- RotationalSpeedVector3
A RotationalSpeedVector3 with all components in the corresponding unit.
FromNanoradiansPerSecond(double, double, double)
Creates a RotationalSpeedVector3 with all components created via UnitsNet.RotationalSpeed.FromNanoradiansPerSecond(UnitsNet.QuantityValue).
public static RotationalSpeedVector3 FromNanoradiansPerSecond(double x, double y, double z)
Parameters
Returns
- RotationalSpeedVector3
A RotationalSpeedVector3 with all components in the corresponding unit.
FromRadiansPerSecond(double, double, double)
Creates a RotationalSpeedVector3 with all components created via UnitsNet.RotationalSpeed.FromRadiansPerSecond(UnitsNet.QuantityValue).
public static RotationalSpeedVector3 FromRadiansPerSecond(double x, double y, double z)
Parameters
Returns
- RotationalSpeedVector3
A RotationalSpeedVector3 with all components in the corresponding unit.
FromRevolutionsPerMinute(double, double, double)
Creates a RotationalSpeedVector3 with all components created via UnitsNet.RotationalSpeed.FromRevolutionsPerMinute(UnitsNet.QuantityValue).
public static RotationalSpeedVector3 FromRevolutionsPerMinute(double x, double y, double z)
Parameters
Returns
- RotationalSpeedVector3
A RotationalSpeedVector3 with all components in the corresponding unit.
FromRevolutionsPerSecond(double, double, double)
Creates a RotationalSpeedVector3 with all components created via UnitsNet.RotationalSpeed.FromRevolutionsPerSecond(UnitsNet.QuantityValue).
public static RotationalSpeedVector3 FromRevolutionsPerSecond(double x, double y, double z)
Parameters
Returns
- RotationalSpeedVector3
A RotationalSpeedVector3 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(RotationalSpeedVector3, RotationalSpeedVector3, 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(RotationalSpeedVector3, RotationalSpeedVector3, double) if you need the result bounded to the segment
between a and b.
public static RotationalSpeedVector3 Lerp(RotationalSpeedVector3 a, RotationalSpeedVector3 b, double t)
Parameters
aRotationalSpeedVector3The start vector (
t= 0).bRotationalSpeedVector3The end vector (
t= 1).tdoubleThe interpolation parameter. Values outside [0, 1] extrapolate.
Returns
- RotationalSpeedVector3
The interpolated RotationalSpeedVector3.
LerpClamped(RotationalSpeedVector3, RotationalSpeedVector3, double)
Linearly interpolates between two vectors, with t clamped to [0, 1].
public static RotationalSpeedVector3 LerpClamped(RotationalSpeedVector3 a, RotationalSpeedVector3 b, double t)
Parameters
aRotationalSpeedVector3The start vector (
t= 0).bRotationalSpeedVector3The end vector (
t= 1).tdoubleThe interpolation parameter, clamped to [0, 1].
Returns
- RotationalSpeedVector3
The interpolated RotationalSpeedVector3, always between
aandb.
Multiply(double)
Scales the vector by a scalar factor.
public RotationalSpeedVector3 Multiply(double scalar)
Parameters
scalardoubleThe scalar factor.
Returns
- RotationalSpeedVector3
The scaled vector.
Negate()
Negates all components.
public RotationalSpeedVector3 Negate()
Returns
- RotationalSpeedVector3
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(RotationalSpeedVector3)
Subtracts two vectors component-wise.
public RotationalSpeedVector3 Subtract(RotationalSpeedVector3 other)
Parameters
otherRotationalSpeedVector3The vector to subtract.
Returns
- RotationalSpeedVector3
The component-wise difference.
Operators
operator +(RotationalSpeedVector3, RotationalSpeedVector3)
Adds two vectors component-wise.
public static RotationalSpeedVector3 operator +(RotationalSpeedVector3 left, RotationalSpeedVector3 right)
Parameters
leftRotationalSpeedVector3The left operand.
rightRotationalSpeedVector3The right operand.
Returns
- RotationalSpeedVector3
The component-wise sum.
operator /(RotationalSpeedVector3, double)
Divides the vector by a scalar divisor.
public static RotationalSpeedVector3 operator /(RotationalSpeedVector3 left, double scalar)
Parameters
leftRotationalSpeedVector3The vector to divide.
scalardoubleThe scalar divisor.
Returns
- RotationalSpeedVector3
The divided vector.
operator *(double, RotationalSpeedVector3)
Scales the vector by a scalar factor. Operands may be supplied in either order.
public static RotationalSpeedVector3 operator *(double scalar, RotationalSpeedVector3 right)
Parameters
scalardoubleThe scalar factor.
rightRotationalSpeedVector3The vector to scale.
Returns
- RotationalSpeedVector3
The scaled vector.
operator *(RotationalSpeedVector3, double)
Scales the vector by a scalar factor.
public static RotationalSpeedVector3 operator *(RotationalSpeedVector3 left, double scalar)
Parameters
leftRotationalSpeedVector3The vector to scale.
scalardoubleThe scalar factor.
Returns
- RotationalSpeedVector3
The scaled vector.
operator -(RotationalSpeedVector3, RotationalSpeedVector3)
Subtracts two vectors component-wise.
public static RotationalSpeedVector3 operator -(RotationalSpeedVector3 left, RotationalSpeedVector3 right)
Parameters
leftRotationalSpeedVector3The left operand.
rightRotationalSpeedVector3The right operand.
Returns
- RotationalSpeedVector3
The component-wise difference.
operator -(RotationalSpeedVector3)
Negates all components.
public static RotationalSpeedVector3 operator -(RotationalSpeedVector3 value)
Parameters
valueRotationalSpeedVector3The vector to negate.
Returns
- RotationalSpeedVector3
A vector with all components negated.