## Vector3 structure

A vector with three components.

```csharp
public struct Vector3 : IComparable<Vector3>
```

## Constructors

| Name | Description |
| --- | --- |
| [Vector3](vector3/#constructor_2)(double) | Initializes a new instance of the `Vector3` struct. |
| [Vector3](vector3/#constructor)(FVector3) | Initializes a new instance of the `Vector3` struct. |
| [Vector3](vector3/#constructor_1)(Vector4) | Initializes a new instance of the `Vector3` struct. |
| [Vector3](vector3/#constructor_3)(double, double, double) | Initializes a new instance of the `Vector3` struct. |

## Properties

| Name | Description |
| --- | --- |
| static [One](../../aspose.threed.utilities/vector3/one/) { get; } | Gets unit vector (1, 1, 1) |
| static [UnitX](../../aspose.threed.utilities/vector3/unitx/) { get; } | Gets unit vector (1, 0, 0) |
| static [UnitY](../../aspose.threed.utilities/vector3/unity/) { get; } | Gets unit vector (0, 1, 0) |
| static [UnitZ](../../aspose.threed.utilities/vector3/unitz/) { get; } | Gets unit vector (0, 0, 1) |
| static [Zero](../../aspose.threed.utilities/vector3/zero/) { get; } | Gets unit vector (0, 0, 0) |
| [Item](../../aspose.threed.utilities/vector3/item/) { get; set; } |  |
| [Length](../../aspose.threed.utilities/vector3/length/) { get; } | Gets the length of this vector. |
| [Length2](../../aspose.threed.utilities/vector3/length2/) { get; } | Gets the square of the length. |

## Methods

| Name | Description |
| --- | --- |
| [AngleBetween](../../aspose.threed.utilities/vector3/anglebetween/#anglebetween)(Vector3) | Calculate the inner angle between two direction Two direction can be non-normalized vectors |
| [AngleBetween](../../aspose.threed.utilities/vector3/anglebetween/#anglebetween_1)(Vector3, Vector3) | Calculate the inner angle between two direction Two direction can be non-normalized vectors |
| [CompareTo](../../aspose.threed.utilities/vector3/compareto/)(Vector3) | Compare current vector to another instance. |
| [Cos](../../aspose.threed.utilities/vector3/cos/)() | Calculates cosine on each component |
| [Cross](../../aspose.threed.utilities/vector3/cross/)(Vector3) | Cross product of two vectors |
| [Dot](../../aspose.threed.utilities/vector3/dot/)(Vector3) | Gets the dot product of two vectors |
| override [Equals](../../aspose.threed.utilities/vector3/equals/)(object) | Check if two vector3 equals |
| override [GetHashCode](../../aspose.threed.utilities/vector3/gethashcode/)() | Gets the hash code of Vector3 |
| [Normalize](../../aspose.threed.utilities/vector3/normalize/)() | Normalizes this instance. |
| [Set](../../aspose.threed.utilities/vector3/set/)(double, double, double) | Sets the x/y/z component in one call. |
| [Sin](../../aspose.threed.utilities/vector3/sin/)() | Calculates sine on each component |
| override [ToString](../../aspose.threed.utilities/vector3/tostring/)() | Returns a String that represents the current `Vector3`. |
| [operator +](../../aspose.threed.utilities/vector3/op_addition/) | Operator overloading for + |
| [operator /](../../aspose.threed.utilities/vector3/op_division/#op_division_1) | Operator overloading for / (2 operators) |
| [operator ==](../../aspose.threed.utilities/vector3/op_equality/) | Equal operator for Vector3 |
| [explicit operator](../../aspose.threed.utilities/vector3/op_explicit/) |  |
| [operator !=](../../aspose.threed.utilities/vector3/op_inequality/) | Not-equal operator for Vector3 |
| [operator *](../../aspose.threed.utilities/vector3/op_multiply/#op_multiply) | Operator overloading for * (3 operators) |
| [operator -](../../aspose.threed.utilities/vector3/op_subtraction/) | Operator overloading for - (2 operators) |

## Fields

| Name | Description |
| --- | --- |
| [X](../../aspose.threed.utilities/vector3/x/) | The x component. |
| [Y](../../aspose.threed.utilities/vector3/y/) | The y component. |
| [Z](../../aspose.threed.utilities/vector3/z/) | The z component. |

### See Also

* namespace [Aspose.ThreeD.Utilities](../../aspose.threed.utilities/)
* assembly [Aspose.3D](../../)


