Header menu logo Euclid

AutoOpenUnitVec Module

When Euclid is opened this module will be auto-opened. It only contains extension members for type UnitVec.

Type extensions

Type extension Description

this.AngleDiamondInXYTo

Full Usage: this.AngleDiamondInXYTo

Parameters:
Returns: float
Modifiers: inline

Returns positive angle for rotating Counter-Clockwise from this vector to vector 'b' . In Diamond Angle. Using only proportion of X to Y components. Range of 0.0 to 4.0 (for 360 Degrees) It is the fastest angle calculation since it does not involve Cosine or ArcTangent functions. For World X-Y plane. Considers only the X and Y components of the vector.

Extended Type: UnitVec

b : UnitVec
Returns: float

this.AsPnt

Full Usage: this.AsPnt

Parameters:
    () : unit

Returns: Pnt
Modifiers: inline

Convert 3D unit-vector to 3D point.

Extended Type: UnitVec

() : unit
Returns: Pnt

this.AsPnt

Full Usage: this.AsPnt

Returns: Pnt
Modifiers: inline

Convert 3D unit-vector to 3D point.

Extended Type: UnitVec

Returns: Pnt

this.AsVc

Full Usage: this.AsVc

Parameters:
    () : unit

Returns: Vc
Modifiers: inline

Convert 3D unit-vector to 2D vector, discarding the Z value.

Extended Type: UnitVec

() : unit
Returns: Vc

this.AsVc

Full Usage: this.AsVc

Returns: Vc
Modifiers: inline

Convert 3D unit-vector to 2D vector, discarding the Z value.

Extended Type: UnitVec

Returns: Vc

this.AsVec

Full Usage: this.AsVec

Parameters:
    () : unit

Returns: Vec
Modifiers: inline

Convert 3D unit-vector to 3D vector.

Extended Type: UnitVec

() : unit
Returns: Vec

this.AsVec

Full Usage: this.AsVec

Returns: Vec
Modifiers: inline

Convert 3D unit-vector to 3D vector.

Extended Type: UnitVec

Returns: Vec

this.Cross

Full Usage: this.Cross

Parameters:
Returns: Vec
Modifiers: inline

Cross product, of two 3D unit-vectors. The resulting vector is perpendicular to both input vectors. The length of this resulting vector is the squared area of the parallelogram spanned by the input vectors. Or the sine of the angle between the two unit-vectors. Its direction follows the right-hand rule. A x B = |A| * |B| * sin(angle)

Extended Type: UnitVec

b : UnitVec
Returns: Vec

this.Cross

Full Usage: this.Cross

Parameters:
Returns: Vec
Modifiers: inline

Cross product, of a 3D unit-vectors an a 3D vector. The resulting vector is perpendicular to both input vectors. The length of this resulting vector is the squared area of the parallelogram spanned by the input vectors. Its direction follows the right-hand rule. A x B = |A| * |B| * sin(angle)

Extended Type: UnitVec

b : Vec
Returns: Vec

this.Direction180InXY

Full Usage: this.Direction180InXY

Parameters:
    () : unit

Returns: float
Modifiers: inline

Returns the angle in Degrees from X-axis, Ignores orientation. Range 0.0 to 180. For World X-Y plane. Considers only the X and Y components of the vector.

Extended Type: UnitVec

() : unit
Returns: float

this.Direction180InXY

Full Usage: this.Direction180InXY

Returns: float
Modifiers: inline

Returns the angle in Degrees from X-axis, Ignores orientation. Range 0.0 to 180. For World X-Y plane. Considers only the X and Y components of the vector.

Extended Type: UnitVec

Returns: float

this.Direction2PiInXY

Full Usage: this.Direction2PiInXY

Parameters:
    () : unit

Returns: float
Modifiers: inline

Returns the angle in Radians from X-axis, Going Counter-Clockwise till two Pi. For World X-Y plane. Considers only the X and Y components of the vector. Fails if vector is vertical.

Extended Type: UnitVec

() : unit
Returns: float

this.Direction2PiInXY

Full Usage: this.Direction2PiInXY

Returns: float
Modifiers: inline

Returns the angle in Radians from X-axis, Going Counter-Clockwise till two Pi. For World X-Y plane. Considers only the X and Y components of the vector. Fails if vector is vertical.

Extended Type: UnitVec

Returns: float

this.Direction360InXY

Full Usage: this.Direction360InXY

Parameters:
    () : unit

Returns: float
Modifiers: inline

Returns the angle in Degrees from X-axis in World X-Y plane. Going Counter-Clockwise till 360. For World X-Y plane. Considers only the X and Y components of the vector.

Extended Type: UnitVec

() : unit
Returns: float

this.Direction360InXY

Full Usage: this.Direction360InXY

Returns: float
Modifiers: inline

Returns the angle in Degrees from X-axis in World X-Y plane. Going Counter-Clockwise till 360. For World X-Y plane. Considers only the X and Y components of the vector.

Extended Type: UnitVec

Returns: float

this.DirectionDiamondInXY

Full Usage: this.DirectionDiamondInXY

Parameters:
    () : unit

Returns: float
Modifiers: inline

The diamond angle is always positive and in the range of 0.0 to 4.0 (for 360 Degrees) 0.0 = Xaxis, going Counter-Clockwise. Ignoring Z component. This is the fastest angle computation since it does not use Math.Cos or Math.Sin. It is useful for radial sorting. For X-Y plane. Considers only the X and Y components of the vector.

Extended Type: UnitVec

() : unit
Returns: float

this.DirectionDiamondInXY

Full Usage: this.DirectionDiamondInXY

Returns: float
Modifiers: inline

The diamond angle is always positive and in the range of 0.0 to 4.0 (for 360 Degrees) 0.0 = Xaxis, going Counter-Clockwise. Ignoring Z component. This is the fastest angle computation since it does not use Math.Cos or Math.Sin. It is useful for radial sorting. For X-Y plane. Considers only the X and Y components of the vector.

Extended Type: UnitVec

Returns: float

this.DirectionPiInXY

Full Usage: this.DirectionPiInXY

Parameters:
    () : unit

Returns: float
Modifiers: inline

Returns the angle in Radians from X-axis in World X-Y plane, Ignores orientation. Range 0.0 to Pi. For World X-Y plane. Considers only the X and Y components of the vector. Fails if vector is vertical.

Extended Type: UnitVec

() : unit
Returns: float

this.DirectionPiInXY

Full Usage: this.DirectionPiInXY

Returns: float
Modifiers: inline

Returns the angle in Radians from X-axis in World X-Y plane, Ignores orientation. Range 0.0 to Pi. For World X-Y plane. Considers only the X and Y components of the vector. Fails if vector is vertical.

Extended Type: UnitVec

Returns: float

this.Dot

Full Usage: this.Dot

Parameters:
Returns: float
Modifiers: inline

