---
title: VNVector
framework: vision
role: symbol
role_heading: Class
path: vision/vnvector
---

# VNVector

An immutable 2D vector represented by its x-axis and y-axis projections.

## Declaration

```swift
class VNVector
```

## Topics

### Creating a Vector

- [init(byAdding:to:)](vision/vnvector/init(byadding:to:).md)
- [init(bySubtracting:from:)](vision/vnvector/init(bysubtracting:from:).md)
- [init(byMultiplying:byScalar:)](vision/vnvector/init(bymultiplying:byscalar:).md)
- [init(r:theta:)](vision/vnvector/init(r:theta:).md)
- [init(vectorHead:tail:)](vision/vnvector/init(vectorhead:tail:).md)
- [init(xComponent:yComponent:)](vision/vnvector/init(xcomponent:ycomponent:)-3p5k3.md)
- [zero](vision/vnvector/zero.md)

### Inspecting a Vector

- [length](vision/vnvector/length.md)
- [r](vision/vnvector/r.md)
- [theta](vision/vnvector/theta.md)
- [squaredLength](vision/vnvector/squaredlength.md)
- [x](vision/vnvector/x.md)
- [y](vision/vnvector/y.md)
- [dotProduct(of:vector:)](vision/vnvector/dotproduct(of:vector:).md)
- [unitVector(for:)](vision/vnvector/unitvector(for:).md)

### Initializers

- [init(XComponent:yComponent:)](vision/vnvector/init(xcomponent:ycomponent:)-231pv.md)
- [init(byAddingVector:toVector:)](vision/vnvector/init(byaddingvector:tovector:).md)
- [init(byMultiplyingVector:byScalar:)](vision/vnvector/init(bymultiplyingvector:byscalar:).md)
- [init(bySubtractingVector:fromVector:)](vision/vnvector/init(bysubtractingvector:fromvector:).md)
- [init(coder:)](vision/vnvector/init(coder:).md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Common data types

- [VNCircle](vision/vncircle.md)
