Table of Contents

Struct JerkVector3

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

A 3D vector whose components represent jerk, each expressed as a UnitsNet.Jerk.

public readonly record struct JerkVector3 : IEquatable<JerkVector3>
Implements
Inherited Members
Extension Methods

Constructors

JerkVector3(Jerk, Jerk, Jerk)

Constructs a JerkVector3 from three UnitsNet.Jerk components.

public JerkVector3(Jerk x, Jerk y, Jerk z)

Parameters

x Jerk

The X component.

y Jerk

The Y component.

z Jerk

The Z component.

Properties

Magnitude

Returns the Euclidean magnitude of this vector as a UnitsNet.Jerk. The result is expressed in the same unit as the X component.

public Jerk Magnitude { get; }

Property Value

Jerk

X

The X component.

public Jerk X { get; }

Property Value

Jerk

Y

The Y component.

public Jerk Y { get; }

Property Value

Jerk

Z

The Z component.

public Jerk Z { get; }

Property Value

Jerk

Zero

A JerkVector3 with all components set to zero.

public static JerkVector3 Zero { get; }

Property Value

JerkVector3

Methods

Abs()

Returns a vector with each component replaced by its absolute value.

public JerkVector3 Abs()

Returns

JerkVector3

A JerkVector3 with non-negative components.

Add(JerkVector3)

Adds two vectors component-wise.

public JerkVector3 Add(JerkVector3 other)

Parameters

other JerkVector3

The vector to add.

Returns

JerkVector3

The component-wise sum.

ApproximatelyEquals(JerkVector3, Jerk)

Returns true if each component of this vector is within tolerance of the corresponding component of other.

public bool ApproximatelyEquals(JerkVector3 other, Jerk tolerance)

Parameters

other JerkVector3

The vector to compare against.

tolerance Jerk

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

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

public DoubleVector3 As(JerkUnit unit)

Parameters

unit JerkUnit

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

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

public JerkVector3 Clamp(JerkVector3 min, JerkVector3 max)

Parameters

min JerkVector3

The lower bound vector (inclusive, per component).

max JerkVector3

The upper bound vector (inclusive, per component).

Returns

JerkVector3

A JerkVector3 with each component in [min, max].

Divide(double)

Divides the vector by a scalar divisor.

public JerkVector3 Divide(double scalar)

Parameters

scalar double

The scalar divisor.

Returns

JerkVector3

The divided vector.

Equals(JerkVector3)

Indicates whether the current object is equal to another object of the same type.

public bool Equals(JerkVector3 other)

Parameters

other JerkVector3

An object to compare with this object.

Returns

bool

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

FromCentimetersPerSecondCubed(double, double, double)

Creates a JerkVector3 with all components created via UnitsNet.Jerk.FromCentimetersPerSecondCubed(UnitsNet.QuantityValue).

