# [−][src]Struct rusttype::Point

```pub struct Point<N> {
pub x: N,
pub y: N,
}```

A point in 2-dimensional space, with each dimension of type `N`.

Legal operations on points are addition and subtraction by vectors, and subtraction between points, to give a vector representing the offset between the two points. Combined with the legal operations on vectors, meaningful manipulations of vectors and points can be performed.

For example, to interpolate between two points by a factor `t`:

`let interpolated_point = p0 + (p1 - p0) * t;`

## Fields

`x: N``y: N`

## Trait Implementations

### `impl<N: Add<Output = N>> Add<Point<N>> for Vector<N>`[src]

#### `type Output = Point<N>`

The resulting type after applying the `+` operator.

### `impl<N: Add<Output = N>> Add<Vector<N>> for Point<N>`[src]

#### `type Output = Point<N>`

The resulting type after applying the `+` operator.

### `impl<N: Sub<Output = N>> Sub<Point<N>> for Point<N>`[src]

#### `type Output = Vector<N>`

The resulting type after applying the `-` operator.

### `impl<N: Sub<Output = N>> Sub<Vector<N>> for Point<N>`[src]

#### `type Output = Point<N>`

The resulting type after applying the `-` operator.

## Blanket Implementations

### `impl<T> ToOwned for T where    T: Clone, `[src]

#### `type Owned = T`

The resulting type after obtaining ownership.

### `impl<T, U> TryFrom<U> for T where    U: Into<T>, `[src]

#### `type Error = Infallible`

The type returned in the event of a conversion error.

### `impl<T, U> TryInto<U> for T where    U: TryFrom<T>, `[src]

#### `type Error = <U as TryFrom<T>>::Error`

The type returned in the event of a conversion error.