# Vector3 Structure

Represent a three component vector of double precision.

Syntax
`public struct Vector3 : IEquatable<Vector3>`

The Vector3 type exposes the following members.

Constructors
NameDescription
Vector3(Double)
Initializes a new instance of Vector3.
Vector3(Double)
Initializes a new instance of Vector3.
Vector3(Double, Double, Double)
Initializes a new instance of Vector3.
Top
Properties
NameDescription
Item
Gets or sets a vector element defined by its index.
NaN
Represents a vector with not a number components.
Unit
Unit vector.
UnitX
Unit X vector.
UnitY
Unit Y vector.
UnitZ
Unit Z vector.
X
Gets or sets the X component.
Y
Gets or sets the Y component.
Z
Gets or sets the Z component.
Zero
Zero vector.
Top
Methods
NameDescription
AngleBetween
Obtains the angle between two vectors.
AreParallel(Vector3, Vector3)
Checks if two vectors are parallel.
AreParallel(Vector3, Vector3, Double)
Checks if two vectors are parallel.
ArePerpendicular(Vector3, Vector3)
Checks if two vectors are perpendicular.
ArePerpendicular(Vector3, Vector3, Double)
Checks if two vectors are perpendicular.
CrossProduct
Obtains the cross product of two vectors.
Distance
Obtains the distance between two points.
Divide
Divides a vector with an scalar.
DotProduct
Obtains the dot product of two vectors.
Equals(Object)
Indicates whether this instance and a specified object are equal.
(Overrides ValueTypeEquals(Object).)
Equals(Vector3)
Check if the components of two vectors are approximate equal.
Equals(Vector3, Vector3)
Check if the components of two vectors are approximate equal.
Equals(Vector3, Double)
Check if the components of two vectors are approximate equal.
Equals(Vector3, Vector3, Double)
Check if the components of two vectors are approximate equal.
GetHashCode
Returns the hash code for this instance.
(Overrides ValueTypeGetHashCode.)
IsNaN
Returns a value indicating if any component of the specified vector evaluates to a value that is not a number NaN.
MidPoint
Obtains the midpoint.
Modulus
Obtains the modulus of the vector.
Multiply(Double, Vector3)
Multiplies an scalar with a vector (same as u*a, commutative property).
Multiply(Vector3, Double)
Multiplies a vector with an scalar (same as a*u, commutative property).
Negate
Negates a vector.
Normalize
Normalizes the current vector.
Normalize(Vector3)
Normalizes the vector.
Round
Rounds the components of a vector.
SquareDistance
Obtains the square distance between two points.
Subtract
Subtracts two vectors.
ToArray
Returns an array that represents the vector.
ToFormattedUnit
Obtains a string that represents the vector formatted according to linear units format.
ToPointF
Obtains the PointF conversion of Vector3.
ToString
Obtains a string that represents the vector.
(Overrides ValueTypeToString.)
ToString(IFormatProvider)
Obtains a string that represents the vector.
ToVector2
Return the 2d vector.
Top
Operators
NameDescription
Division
Divides a vector with an scalar.
Equality
Check if the components of two vectors are equal.
Inequality
Check if the components of two vectors are different.
Multiply(Double, Vector3)
Multiplies an scalar with a vector (same as u*a, commutative property).
Multiply(Vector3, Double)
Multiplies a vector with an scalar (same as a*u, commutative property).
Subtraction
Subtracts two vectors.
UnaryNegation
Negates a vector.
Top