View Source Vivid.Transform.Point (vivid v0.4.4)
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
Functions
@spec rotate(Vivid.Point.t(), Vivid.Point.t(), degrees()) :: Vivid.Point.t()
Rotate point degrees around an origin point.
@spec rotate_radians(Vivid.Point.t(), Vivid.Point.t(), radians()) :: Vivid.Point.t()
Rotate point radians around an origin point.
@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.
@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.
@spec translate(Vivid.Point.t(), number(), number()) :: Vivid.Point.t()
Translate point (ie move it) by adding x and y to it's coordinates.