Dot product, or scalar product of two 3D unit-vectors. Returns a float. This float of unit-vectors is the Cosine of the angle between the two vectors.

Extended Type: UnitVec

b : UnitVec
Returns: float

this.Dot

Full Usage: this.Dot

Parameters:
Returns: float
Modifiers: inline

Dot product, or scalar product of a 3D unit-vector with a 3D vector. Returns a float. This float is the projected length of the 3D vector on the direction of the unit-vector.

Extended Type: UnitVec

b : Vec
Returns: float

this.DotCosine

Full Usage: this.DotCosine

Parameters:
Returns: float<MeasureProduct<cosine, MeasureOne>>
Modifiers: inline

Dot product, or scalar product of two 3D unit-vector. This float of unit-vectors is the Cosine of the angle between the two vectors. Returns a float with a unit of Measure Euclid.Cosine.cosine. This is useful for comparing the angle to precomputed values in the Euclid.Cosine module.

Extended Type: UnitVec

b : UnitVec
Returns: float<MeasureProduct<cosine, MeasureOne>>

this.IsHorizontal

Full Usage: this.IsHorizontal

Parameters:
    () : unit

Returns: bool
Modifiers: inline

Checks if 3D unit-vector is horizontal (Z component is almost zero). The absolute deviation tolerance along Z axis is 1e-9. Fails on vectors shorter than 1e-6.

Extended Type: UnitVec

() : unit
Returns: bool

this.IsHorizontal

Full Usage: this.IsHorizontal

Returns: bool
Modifiers: inline

Checks if 3D unit-vector is horizontal (Z component is almost zero). The absolute deviation tolerance along Z axis is 1e-9. Fails on vectors shorter than 1e-6.

Extended Type: UnitVec

Returns: bool

this.IsOppositeOrientation

Full Usage: this.IsOppositeOrientation

Parameters:
Returns: bool
Modifiers: inline

Checks if the angle between the two 3D unit-vectors is more than 180 degrees. Calculates the dot product of two 3D unit-vectors. Then checks if it is smaller than minus 1e-12.

Extended Type: UnitVec

other : UnitVec
Returns: bool

this.IsOppositeOrientation

Full Usage: this.IsOppositeOrientation

Parameters:
Returns: bool
Modifiers: inline

Checks if the angle between the this 23D unit-vectors and a 2D vector is more than 180 degrees. Calculates the dot product of a 3D vector and a unit-vectors. Then checks if it is smaller than minus 1e-12.

Extended Type: UnitVec

other : Vec
Returns: bool

this.IsParallelAndOrientedTo

Full Usage: this.IsParallelAndOrientedTo

Parameters:
Returns: bool
Modifiers: inline

Checks if two 3D unit-vectors are parallel. Takes the line orientation into account too. The default angle tolerance is 0.25 degrees. This tolerance can be customized by an optional minium cosine value. See Euclid.Cosine module.

Extended Type: UnitVec

other : UnitVec
minCosine : float<MeasureProduct<cosine, MeasureOne>>
Returns: bool

this.IsParallelAndOrientedTo

Full Usage: this.IsParallelAndOrientedTo

Parameters:
Returns: bool
Modifiers: inline

Checks if this 3D unit-vectors and a 3D vector are parallel. Takes the line orientation into account too. The default angle tolerance is 0.25 degrees. This tolerance can be customized by an optional minium cosine value. See Euclid.Cosine module.

Extended Type: UnitVec

other : Vec
minCosine : float<MeasureProduct<cosine, MeasureOne>>
Returns: bool

this.IsParallelTo

Full Usage: this.IsParallelTo

Parameters:
Returns: bool
Modifiers: inline

Checks if two 3D unit-vectors are parallel. Ignores the line orientation. The default angle tolerance is 0.25 degrees. This tolerance can be customized by an optional minium cosine value. See Euclid.Cosine module.

Extended Type: UnitVec

other : UnitVec
minCosine : float<MeasureProduct<cosine, MeasureOne>>
Returns: bool

this.IsParallelTo

Full Usage: this.IsParallelTo

Parameters:
Returns: bool
Modifiers: inline

Checks if this 3D unit-vectors and a 3D vector are parallel. Ignores the line orientation. The default angle tolerance is 0.25 degrees. This tolerance can be customized by an optional minium cosine value. See Euclid.Cosine module.

Extended Type: UnitVec

other : Vec
minCosine : float<MeasureProduct<cosine, MeasureOne>>
Returns: bool

this.IsPerpendicularTo

Full Usage: this.IsPerpendicularTo

Parameters:
Returns: bool
Modifiers: inline

Checks if two 3D unit-vectors are perpendicular to each other. The default angle tolerance is 89.75 to 90.25 degrees. This tolerance can be customized by an optional minium cosine value. The default cosine is 0.0043633 ( = 89.75 deg) See Euclid.Cosine module.

Extended Type: UnitVec

other : UnitVec
maxCosine : float<MeasureProduct<cosine, MeasureOne>>
Returns: bool

this.IsPerpendicularTo

Full Usage: this.IsPerpendicularTo

Parameters:
Returns: bool
Modifiers: inline

Checks if this 3D unit-vectors and a 3D vector are perpendicular to each other. The default angle tolerance is 89.75 to 90.25 degrees. This tolerance can be customized by an optional minium cosine value. The default cosine is 0.0043633 ( = 89.75 deg) See Euclid.Cosine module.

Extended Type: UnitVec

other : Vec
maxCosine : float<MeasureProduct<cosine, MeasureOne>>
Returns: bool

this.IsVertical

Full Usage: this.IsVertical

Parameters:
    () : unit

Returns: bool
Modifiers: inline

Checks if 3D unit-vector is parallel to the world Z axis. Ignoring orientation. The absolute deviation tolerance along X and Y axis is 1e-9. Same as v.IsZAligned

Extended Type: UnitVec

() : unit
Returns: bool

this.IsVertical

Full Usage: this.IsVertical

Returns: bool
Modifiers: inline

Checks if 3D unit-vector is parallel to the world Z axis. Ignoring orientation. The absolute deviation tolerance along X and Y axis is 1e-9. Same as v.IsZAligned

Extended Type: UnitVec

Returns: bool

this.IsXAligned

Full Usage: this.IsXAligned

Parameters:
    () : unit

Returns: bool
Modifiers: inline

Checks if 3D unit-vector is parallel to the world X axis. Ignoring orientation. The absolute deviation tolerance along Y and Z axis is 1e-9.

Extended Type: UnitVec

() : unit
Returns: bool

this.IsXAligned

Full Usage: this.IsXAligned

Returns: bool
Modifiers: inline

Checks if 3D unit-vector is parallel to the world X axis. Ignoring orientation. The absolute deviation tolerance along Y and Z axis is 1e-9.

Extended Type: UnitVec

