Vivid.Transform.Point (vivid v0.4.5)

Copy Markdown View Source

Standard transformations which can be applied to points without knowing the details of the geometry.

Used extensively by Transform, however you can use these functions as input to the Transformable protocol, should you require.

Summary

Functions

Rotate point degrees around an origin point.

Rotate point radians around an origin point.

Scale point (ie move it) by multiplying it's distance from the 0, 0 point by x_factor and y_factor.

Scale point (ie move it) by multiplying it's distance from the origin point by x_factor and y_factor.

Translate point (ie move it) by adding x and y to it's coordinates.

Types

degrees()

@type degrees() :: number()

radians()

@type radians() :: number()

Functions

rotate(point, origin, degrees)

@spec rotate(Vivid.Point.t(), Vivid.Point.t(), degrees()) :: Vivid.Point.t()

Rotate point degrees around an origin point.

rotate_radians(point, origin, radians)

@spec rotate_radians(Vivid.Point.t(), Vivid.Point.t(), radians()) :: Vivid.Point.t()

Rotate point radians around an origin point.

scale(point, x_factor, y_factor)

@spec scale(Vivid.Point.t(), number(), number()) :: Vivid.Point.t()

Scale point (ie move it) by multiplying it's distance from the 0, 0 point by x_factor and y_factor.

scale(point, x_factor, y_factor, origin)

@spec scale(Vivid.Point.t(), number(), number(), Vivid.Point.t()) :: Vivid.Point.t()

Scale point (ie move it) by multiplying it's distance from the origin point by x_factor and y_factor.

translate(point, x, y)

@spec translate(Vivid.Point.t(), number(), number()) :: Vivid.Point.t()

Translate point (ie move it) by adding x and y to it's coordinates.