Struct kurbo::Affine [−][src]
pub struct Affine(_);
Expand description
A 2D affine transform.
Implementations
A transform that is flipped on the y-axis. Useful for converting between y-up and y-down spaces.
Construct an affine transform from coefficients.
If the coefficients are (a, b, c, d, e, f)
, then the resulting
transformation represents this augmented matrix:
| a c e |
| b d f |
| 0 0 1 |
Note that this convention is transposed from PostScript and
Direct2D, but is consistent with the
Wikipedia
formulation of affine transformation as augmented matrix. The
idea is that (A * B) * v == A * (B * v)
, where *
is the
Mul
trait.
An affine transform representing non-uniform scaling with different scale values for x and y
An affine transform representing rotation.
The convention for rotation is that a positive angle rotates a positive X direction into positive Y. Thus, in a Y-down coordinate system (as is common for graphics), it is a clockwise rotation, and in Y-up (traditional for math), it is anti-clockwise.
The angle, th
, is expressed in radians.
Creates an affine transformation that takes the unit square to the given rectangle.
Useful when you want to draw into the unit square but have your output fill any rectangle.
In this case push the Affine
onto the transform stack.
Compute the determinant of this transform.
Compute the inverse transform.
Produces NaN values when the determinant is zero.
Compute the bounding box of a transformed rectangle.
Returns the minimal Rect
that encloses the given Rect
after affine transformation.
If the transform is axis-aligned, then this bounding box is “tight”, in other words the
returned Rect
is the transformed rectangle.
The returned rectangle always has non-negative width and height.
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the *=
operation. Read more
Auto Trait Implementations
impl RefUnwindSafe for Affine
impl UnwindSafe for Affine
Blanket Implementations
Mutably borrows from an owned value. Read more