Returns: bool

this.IsYAligned

Full Usage: this.IsYAligned

Parameters:
    () : unit

Returns: bool
Modifiers: inline

Checks if 3D unit-vector is parallel to the world Y axis. Ignoring orientation. The absolute deviation tolerance along X and Z axis is 1e-9.

Extended Type: UnitVec

() : unit
Returns: bool

this.IsYAligned

Full Usage: this.IsYAligned

Returns: bool
Modifiers: inline

Checks if 3D unit-vector is parallel to the world Y axis. Ignoring orientation. The absolute deviation tolerance along X and Z axis is 1e-9.

Extended Type: UnitVec

Returns: bool

this.IsZAligned

Full Usage: this.IsZAligned

Parameters:
    () : unit

Returns: bool
Modifiers: inline

Checks if 3D unit-vector is parallel to the world Z axis. Ignoring orientation. The absolute deviation tolerance along X and Y axis is 1e-9. Same as v.IsVertical

Extended Type: UnitVec

() : unit
Returns: bool

this.IsZAligned

Full Usage: this.IsZAligned

Returns: bool
Modifiers: inline

Checks if 3D unit-vector is parallel to the world Z axis. Ignoring orientation. The absolute deviation tolerance along X and Y axis is 1e-9. Same as v.IsVertical

Extended Type: UnitVec

Returns: bool

this.LengthInXY

Full Usage: this.LengthInXY

Parameters:
    () : unit

Returns: float
Modifiers: inline

Returns the length of the 3D vector projected into World X-Y plane.

Extended Type: UnitVec

() : unit
Returns: float

this.LengthInXY

Full Usage: this.LengthInXY

Returns: float
Modifiers: inline

Returns the length of the 3D vector projected into World X-Y plane.

Extended Type: UnitVec

Returns: float

this.LengthSqInXY

Full Usage: this.LengthSqInXY

Parameters:
    () : unit

Returns: float
Modifiers: inline

Returns the squared length of the 3D vector projected into World X-Y plane. The square length is faster to calculate and often good enough for use cases such as sorting vectors by length.

Extended Type: UnitVec

() : unit
Returns: float

this.LengthSqInXY

Full Usage: this.LengthSqInXY

Returns: float
Modifiers: inline

Returns the squared length of the 3D vector projected into World X-Y plane. The square length is faster to calculate and often good enough for use cases such as sorting vectors by length.

Extended Type: UnitVec

Returns: float

this.MatchesOrientation

Full Usage: this.MatchesOrientation

Parameters:
Returns: bool
Modifiers: inline

Checks if the angle between the two 3D unit-vectors is less than 180 degrees. Calculates the dot product of two 3D unit-vectors. Then checks if it is bigger than 1e-12.

Extended Type: UnitVec

other : UnitVec
Returns: bool

this.MatchesOrientation

Full Usage: this.MatchesOrientation

Parameters:
Returns: bool
Modifiers: inline

Checks if the angle between the this 3D unit-vectors and a 3D vector is less than 180 degrees. Calculates the dot product of a 3D vector and a unit-vectors. Then checks if it is bigger than 1e-12.

Extended Type: UnitVec

other : Vec
Returns: bool

this.PerpendicularInXY

Full Usage: this.PerpendicularInXY

Parameters:
    () : unit

Returns: Vec
Modifiers: inline

Returns a perpendicular horizontal vector. Rotated counterclockwise. Or Vec.Zero if input is vertical. Just does Vec(-v.Y, v.X, 0.0)

Extended Type: UnitVec

() : unit
Returns: Vec

this.PerpendicularInXY

Full Usage: this.PerpendicularInXY

Returns: Vec
Modifiers: inline

Returns a perpendicular horizontal vector. Rotated counterclockwise. Or Vec.Zero if input is vertical. Just does Vec(-v.Y, v.X, 0.0)

Extended Type: UnitVec

Returns: Vec

this.RotateOnZ90CCW

Full Usage: this.RotateOnZ90CCW

Parameters:
    () : unit

Returns: UnitVec
Modifiers: inline

90 Degree rotation Counter-Clockwise around Z-axis.

Extended Type: UnitVec

() : unit
Returns: UnitVec

this.RotateOnZ90CCW

Full Usage: this.RotateOnZ90CCW

Returns: UnitVec
Modifiers: inline

90 Degree rotation Counter-Clockwise around Z-axis.

Extended Type: UnitVec

Returns: UnitVec

this.RotateOnZ90CW

Full Usage: this.RotateOnZ90CW

Parameters:
    () : unit

Returns: UnitVec
Modifiers: inline

90 Degree rotation clockwise around Z-axis.

Extended Type: UnitVec

() : unit
Returns: UnitVec

this.RotateOnZ90CW

Full Usage: this.RotateOnZ90CW

Returns: UnitVec
Modifiers: inline

90 Degree rotation clockwise around Z-axis.

Extended Type: UnitVec

Returns: UnitVec

this.Transform

Full Usage: this.Transform

Parameters:
Returns: Vec
Modifiers: inline

Multiplies a Matrix with a 3D vector. Since a 3D vector represents a direction or an offset in space, but not a location, the implicit the 4th dimension is 0.0 so that all translations are ignored. (Homogeneous Vector) The resulting vector is not unitized.

Extended Type: UnitVec

m : Matrix
Returns: Vec

this.TransformRigid

Full Usage: this.TransformRigid

Parameters:
Returns: UnitVec
Modifiers: inline

Multiplies (or applies) a RigidMatrix to a 3D unit-vector. Since a 3D vector represents a direction or an offset in space, but not a location, all translations are ignored. (Homogeneous Vector)

Extended Type: UnitVec

m : RigidMatrix
Returns: UnitVec

this.WithX

Full Usage: this.WithX

Parameters:
    x : float

Returns: Vec
Modifiers: inline

Returns a new 3D vector with new X coordinate, Y and Z stay the same.

Extended Type: UnitVec

x : float
Returns: Vec

this.WithY

Full Usage: this.WithY

Parameters:
    y : float

Returns: Vec
Modifiers: inline

Returns a new 3D vector with new y coordinate, X and Z stay the same.

Extended Type: UnitVec

y : float
Returns: Vec

this.WithZ

Full Usage: this.WithZ

Parameters:
    z : float

Returns: Vec
Modifiers: inline

Returns a new 3D vector with new z coordinate, X and Y stay the same.

Extended Type: UnitVec

z : float
Returns: Vec

UnitVec.Xaxis()

Full Usage: UnitVec.Xaxis()

Parameters:
    () : unit

Returns: UnitVec
Modifiers: inline

Returns the World X-axis with length one: UnitVec(1, 0, 0)

Extended Type: UnitVec

() : unit
Returns: UnitVec

UnitVec.Xaxis

Full Usage: UnitVec.Xaxis

Returns: UnitVec
Modifiers: inline

