Table of Contents

Struct RotationalAccelerationVector3

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

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

x RotationalAcceleration

The X component.

y RotationalAcceleration

The Y component.

z RotationalAcceleration

The 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

RotationalAccelerationVector3

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

other RotationalAccelerationVector3

The 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

other RotationalAccelerationVector3

The vector to compare against.

tolerance RotationalAcceleration

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(RotationalAccelerationUnit)

Projects all three components into the requested unit, returning a unit-less DoubleVector3.

public DoubleVector3 As(RotationalAccelerationUnit unit)

Parameters

unit RotationalAccelerationUnit

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(RotationalAccelerationVector3, RotationalAccelerationVector3)

Returns a vector with each component clamped to the range [min, max].

public RotationalAccelerationVector3 Clamp(RotationalAccelerationVector3 min, RotationalAccelerationVector3 max)

Parameters

min RotationalAccelerationVector3

The lower bound vector (inclusive, per component).

max RotationalAccelerationVector3

The 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

scalar double

The 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

other RotationalAccelerationVector3

An object to compare with this object.

Returns

bool

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

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

x double

The X component value.

y double

The Y component value.

z double

The Z component value.

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

x double

The X component value.

y double

The Y component value.

z double

The Z component value.

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

x double

The X component value.

y double

The Y component value.

z double

The Z component value.

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

x double

The X component value.

y double

The Y component value.

z double

The Z component value.

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

a RotationalAccelerationVector3

The start vector (t = 0).

b RotationalAccelerationVector3

The end vector (t = 1).

t double

The 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

a RotationalAccelerationVector3

The start vector (t = 0).

b RotationalAccelerationVector3

The end vector (t = 1).

t double

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

Returns

RotationalAccelerationVector3

The interpolated RotationalAccelerationVector3, always between a and b.

Multiply(double)

Scales the vector by a scalar factor.

public RotationalAccelerationVector3 Multiply(double scalar)

Parameters

scalar double

The 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

other RotationalAccelerationVector3

The 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

left RotationalAccelerationVector3

The left operand.

right RotationalAccelerationVector3

The 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

left RotationalAccelerationVector3

The vector to divide.

scalar double

The 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

scalar double

The scalar factor.

right RotationalAccelerationVector3

The 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

left RotationalAccelerationVector3

The vector to scale.

scalar double

The 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

left RotationalAccelerationVector3
right Duration

Returns

RotationalSpeedVector3

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

left Duration
right RotationalAccelerationVector3

Returns

RotationalSpeedVector3

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

left RotationalAccelerationVector3

The left operand.

right RotationalAccelerationVector3

The right operand.

Returns

RotationalAccelerationVector3

The component-wise difference.

operator -(RotationalAccelerationVector3)

Negates all components.

public static RotationalAccelerationVector3 operator -(RotationalAccelerationVector3 value)

Parameters

value RotationalAccelerationVector3

The vector to negate.

Returns

RotationalAccelerationVector3

A vector with all components negated.

latest ▼