skbot.transform.AxialHexagonTransform

class skbot.transform.AxialHexagonTransform(*, size=1.0, flat_top=True, axis=- 1)[source]

Conversion to Axial Hexagon Coordininates in 2D

This transform takes a 2D vector in euclidian (x, y) coordinates and converts it into coordinates on a (r, q, s) hexagonal grid. For this, it uses axial coordinates for which the value of s is implied, because r+q+s=0; hence this transform returns a 2D vector in (r, q) coordinates.

See here for an overview of Hexagon Coordinate Systems.

Parameters
sizeArrayLike

The size of a single hexagon. It measures the distance from a hexagon center to one of it’s corners.

flat_topbool

If True (default), hexagons are oriented with one side parallel to the x axis (top is flat). Otherwise they are oriented with one side parallel to the y-axis (top is pointy).

axisint

The axis along which computation takes place. All other axes are considered batch dimensions.

Method Summary

__call__(parent[, child, add_inverse])

Add this link to the parent frame.

invert()

Returns a new link that is the inverse of this link.

transform(x)

Expresses the vector x (assumed to be given in the parent's frame) in the child's frame.

__inverse_transform__(x)

Transform x (given in the child frame) into the parent frame.

Methods

__call__(parent, child=None, *, add_inverse=True)

Add this link to the parent frame.

Parameters
parentFrame

The Frame from which vectors originate.

childFrame

The Frame in which vectors are expressed after they were mapped by this link’s transform. If None, a new child will be created.

add_inversebool

Also add the inverse link to the child if this Link is invertible. Defaults to True.

Returns
childFrame

The Frame in which vectors are expressed after they were mapped by this link’s transform.

Return type

Frame

invert()

Returns a new link that is the inverse of this link.

The links share parameters, i.e., if the transform of a link changes, the transform of its inverse does also.

Return type

Frame

transform(x)[source]

Expresses the vector x (assumed to be given in the parent’s frame) in the child’s frame.

Parameters
xArrayLike

The vector expressed in the parent’s frame

Returns
yArrayLike

The vector expressed in the child’s frame

Return type

ndarray

__inverse_transform__(x)[source]

Transform x (given in the child frame) into the parent frame.

Parameters
xArrayLike

The vector expressed in the childs’s frame

Returns
yArrayLike

The vector expressed in the parents’s frame

Return type

ndarray