Returns the World X-axis with length one: UnitVec(1, 0, 0)

Extended Type: UnitVec

Returns: UnitVec

UnitVec.Yaxis()

Full Usage: UnitVec.Yaxis()

Parameters:
    () : unit

Returns: UnitVec
Modifiers: inline

Returns the World Y-axis with length one: UnitVec(0.1, 0)

Extended Type: UnitVec

() : unit
Returns: UnitVec

UnitVec.Yaxis

Full Usage: UnitVec.Yaxis

Returns: UnitVec
Modifiers: inline

Returns the World Y-axis with length one: UnitVec(0.1, 0)

Extended Type: UnitVec

Returns: UnitVec

UnitVec.Zaxis()

Full Usage: UnitVec.Zaxis()

Parameters:
    () : unit

Returns: UnitVec
Modifiers: inline

Returns the World Z-axis with length one: UnitVec(0, 0, 1)

Extended Type: UnitVec

() : unit
Returns: UnitVec

UnitVec.Zaxis

Full Usage: UnitVec.Zaxis

Returns: UnitVec
Modifiers: inline

Returns the World Z-axis with length one: UnitVec(0, 0, 1)

Extended Type: UnitVec

Returns: UnitVec

UnitVec.add a b

Full Usage: UnitVec.add a b

Parameters:
Returns: Vec
Modifiers: inline

Add two 3D unit-vectors together. Returns a new (non-unitized) 3D vector.

Extended Type: UnitVec

a : UnitVec
b : UnitVec
Returns: Vec

UnitVec.angle180 a b

Full Usage: UnitVec.angle180 a b

Parameters:
Returns: float
Modifiers: inline

Returns positive angle between two 3D unit-vectors in Degrees. Takes vector orientation into account. Range 0 to 180 Degrees.

Extended Type: UnitVec

a : UnitVec
b : UnitVec
Returns: float

UnitVec.angle2PiInXY (a, b)

Full Usage: UnitVec.angle2PiInXY (a, b)

Parameters:
Returns: float
Modifiers: inline

Returns positive angle from vector 'a' to vector 'b' projected in X-Y plane. In Radians. Considering Counter-Clockwise rotation round the World Z-axis. Range: 0.0 to 2 Pi ( = 0 to 360 Degrees)

Extended Type: UnitVec

a : UnitVec
b : UnitVec
Returns: float

UnitVec.angle360InXY (a, b)

Full Usage: UnitVec.angle360InXY (a, b)

Parameters:
Returns: float
Modifiers: inline

Returns positive angle of two 3D unit-vector projected in X-Y plane in Degrees. Considering positive rotation round the World Z-axis. Range: 0 to 360 Degrees.

Extended Type: UnitVec

a : UnitVec
b : UnitVec
Returns: float

UnitVec.angle90 a b

Full Usage: UnitVec.angle90 a b

Parameters:
Returns: float
Modifiers: inline

Returns positive angle between two 3D unit-vectors in Degrees, Ignores vector orientation. Range: 0 to 90 Degrees.

Extended Type: UnitVec

a : UnitVec
b : UnitVec
Returns: float

UnitVec.angleDiamondInXY (a, b)

Full Usage: UnitVec.angleDiamondInXY (a, b)

Parameters:
Returns: float
Modifiers: inline

Returns positive angle for rotating Counter-Clockwise from vector 'a' to vector 'b' . In Diamond Angle. Using only proportion of X to Y components. Range of 0.0 to 4.0 (for 360 Degrees) It is the fastest angle calculation since it does not involve Cosine or ArcTangent functions. For World X-Y plane. Considers only the X and Y components of the vector.

Extended Type: UnitVec

a : UnitVec
b : UnitVec
Returns: float

UnitVec.angleHalfPi a b

Full Usage: UnitVec.angleHalfPi a b

Parameters:
Returns: float
Modifiers: inline

Returns positive angle between two 3D unit-vectors in Radians. Ignores orientation. Range 0.0 to Pi/2 ( = 0 to 90 Degree)

Extended Type: UnitVec

a : UnitVec
b : UnitVec
Returns: float

UnitVec.anglePi a b

Full Usage: UnitVec.anglePi a b

Parameters:
Returns: float
Modifiers: inline

Returns angle between two 3D unit-vectors in Radians. Takes vector orientation into account. Range 0.0 to Pi( = 0 to 180 Degree)

Extended Type: UnitVec

a : UnitVec
b : UnitVec
Returns: float

UnitVec.areParallel other v

Full Usage: UnitVec.areParallel other v

Parameters:
Returns: bool
Modifiers: inline

Checks if Angle between two vectors is Below 0.25 Degree. Ignores vector orientation.

Extended Type: UnitVec

other : UnitVec
v : UnitVec
Returns: bool

UnitVec.areParallelAndMatchOrientation other v

Full Usage: UnitVec.areParallelAndMatchOrientation other v

Parameters:
Returns: bool
Modifiers: inline

Checks if Angle between two vectors is between 98.75 and 90.25 Degree. Ignores vector orientation.

Extended Type: UnitVec

other : UnitVec
v : UnitVec
Returns: bool

UnitVec.arePerpendicular other v

Full Usage: UnitVec.arePerpendicular other v

Parameters:
Returns: bool
Modifiers: inline

Checks if Angle between two vectors is between 98.75 and 90.25 Degree. Ignores vector orientation.

Extended Type: UnitVec

other : UnitVec
v : UnitVec
Returns: bool

UnitVec.asPnt v

Full Usage: UnitVec.asPnt v

Parameters:
Returns: Pnt
Modifiers: inline

Convert 3D unit-vector to 3D point.

Extended Type: UnitVec

v : UnitVec
Returns: Pnt

UnitVec.asPt v

Full Usage: UnitVec.asPt v

Parameters:
Returns: Pt
Modifiers: inline

Convert 3D unit-vector to 2D point by ignoring Z value.

Extended Type: UnitVec

v : UnitVec
Returns: Pt

UnitVec.asUnitVc v

Full Usage: UnitVec.asUnitVc v

Parameters:
Returns: UnitVc
Modifiers: inline

Convert 3D unit-vector to 2D unit-vector by ignoring Z value and unitizing again.

Extended Type: UnitVec

v : UnitVec
Returns: UnitVc

UnitVec.asVc v

Full Usage: UnitVec.asVc v

Parameters:
Returns: Vc
Modifiers: inline

Convert 3D unit-vector to 2D vector by ignoring Z value.

Extended Type: UnitVec

v : UnitVec
Returns: Vc

UnitVec.asVec v

Full Usage: UnitVec.asVec v

Parameters:
Returns: Vec
Modifiers: inline

Convert 3D unit-vector to 3D vector.

Extended Type: UnitVec

v : UnitVec
Returns: Vec

UnitVec.create (fromPt, toPt)