public static JerkVector3 FromCentimetersPerSecondCubed(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

JerkVector3

A JerkVector3 with all components in the corresponding unit.

FromDecimetersPerSecondCubed(double, double, double)

Creates a JerkVector3 with all components created via UnitsNet.Jerk.FromDecimetersPerSecondCubed(UnitsNet.QuantityValue).

public static JerkVector3 FromDecimetersPerSecondCubed(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

JerkVector3

A JerkVector3 with all components in the corresponding unit.

FromFeetPerSecondCubed(double, double, double)

Creates a JerkVector3 with all components created via UnitsNet.Jerk.FromFeetPerSecondCubed(UnitsNet.QuantityValue).

public static JerkVector3 FromFeetPerSecondCubed(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

JerkVector3

A JerkVector3 with all components in the corresponding unit.

FromInchesPerSecondCubed(double, double, double)

Creates a JerkVector3 with all components created via UnitsNet.Jerk.FromInchesPerSecondCubed(UnitsNet.QuantityValue).

public static JerkVector3 FromInchesPerSecondCubed(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

JerkVector3

A JerkVector3 with all components in the corresponding unit.

FromKilometersPerSecondCubed(double, double, double)

Creates a JerkVector3 with all components created via UnitsNet.Jerk.FromKilometersPerSecondCubed(UnitsNet.QuantityValue).

public static JerkVector3 FromKilometersPerSecondCubed(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

JerkVector3

A JerkVector3 with all components in the corresponding unit.

FromMetersPerSecondCubed(double, double, double)

Creates a JerkVector3 with all components created via UnitsNet.Jerk.FromMetersPerSecondCubed(UnitsNet.QuantityValue).

public static JerkVector3 FromMetersPerSecondCubed(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

JerkVector3

A JerkVector3 with all components in the corresponding unit.

FromMicrometersPerSecondCubed(double, double, double)

Creates a JerkVector3 with all components created via UnitsNet.Jerk.FromMicrometersPerSecondCubed(UnitsNet.QuantityValue).

public static JerkVector3 FromMicrometersPerSecondCubed(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

JerkVector3

A JerkVector3 with all components in the corresponding unit.

FromMillimetersPerSecondCubed(double, double, double)

Creates a JerkVector3 with all components created via UnitsNet.Jerk.FromMillimetersPerSecondCubed(UnitsNet.QuantityValue).

public static JerkVector3 FromMillimetersPerSecondCubed(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

JerkVector3

A JerkVector3 with all components in the corresponding unit.

FromMillistandardGravitiesPerSecond(double, double, double)

Creates a JerkVector3 with all components created via UnitsNet.Jerk.FromMillistandardGravitiesPerSecond(UnitsNet.QuantityValue).

public static JerkVector3 FromMillistandardGravitiesPerSecond(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

JerkVector3

A JerkVector3 with all components in the corresponding unit.

FromNanometersPerSecondCubed(double, double, double)

Creates a JerkVector3 with all components created via UnitsNet.Jerk.FromNanometersPerSecondCubed(UnitsNet.QuantityValue).

public static JerkVector3 FromNanometersPerSecondCubed(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

JerkVector3

A JerkVector3 with all components in the corresponding unit.

FromStandardGravitiesPerSecond(double, double, double)

Creates a JerkVector3 with all components created via UnitsNet.Jerk.FromStandardGravitiesPerSecond(UnitsNet.QuantityValue).

public static JerkVector3 FromStandardGravitiesPerSecond(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

JerkVector3

A JerkVector3 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(JerkVector3, JerkVector3, 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(JerkVector3, JerkVector3, double) if you need the result bounded to the segment between a and b.

public static JerkVector3 Lerp(JerkVector3 a, JerkVector3 b, double t)

Parameters

a JerkVector3

The start vector (t = 0).

b JerkVector3

The end vector (t = 1).

t double

The interpolation parameter. Values outside [0, 1] extrapolate.

Returns

JerkVector3

The interpolated JerkVector3.

LerpClamped(JerkVector3, JerkVector3, double)

Linearly interpolates between two vectors, with t clamped to [0, 1].

public static JerkVector3 LerpClamped(JerkVector3 a, JerkVector3 b, double t)

Parameters

a JerkVector3

The start vector (t = 0).

b JerkVector3

The end vector (t = 1).

t double

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

Returns

JerkVector3

The interpolated JerkVector3, always between a and b.

Multiply(double)

Scales the vector by a scalar factor.

public JerkVector3 Multiply(double scalar)

Parameters

scalar double

The scalar factor.

Returns

JerkVector3

The scaled vector.

Negate()

Negates all components.

public JerkVector3 Negate()

Returns

JerkVector3

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

Subtracts two vectors component-wise.

public JerkVector3 Subtract(JerkVector3 other)

Parameters

other JerkVector3

The vector to subtract.

Returns

JerkVector3

The component-wise difference.

Operators

operator +(JerkVector3, JerkVector3)

Adds two vectors component-wise.

public static JerkVector3 operator +(JerkVector3 left, JerkVector3 right)

Parameters

left JerkVector3

The left operand.

right JerkVector3

The right operand.

Returns

JerkVector3

The component-wise sum.

operator /(JerkVector3, double)

Divides the vector by a scalar divisor.

public static JerkVector3 operator /(JerkVector3 left, double scalar)

Parameters

left JerkVector3

The vector to divide.

scalar double

The scalar divisor.

Returns

JerkVector3

The divided vector.

operator *(double, JerkVector3)

Scales the vector by a scalar factor. Operands may be supplied in either order.

public static JerkVector3 operator *(double scalar, JerkVector3 right)

Parameters

scalar double

The scalar factor.

right JerkVector3

The vector to scale.

Returns

JerkVector3

The scaled vector.

operator *(JerkVector3, double)

Scales the vector by a scalar factor.

public static JerkVector3 operator *(JerkVector3 left, double scalar)

Parameters

left JerkVector3

The vector to scale.

scalar double

The scalar factor.

Returns

JerkVector3

The scaled vector.

operator *(JerkVector3, Duration)

Multiplies a jerk vector by a duration to produce an acceleration change (Δa = j·t) in 3D, preserving the caller's unit.

Jerk is the rate of change of acceleration in all three axes. Multiplying by time tells you how much the acceleration will have changed after right seconds of constant jerk. The result unit is derived from the jerk component unit (e.g. ft/s³ → ft/s²).

Jerk is important in 3D trajectory planning and ride-quality analysis — a smooth motion profile limits jerk in all axes to avoid mechanical shock or passenger discomfort (e.g. in autonomous vehicle or robot arm control).

public static AccelerationVector3 operator *(JerkVector3 left, Duration right)

Parameters

left JerkVector3

The 3D jerk vector (rate of change of acceleration in each direction).

right Duration

The elapsed time.

Returns

AccelerationVector3

The change in 3D acceleration vector (Δa) in the unit matching the jerk component unit.

Examples

// Jerk of (2, 0, 1) m/s³ applied for 3 seconds
var jerk = new JerkVector3(
    Jerk.FromMetersPerSecondCubed(2), Jerk.Zero, Jerk.FromMetersPerSecondCubed(1));
AccelerationVector3 deltaA = jerk * Duration.FromSeconds(3); // (6 m/s², 0, 3 m/s²)

// Unit-preserving: ft/s³ × s = ft/s²
var jerkFt = new JerkVector3(
    Jerk.From(1, JerkUnit.FootPerSecondCubed), Jerk.Zero, Jerk.Zero);
AccelerationVector3 deltaAFt = jerkFt * Duration.FromSeconds(2); // (2 ft/s², 0, 0)

operator *(Duration, JerkVector3)

Multiplies a duration by a jerk vector to produce an acceleration change (Δa = j·t). Operands may be supplied in either order.

public static AccelerationVector3 operator *(Duration left, JerkVector3 right)

Parameters

left Duration

The elapsed time.

right JerkVector3

The 3D jerk vector.

Returns

AccelerationVector3

The change in 3D acceleration vector (Δa) in the unit matching the jerk component unit.

Examples

AccelerationVector3 deltaA = Duration.FromSeconds(3) * new JerkVector3(
    Jerk.FromMetersPerSecondCubed(2), Jerk.Zero, Jerk.Zero); // (6 m/s², 0, 0)

operator -(JerkVector3, JerkVector3)

Subtracts two vectors component-wise.

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

Parameters

left JerkVector3

The left operand.

right JerkVector3

The right operand.

Returns

JerkVector3

The component-wise difference.

operator -(JerkVector3)

Negates all components.

public static JerkVector3 operator -(JerkVector3 value)

Parameters

value JerkVector3

The vector to negate.

Returns

JerkVector3

A vector with all components negated.

latest ▼