# Vector3D

data class Vector3D(val x: Double, val y: Double, val z: Double, val affineSequence: AffineSequence3D = AffineSequence3D.EMPTY) : AbstractPoint3D

Represents a vector in three-dimensional space, whereby its values must be finite.

#### Parameters

x

x component (abscissa) of the vector

y

y component (ordinate) of the vector

z

z component (applicate) of the vector

## Constructors

constructor(x: Double, y: Double, z: Double, affineSequence: AffineSequence3D = AffineSequence3D.EMPTY)

object Companion

## Properties

open override val affineSequence: AffineSequence3D

List of affine transformation matrices to move and rotate the geometric object.

L_2 norm of the vector

square norm of the vector

val x: Double
val y: Double
val z: Double

## Functions

open override fun accept(visitor: Geometry3DVisitor)

Accepting function so that a geometry visitor can pass by.

fun angle(other: Vector3D): Double

Returns the angle between the other vector and this vector.

Returns the point in the global coordinate system.

open override fun calculatePointLocalCS(): Vector3D

Returns the point in the local coordinate system.

Returns the cross product of this with the other.

fun distance(other: Vector3D): Double

Returns the distance between the other vector and this vector.

operator fun div(m: Double): Vector3D

Returns the dot product of this with the other.

fun fuzzyEquals(o: Vector3D, tolerance: Double): Boolean
fun fuzzyUnequals(o: Vector3D, tolerance: Double): Boolean

Returns true, if each component is zero.

operator fun minus(v: Vector3D): Vector3D

Returns the normalized vector.

operator fun plus(v: Vector3D): Vector3D

Returns the scalar division of this with the divisor.

Returns the scalar product of this with the factor.

operator fun times(m: Double): Vector3D
fun toDoubleList(): NonEmptyList<Double>
fun toVector2D(dropAxis: Vector3D = Z_AXIS): Vector2D

Conversion to a vector in 2D.