Full Usage: UnitVec.create (fromPt, toPt)

Parameters:
Returns: UnitVec
Modifiers: inline

Create 3D unit-vector from start and endpoint. Does the unitizing too.

Extended Type: UnitVec

fromPt : Pnt
toPt : Pnt
Returns: UnitVec

UnitVec.createFromMembersXYZ vec

Full Usage: UnitVec.createFromMembersXYZ vec

Parameters:
    vec : ^T

Returns: UnitVec
Modifiers: inline
Type parameters: ^T, ^a, ^b, ^c

Accepts any type that has a X, Y and Z (UPPERCASE) member that can be converted to a float. Does the unitizing too. Internally this is not using reflection at runtime but F# Statically Resolved Type Parameters at compile time.

Extended Type: UnitVec

vec : ^T
Returns: UnitVec

UnitVec.createFromMembersxyz vec

Full Usage: UnitVec.createFromMembersxyz vec

Parameters:
    vec : ^T

Returns: UnitVec
Modifiers: inline
Type parameters: ^T, ^a, ^b, ^c

Accepts any type that has a x, y and z (lowercase) member that can be converted to a float. Does the unitizing too. Internally this is not using reflection at runtime but F# Statically Resolved Type Parameters at compile time.

Extended Type: UnitVec

vec : ^T
Returns: UnitVec

UnitVec.createFromPnt pt

Full Usage: UnitVec.createFromPnt pt

Parameters:
Returns: UnitVec
Modifiers: inline

Create 3D unit-vector from 3D point. Does the unitizing too.

Extended Type: UnitVec

pt : Pnt
Returns: UnitVec

UnitVec.createFromVec v

Full Usage: UnitVec.createFromVec v

Parameters:
Returns: UnitVec
Modifiers: inline

Create 3D unit-vector from 3D vector. Does the unitizing too.

Extended Type: UnitVec

v : Vec
Returns: UnitVec

UnitVec.cross (a, b)

Full Usage: UnitVec.cross (a, b)

Parameters:
Returns: Vec
Modifiers: inline

Cross product, of a 3D unit-vectors an a 3D vector. It is also known as the Determinant, Wedge Product or Outer Product. The resulting vector is perpendicular to both input vectors. The length of this resulting vector is the squared area of the parallelogram spanned by the input vectors. Its direction follows the right-hand rule. A x B = |A| * |B| * sin(angle)

Extended Type: UnitVec

a : UnitVec
b : Vec
Returns: Vec

UnitVec.cross (a, b)

Full Usage: UnitVec.cross (a, b)

Parameters:
Returns: Vec
Modifiers: inline

Cross product, of a 3D vector and a 3D unit-vectors. It is also known as the Determinant, Wedge Product or Outer Product. The resulting vector is perpendicular to both input vectors. The length of this resulting vector is the squared area of the parallelogram spanned by the input vectors. Its direction follows the right-hand rule. A x B = |A| * |B| * sin(angle)

Extended Type: UnitVec

a : Vec
b : UnitVec
Returns: Vec

UnitVec.determinant (u, v, w)

Full Usage: UnitVec.determinant (u, v, w)

Parameters:
Returns: float
Modifiers: inline

Returns three vectors Determinant. This is also the signed volume of the Parallelepipeds define by these three vectors. Also called scalar triple product, mixed product, box product, or in german: Spatprodukt. It is defined as the dot product of one of the vectors with the Cross Product of the other two.

Extended Type: UnitVec

u : UnitVec
v : UnitVec
w : UnitVec
Returns: float

UnitVec.difference a b

Full Usage: UnitVec.difference a b

Parameters:
Returns: float
Modifiers: inline

Returns the distance between the tips of two 3D unit-vectors.

Extended Type: UnitVec

a : UnitVec
b : UnitVec
Returns: float

UnitVec.differenceSq a b

Full Usage: UnitVec.differenceSq a b

Parameters:
Returns: float
Modifiers: inline

Returns the squared distance between the tips of two 3D unit-vectors. This operation is slightly faster than Vec.difference and sufficient for many algorithms like finding closest points.

Extended Type: UnitVec

a : UnitVec
b : UnitVec
Returns: float

UnitVec.direction2PiInXY v

Full Usage: UnitVec.direction2PiInXY v

Parameters:
Returns: float
Modifiers: inline

Returns positive angle of 3D unit-vector in World X-Y plane. Counter-Clockwise from X-axis. In Radians. Range: 0.0 to 2 Pi ( = 0 to 360 Degrees) For World X-Y plane. Considers only the X and Y components of the vector.

Extended Type: UnitVec

v : UnitVec
Returns: float

UnitVec.direction360InXY v

Full Usage: UnitVec.direction360InXY v

Parameters:
Returns: float
Modifiers: inline

Returns positive angle of 3D unit-vector in World X-Y plane. Counter-Clockwise from X-axis. In Degree. Range: 0.0 to 2 Pi ( = 0 to 360 Degrees) For World X-Y plane. Considers only the X and Y components of the vector.

Extended Type: UnitVec

v : UnitVec
Returns: float

UnitVec.directionDiamondInXY v

Full Usage: UnitVec.directionDiamondInXY v

Parameters:
Returns: float
Modifiers: inline

The diamond angle. Returns positive angle of 3D unit-vector in World X-Y plane. Calculates the proportion of X to Y component. It is always positive and in the range of 0.0 to 4.0 (for 360 Degrees) 0.0 = Xaxis, going Counter-Clockwise. It is the fastest angle calculation since it does not involve Cosine or ArcTangent functions. For World X-Y plane. Considers only the X and Y components of the vector.

Extended Type: UnitVec

v : UnitVec
Returns: float

UnitVec.dot (a, b)

Full Usage: UnitVec.dot (a, b)

Parameters:
Returns: float
Modifiers: inline

Dot product, or scalar product of a 3D unit-vector with a 3D vector. Returns a float. This float is the projected length of the 3D vector on the direction of the unit-vector.

Extended Type: UnitVec

a : UnitVec
b : Vec
Returns: float

UnitVec.dot (a, b)

Full Usage: UnitVec.dot (a, b)

Parameters:
Returns: float
Modifiers: inline

Dot product, or scalar product of a 3D vector with a 3D unit-vector. Returns a float. This float is the projected length of the 3D vector on the direction of the unit-vector.

Extended Type: UnitVec

a : Vec
b : UnitVec
Returns: float

UnitVec.dotCosine a b

Full Usage: UnitVec.dotCosine a b

Parameters:
Returns: float<MeasureProduct<cosine, MeasureOne>>
Modifiers: inline

Dot product, or scalar product of two 3D unit-vector. This float of unit-vectors is the Cosine of the angle between the two vectors. Returns a float with a unit of Measure Euclid.Cosine.cosine. This is useful for comparing the angle to precomputed values in the Euclid.Cosine module.

