# struct `SF::Vector3(T)`inherits `Struct`#

Utility generic struct for manipulating 2-dimensional vectors

`SF::Vector3` is a simple struct that defines a mathematical vector with three coordinates (x, y and z). It can be used to represent anything that has three dimensions: a size, a point, a velocity, etc.

The generic parameter T is the type of the coordinates. It can be any type that supports arithmetic operations (+, -, /, *) and comparisons (==, !=), for example `Int` or `Float`.

You generally don't have to care about the generic form, the most common specialization has a special alias:

The `SF::Vector3` struct has a small and simple interface, its `x`, `y`, `z` members can be accessed directly and it contains no mathematical function like dot product, cross product, length, etc.

Note: for 2-dimensional vectors, see `SF::Vector2`.

## Included modules

`Enumerable`

## Constructors#

### `.new(x : T, y : T, z : T)`#

Construct the vector from its coordinates.

View source

### `.new`#

Default constructor: equivalent to `new(0, 0, 0)`

View source

## Methods#

### `#*(n : Number)`#

Memberwise multiplication by a scalar

View source

View source

### `#-(other)`#

Memberwise subtraction of two vectors

View source

### `#-`#

Memberwise opposite of the vector

View source

### `#/(n : Number)`#

Memberwise division by a scalar

View source

### `#==(other : Vector3)`#

Returns true if all corresponding coordinates of two vectors are equal

View source

### `#[](i)`#

Get a coordinate by its index: 0 is `x`, 1 is `y`, 2 is `z`.

Raises `IndexError` for other indices.

View source

View source

### `#size`#

Returns `3`

View source

The x coordinate

View source

The x coordinate

View source

The y coordinate

View source

The y coordinate

View source

The z coordinate

View source

The z coordinate

View source