Table of Contents

Struct RotationalSpeedVector3

Namespace
Thunder.UnitsNET.Vectors
Assembly
Thunder.UnitsNET.Vectors.dll

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

x RotationalSpeed

The X component.

y RotationalSpeed

The Y component.

z RotationalSpeed

The 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

RotationalSpeedVector3

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

other RotationalSpeedVector3

The 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

other RotationalSpeedVector3

The vector to compare against.

tolerance RotationalSpeed

The 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

unit RotationalSpeedUnit

The 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

min RotationalSpeedVector3

The lower bound vector (inclusive, per component).

max RotationalSpeedVector3

The 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

scalar double

The 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

other RotationalSpeedVector3

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

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

x double

The X component value.

y double

The Y component value.

z double

The Z component value.

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

x double

The X component value.

y double

The Y component value.

z double

The Z component value.

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

x double

The X component value.

y double

The Y component value.

z double

The Z component value.

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

x double

The X component value.

y double

The Y component value.

z double

The Z component value.

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

x double

The X component value.

y double

The Y component value.

z double

The Z component value.

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

x double

The X component value.

y double

The Y component value.

z double

The Z component value.

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

x double

The X component value.

y double

The Y component value.

z double

The Z component value.

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

x double

The X component value.

y double

The Y component value.

z double

The Z component value.

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

x double

The X component value.

y double

The Y component value.

z double

The Z component value.

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

x double

The X component value.

y double

The Y component value.

z double

The Z component value.

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

x double

The X component value.

y double

The Y component value.

z double

The Z component value.

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

x double

The X component value.

y double

The Y component value.

z double

The Z component value.

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

x double

The X component value.

y double

The Y component value.

z double

The Z component value.

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

a RotationalSpeedVector3

The start vector (t = 0).

b RotationalSpeedVector3

The end vector (t = 1).

t double

The 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

a RotationalSpeedVector3

The start vector (t = 0).

b RotationalSpeedVector3

The end vector (t = 1).

t double

The interpolation parameter, clamped to [0, 1].

Returns

RotationalSpeedVector3

The interpolated RotationalSpeedVector3, always between a and b.

Multiply(double)

Scales the vector by a scalar factor.

public RotationalSpeedVector3 Multiply(double scalar)

Parameters

scalar double

The 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

other RotationalSpeedVector3

The 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

left RotationalSpeedVector3

The left operand.

right RotationalSpeedVector3

The 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

left RotationalSpeedVector3

The vector to divide.

scalar double

The 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

scalar double

The scalar factor.

right RotationalSpeedVector3

The 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

left RotationalSpeedVector3

The vector to scale.

scalar double

The scalar factor.

Returns

RotationalSpeedVector3

The scaled vector.

operator -(RotationalSpeedVector3, RotationalSpeedVector3)

Subtracts two vectors component-wise.

public static RotationalSpeedVector3 operator -(RotationalSpeedVector3 left, RotationalSpeedVector3 right)

Parameters

left RotationalSpeedVector3

The left operand.

right RotationalSpeedVector3

The right operand.

Returns

RotationalSpeedVector3

The component-wise difference.

operator -(RotationalSpeedVector3)

Negates all components.

public static RotationalSpeedVector3 operator -(RotationalSpeedVector3 value)

Parameters

value RotationalSpeedVector3

The vector to negate.

Returns

RotationalSpeedVector3

A vector with all components negated.

latest ▼