Extended Type: UnitVec

a : UnitVec
b : UnitVec
Returns: float<MeasureProduct<cosine, MeasureOne>>

UnitVec.equals tol a b

Full Usage: UnitVec.equals tol a b

Parameters:
Returns: bool
Modifiers: inline

Checks if two 3D unit-vectors are equal within tolerance. Identical unit-vectors in opposite directions are not considered equal. Use a tolerance of 0.0 to check for an exact match.

Extended Type: UnitVec

tol : float
a : UnitVec
b : UnitVec
Returns: bool

UnitVec.flip v

Full Usage: UnitVec.flip v

Parameters:
Returns: UnitVec
Modifiers: inline

Negate or inverse a 3D unit-vectors. Returns a new 3D unit-vector. Same as UnitVec.reverse.

Extended Type: UnitVec

v : UnitVec
Returns: UnitVec

UnitVec.flipToPointUp v

Full Usage: UnitVec.flipToPointUp v

Parameters:
Returns: UnitVec
Modifiers: inline

Flips the vector if Z part is smaller than 0.0

Extended Type: UnitVec

v : UnitVec
Returns: UnitVec

UnitVec.getX v

Full Usage: UnitVec.getX v

Parameters:
Returns: float
Modifiers: inline

Gets the X part of this 3D unit-vector.

Extended Type: UnitVec

v : UnitVec
Returns: float

UnitVec.getY v

Full Usage: UnitVec.getY v

Parameters:
Returns: float
Modifiers: inline

Gets the Y part of this 3D unit-vector.

Extended Type: UnitVec

v : UnitVec
Returns: float

UnitVec.getZ v

Full Usage: UnitVec.getZ v

Parameters:
Returns: float
Modifiers: inline

Gets the Z part of this 3D unit-vector.

Extended Type: UnitVec

v : UnitVec
Returns: float

UnitVec.intersection (ptA, ptB, vA, vB, relAngleDiscriminant)

Full Usage: UnitVec.intersection (ptA, ptB, vA, vB, relAngleDiscriminant)

Parameters:
    ptA : Pnt - The start point of the first line.
    ptB : Pnt - The start point of the second line.
    vA : UnitVec - The unit-vector of the first line.
    vB : UnitVec - The unit-vector of the second line.
    relAngleDiscriminant : float<MeasureProduct<relAngDiscr, MeasureOne>> - This is an optional tolerance for the internally calculated relative Angle Discriminant. The default value corresponds to approx 0.25 degree. Below this angle vectors are considered parallel. Use the module Euclid.UtilEuclid.RelAngleDiscriminant to set another tolerance here.

Returns: ValueOption<float * float> For (almost) zero length or (almost) parallel vectors: ValueNone Else ValueSome with a tuple of the parameters at which the two infinite 2D lines intersect to each other. The tuple's order corresponds to the input order.
Modifiers: inline

Intersects two infinite 3D lines. The lines are defined by a start point and a vector. 'ValueNone' is returned, if the angle between the vectors is less than 0.25 degrees or any of them is shorter than 1e-6. These tolerances can be adjusted with optional parameters.

Extended Type: UnitVec

ptA : Pnt

The start point of the first line.

ptB : Pnt

The start point of the second line.

vA : UnitVec

The unit-vector of the first line.

vB : UnitVec

The unit-vector of the second line.

relAngleDiscriminant : float<MeasureProduct<relAngDiscr, MeasureOne>>

This is an optional tolerance for the internally calculated relative Angle Discriminant. The default value corresponds to approx 0.25 degree. Below this angle vectors are considered parallel. Use the module Euclid.UtilEuclid.RelAngleDiscriminant to set another tolerance here.

Returns: ValueOption<float * float>

For (almost) zero length or (almost) parallel vectors: ValueNone Else ValueSome with a tuple of the parameters at which the two infinite 2D lines intersect to each other. The tuple's order corresponds to the input order.

UnitVec.isAngle180Above cosineValue a b

Full Usage: UnitVec.isAngle180Above cosineValue a b

Parameters:
Returns: bool
Modifiers: inline

Checks if Angle between two unit-vectors is more than given Cosine. Does not ignores vector orientation.The angle between two vectors can be 0 to 180 degrees. Use the Euclid.Cosine module to get some precomputed cosine values.

Extended Type: UnitVec

cosineValue : float<MeasureProduct<cosine, MeasureOne>>
a : UnitVec
b : UnitVec
Returns: bool

UnitVec.isAngle180Below cosineValue a b

Full Usage: UnitVec.isAngle180Below cosineValue a b

Parameters:
Returns: bool
Modifiers: inline

Checks if Angle between two unit-vectors is less than given Cosine. Does not ignores vector orientation. The angle between two vectors can be 0 to 180 degrees. Use the Euclid.Cosine module to get some precomputed cosine values.

Extended Type: UnitVec

cosineValue : float<MeasureProduct<cosine, MeasureOne>>
a : UnitVec
b : UnitVec
Returns: bool

UnitVec.isAngle90Above cosineValue a b

Full Usage: UnitVec.isAngle90Above cosineValue a b

Parameters:
Returns: bool
Modifiers: inline

Checks if Angle between two unit-vectors is more than given Cosine. Ignores vector orientation. The angle between two vectors can be 0 to 90 degrees ignoring their direction. Use the Euclid.Cosine module to get some precomputed cosine values.

Extended Type: UnitVec

cosineValue : float<MeasureProduct<cosine, MeasureOne>>
a : UnitVec
b : UnitVec
Returns: bool

UnitVec.isAngle90Below cosineValue a b

Full Usage: UnitVec.isAngle90Below cosineValue a b

Parameters:
Returns: bool
Modifiers: inline

Checks if Angle between two unit-vectors is less than given Cosine. Ignores vector orientation. The angle between two vectors can be 0 to 90 degrees ignoring their direction. Use the Euclid.Cosine module to get some precomputed cosine values.

Extended Type: UnitVec

cosineValue : float<MeasureProduct<cosine, MeasureOne>>
a : UnitVec
b : UnitVec
Returns: bool

UnitVec.isHorizontal v

Full Usage: UnitVec.isHorizontal v

Parameters:
Returns: bool
Modifiers: inline

Checks if 3D vector is horizontal (Z component is almost zero). Tolerance is 1e-6.

Extended Type: UnitVec

v : UnitVec
Returns: bool

UnitVec.isOppositeOrientation other v

Full Usage: UnitVec.isOppositeOrientation other v

Parameters:
Returns: bool
Modifiers: inline

Checks if the angle between the two 3D unit-vectors is more than 180 degrees. Calculates the dot product of two 3D unit-vectors. Then checks if it is smaller than minus 1e-12.

Extended Type: UnitVec

other : UnitVec
v : UnitVec
Returns: bool

UnitVec.isVertical v

Full Usage: UnitVec.isVertical v

Parameters:
Returns: bool
Modifiers: inline

Checks if 3D unit-vector is parallel to the world Z axis. Ignoring orientation. Tolerance is 1e-6. Same as ln.IsZAligned

Extended Type: UnitVec

v : UnitVec
Returns: bool

UnitVec.isXAligned v

Full Usage: UnitVec.isXAligned v

Parameters:
Returns: bool
Modifiers: inline

Checks if 3D unit-vector is parallel to the world X axis. Ignoring orientation. Tolerance is 1e-6.

Extended Type: UnitVec

v : UnitVec
Returns: bool

UnitVec.isYAligned v

Full Usage: UnitVec.isYAligned v

Parameters:
Returns: bool
Modifiers: inline

Checks if 3D unit-vector is parallel to the world Y axis. Ignoring orientation. Tolerance is 1e-6.

Extended Type: UnitVec

v : UnitVec
Returns: bool

UnitVec.isZAligned v

Full Usage: UnitVec.isZAligned v

Parameters:
Returns: bool
Modifiers: inline

Checks if 3D unit-vector is parallel to the world Z axis. Ignoring orientation. Same as ln.IsVertical

Extended Type: UnitVec

v : UnitVec
Returns: bool

UnitVec.lengthInXY v

Full Usage: UnitVec.lengthInXY v

Parameters:
Returns: float
Modifiers: inline

Returns vector length projected into X Y Plane. sqrt(v.X * v.X + v.Y * v.Y)

Extended Type: UnitVec

v : UnitVec
Returns: float

UnitVec.lerp (start, ende, rel)

Full Usage: UnitVec.lerp (start, ende, rel)

Parameters:
Returns: Vec

Linearly interpolates between two vectors. e.g. rel=0.5 will return the middle vector, rel=1.0 the end vector, rel=1.5 a vector half the distance beyond the end vector.

Extended Type: UnitVec

start : UnitVec
ende : UnitVec
rel : float
Returns: Vec

UnitVec.matchOrientation orientationToMatch vecToFlip

Full Usage: UnitVec.matchOrientation orientationToMatch vecToFlip

Parameters:
Returns: UnitVec
Modifiers: inline

Ensure that the 3D unit-vector has a positive dot product with given 3D orientation unit-vector.

Extended Type: UnitVec

orientationToMatch : UnitVec
vecToFlip : UnitVec
Returns: UnitVec

UnitVec.matchVecOrientation orientationToMatch vecToFlip

Full Usage: UnitVec.matchVecOrientation orientationToMatch vecToFlip

Parameters:
Returns: UnitVec
Modifiers: inline

Ensure that the 3D unit-vector has a positive dot product with given 3D orientation vector.

Extended Type: UnitVec

orientationToMatch : Vec
vecToFlip : UnitVec
Returns: UnitVec

UnitVec.matchesOrientation other v

Full Usage: UnitVec.matchesOrientation other v

Parameters:
Returns: bool
Modifiers: inline

Checks if the angle between the two 3D unit-vectors is less than 180 degrees. Calculates the dot product of two 3D unit-vectors. Then checks if it is bigger than 1e-12.

Extended Type: UnitVec

other : UnitVec
v : UnitVec
Returns: bool

UnitVec.moveX x v

Full Usage: UnitVec.moveX x v

Parameters:
Returns: Vec
Modifiers: inline

Add to the X part of this 3D unit-vectors together. Returns a new (non-unitized) 3D vector.

Extended Type: UnitVec

x : float
v : UnitVec
Returns: Vec

UnitVec.moveY y v

Full Usage: UnitVec.moveY y v

Parameters:
Returns: Vec
Modifiers: inline

Add to the Y part of this 3D unit-vectors together. Returns a new (non-unitized) 3D vector.

Extended Type: UnitVec

y : float
v : UnitVec
Returns: Vec

UnitVec.moveZ z v

Full Usage: UnitVec.moveZ z v

Parameters:
Returns: Vec
Modifiers: inline

Add to the Z part of this 3D unit-vectors together. Returns a new (non-unitized) 3D vector.

Extended Type: UnitVec

z : float
v : UnitVec
Returns: Vec

UnitVec.notEquals tol a b

Full Usage: UnitVec.notEquals tol a b

Parameters:
Returns: bool

Check if two 3D unit-vectors are not equal within a given tolerance. Use a tolerance of 0.0 to check if the two unit-vectors are not exactly equal.

Extended Type: UnitVec

tol : float
a : UnitVec
b : UnitVec
Returns: bool

UnitVec.orientDown v

Full Usage: UnitVec.orientDown v

Parameters:
Returns: UnitVec
Modifiers: inline

Reverse vector if Z part is bigger than 0.0

Extended Type: UnitVec

v : UnitVec
Returns: UnitVec

UnitVec.orientUp v

Full Usage: UnitVec.orientUp v

Parameters:
Returns: UnitVec
Modifiers: inline

Reverse vector if Z part is smaller than 0.0

Extended Type: UnitVec

v : UnitVec
Returns: UnitVec

UnitVec.perpendicularInVerticalPlane v

Full Usage: UnitVec.perpendicularInVerticalPlane v

Parameters:
Returns: Vec
Modifiers: inline

Returns a vector that is perpendicular to the given vector and in the same vertical Plane. Projected into the X-Y plane input and output vectors are parallel and of same orientation. Not of same length, not unitized. On vertical input vector resulting vector if of zero length.

Extended Type: UnitVec

v : UnitVec
Returns: Vec

UnitVec.perpendicularInXY v

Full Usage: UnitVec.perpendicularInXY v

Parameters:
Returns: Vec
Modifiers: inline

Returns a perpendicular horizontal vector. Rotated counterclockwise. Just does Vec(-v.Y, v.X, 0.0) On vertical input vector resulting vector if of zero length.

Extended Type: UnitVec

v : UnitVec
Returns: Vec

UnitVec.projectToXYPlane v

Full Usage: UnitVec.projectToXYPlane v

Parameters:
Returns: Vec
Modifiers: inline

Project vector to World X-Y plane. Use Vc.ofUnitVec to convert to 2D vector instance.

Extended Type: UnitVec

v : UnitVec
Returns: Vec

UnitVec.reverse v

Full Usage: UnitVec.reverse v

Parameters:
Returns: UnitVec
Modifiers: inline

Negate or inverse a 3D unit-vectors. Returns a new 3D unit-vector. Same as UnitVec.flip.

Extended Type: UnitVec

v : UnitVec
Returns: UnitVec

UnitVec.rotateByQuaternion q v

Full Usage: UnitVec.rotateByQuaternion q v

Parameters:
Returns: UnitVec
Modifiers: inline

Rotate by Quaternion.

Extended Type: UnitVec

q : Quaternion
v : UnitVec
Returns: UnitVec

UnitVec.rotateOnZ90CCW v

Full Usage: UnitVec.rotateOnZ90CCW v

Parameters:
Returns: UnitVec
Modifiers: inline

90 Degree rotation Counter-Clockwise around Z-axis.

Extended Type: UnitVec

v : UnitVec
Returns: UnitVec

UnitVec.rotateOnZ90CW v

Full Usage: UnitVec.rotateOnZ90CW v

Parameters:
Returns: UnitVec
Modifiers: inline

90 Degree rotation clockwise around Z-axis.

Extended Type: UnitVec

v : UnitVec
Returns: UnitVec

UnitVec.rotateX angDegree v

Full Usage: UnitVec.rotateX angDegree v

Parameters:
Returns: UnitVec
Modifiers: inline

Rotate the 3D unit-vector in Degrees around X-axis, from Y to Z-axis, Counter Clockwise looking from right.

Extended Type: UnitVec

angDegree : float
v : UnitVec
Returns: UnitVec

UnitVec.rotateXBy r v

Full Usage: UnitVec.rotateXBy r v

Parameters:
Returns: UnitVec
Modifiers: inline

Rotate the 3D unit-vector around X-axis, from Y to Z-axis, Counter Clockwise looking from right.

Extended Type: UnitVec

r : Rotation2D
v : UnitVec
Returns: UnitVec

UnitVec.rotateY angDegree v

Full Usage: UnitVec.rotateY angDegree v

Parameters:
Returns: UnitVec
Modifiers: inline

Rotate the 3D unit-vector in Degrees around Y-axis, from Z to X-axis, Counter Clockwise looking from back.

Extended Type: UnitVec

angDegree : float
v : UnitVec
Returns: UnitVec

UnitVec.rotateYBy r v

Full Usage: UnitVec.rotateYBy r v

Parameters:
Returns: UnitVec
Modifiers: inline

Rotate the 3D unit-vector around Y-axis, from Z to X-axis, Counter Clockwise looking from back.

Extended Type: UnitVec

r : Rotation2D
v : UnitVec
Returns: UnitVec

UnitVec.rotateZ angDegree v

Full Usage: UnitVec.rotateZ angDegree v

Parameters:
Returns: UnitVec
Modifiers: inline

Rotate the 3D unit-vector in Degrees around Z-axis, from X to Y-axis, Counter Clockwise looking from top.

Extended Type: UnitVec

angDegree : float
v : UnitVec
Returns: UnitVec

UnitVec.rotateZBy r v

Full Usage: UnitVec.rotateZBy r v

Parameters:
Returns: UnitVec
Modifiers: inline

Rotate the 3D unit-vector around Z-axis, from X to Y-axis, Counter Clockwise looking from top.

Extended Type: UnitVec

r : Rotation2D
v : UnitVec
Returns: UnitVec

UnitVec.scale f v

Full Usage: UnitVec.scale f v

Parameters:
Returns: Vec
Modifiers: inline

Multiplies a 3D unit-vector with a scalar, also called scaling a vector. Same as UnitVec.withLength. Returns a new (non-unitized) 3D vector.

Extended Type: UnitVec

f : float
v : UnitVec
Returns: Vec

UnitVec.slerp (start, ende, rel)

Full Usage: UnitVec.slerp (start, ende, rel)

Parameters:
Returns: UnitVec

Spherically interpolates between start and end by amount rel (0.0 to 1.0). The difference between this and linear interpolation (aka, "lerp") is that the vectors are treated as directions rather than points in space. The direction of the returned vector is interpolated by the angle and its magnitude is interpolated between the magnitudes of start and end. Interpolation continues before and after the range of 0.0 and 0.1

Extended Type: UnitVec

start : UnitVec
ende : UnitVec
rel : float
Returns: UnitVec

UnitVec.slopeDegrees v

Full Usage: UnitVec.slopeDegrees v

Parameters:
Returns: float
Modifiers: inline

Returns positive or negative slope of a vector in Degrees. In relation to X-Y plane. Range -90 to +90 Degrees.

Extended Type: UnitVec

v : UnitVec
Returns: float

UnitVec.slopePercent v

Full Usage: UnitVec.slopePercent v

Parameters:
Returns: float
Modifiers: inline

Returns positive or negative slope of a vector in Percent. In relation to X-Y plane. 100% = 45 Degrees. Returns positive (or negative) infinity if line is vertical.

Extended Type: UnitVec

v : UnitVec
Returns: float

UnitVec.slopeRadians v

Full Usage: UnitVec.slopeRadians v

Parameters:
Returns: float
Modifiers: inline

Returns positive or negative slope of a vector in Radians. In relation to X-Y plane. Range -1.57 to +1.57 Radians.

Extended Type: UnitVec

v : UnitVec
Returns: float

UnitVec.transform m v

Full Usage: UnitVec.transform m v

Parameters:
Returns: Vec
Modifiers: inline

Multiplies a Matrix with a 3D vector. Since a 3D vector represents a direction or an offset in space, but not a location, the implicit the 4th dimension is 0.0 so that all translations are ignored. (Homogeneous Vector) The resulting vector is not unitized.

Extended Type: UnitVec

m : Matrix
v : UnitVec
Returns: Vec

UnitVec.transformRigid m v

Full Usage: UnitVec.transformRigid m v

Parameters:
Returns: UnitVec
Modifiers: inline

Multiplies (or applies) a RigidMatrix to a 3D unit-vector. Since a 3D vector represents a direction or an offset in space, but not a location, all translations are ignored. (Homogeneous Vector) The resulting vector is unitized too.

Extended Type: UnitVec

m : RigidMatrix
v : UnitVec
Returns: UnitVec

UnitVec.withLength f v

Full Usage: UnitVec.withLength f v

Parameters:
Returns: Vec
Modifiers: inline

Multiplies a 3D unit-vector with a scalar, also called scaling a vector. Same as UnitVec.scale. Returns a new (non-unitized) 3D vector.

Extended Type: UnitVec

f : float
v : UnitVec
Returns: Vec

UnitVec.withX x v

Full Usage: UnitVec.withX x v

Parameters:
Returns: Vec
Modifiers: inline

Returns new 3D vector with new X value, Y and Z stay the same.

Extended Type: UnitVec

x : float
v : UnitVec
Returns: Vec

UnitVec.withY y v

Full Usage: UnitVec.withY y v

Parameters:
Returns: Vec
Modifiers: inline

Returns new 3D vector with new Y value, X and Z stay the same.

Extended Type: UnitVec

y : float
v : UnitVec
Returns: Vec

UnitVec.withZ z v

Full Usage: UnitVec.withZ z v

Parameters:
Returns: Vec
Modifiers: inline

Returns new 3D vector with new z value, X and Y stay the same.

Extended Type: UnitVec

z : float
v : UnitVec
Returns: Vec

Type something to start searching.