Version: v0.0.0-...-18c2ba8 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Sep 20, 2021 License: MIT, Unlicense Imports: 3 Imported by: 145



Package f32 is a float32 implementation of package image's Point and Rectangle.

The coordinate space has the origin in the top left corner with the axes extending right and down.



This section is empty.


This section is empty.


This section is empty.


type Affine2D

type Affine2D struct {
	// contains filtered or unexported fields

Affine2D represents an affine 2D transformation. The zero value if Affine2D represents the identity transform.

func NewAffine2D

func NewAffine2D(sx, hx, ox, hy, sy, oy float32) Affine2D

NewAffine2D creates a new Affine2D transform from the matrix elements in row major order. The rows are: [sx, hx, ox], [hy, sy, oy], [0, 0, 1].

func (Affine2D) Elems

func (a Affine2D) Elems() (sx, hx, ox, hy, sy, oy float32)

Elems returns the matrix elements of the transform in row-major order. The rows are: [sx, hx, ox], [hy, sy, oy], [0, 0, 1].

func (Affine2D) Invert

func (a Affine2D) Invert() Affine2D

Invert the transformation. Note that if the matrix is close to singular numerical errors may become large or infinity.

func (Affine2D) Mul

func (A Affine2D) Mul(B Affine2D) (r Affine2D)

Mul returns A*B.

func (Affine2D) Offset

func (a Affine2D) Offset(offset Point) Affine2D

Offset the transformation.

func (Affine2D) Rotate

func (a Affine2D) Rotate(origin Point, radians float32) Affine2D

Rotate the transformation by the given angle (in radians) counter clockwise around the given origin.

func (Affine2D) Scale

func (a Affine2D) Scale(origin, factor Point) Affine2D

Scale the transformation around the given origin.

func (Affine2D) Shear

func (a Affine2D) Shear(origin Point, radiansX, radiansY float32) Affine2D

Shear the transformation by the given angle (in radians) around the given origin.

func (Affine2D) String

func (a Affine2D) String() string

func (Affine2D) Transform

func (a Affine2D) Transform(p Point) Point

Transform p by returning a*p.

type Point

type Point struct {
	X, Y float32

A Point is a two dimensional point.

func Pt

func Pt(x, y float32) Point

Pt is shorthand for Point{X: x, Y: y}.

func (Point) Add

func (p Point) Add(p2 Point) Point

Add return the point p+p2.

func (Point) In

func (p Point) In(r Rectangle) bool

In reports whether p is in r.

func (Point) Mul

func (p Point) Mul(s float32) Point

Mul returns p scaled by s.

func (Point) String

func (p Point) String() string

String return a string representation of p.

func (Point) Sub

func (p Point) Sub(p2 Point) Point

Sub returns the vector p-p2.

type Rectangle

type Rectangle struct {
	Min, Max Point

A Rectangle contains the points (X, Y) where Min.X <= X < Max.X, Min.Y <= Y < Max.Y.

func Rect

func Rect(x0, y0, x1, y1 float32) Rectangle

Rect is a shorthand for Rectangle{Point{x0, y0}, Point{x1, y1}}. The returned Rectangle has x0 and y0 swapped if necessary so that it's correctly formed.

func (Rectangle) Add

func (r Rectangle) Add(p Point) Rectangle

Add offsets r with the vector p.

func (Rectangle) Canon

func (r Rectangle) Canon() Rectangle

Canon returns the canonical version of r, where Min is to the upper left of Max.

func (Rectangle) Dx

func (r Rectangle) Dx() float32

Dx returns r's width.

func (Rectangle) Dy

func (r Rectangle) Dy() float32

Dy returns r's Height.

func (Rectangle) Empty

func (r Rectangle) Empty() bool

Empty reports whether r represents the empty area.

func (Rectangle) Intersect

func (r Rectangle) Intersect(s Rectangle) Rectangle

Intersect returns the intersection of r and s.

func (Rectangle) Size

func (r Rectangle) Size() Point

Size returns r's width and height.

func (Rectangle) String

func (r Rectangle) String() string

String return a string representation of r.

func (Rectangle) Sub

func (r Rectangle) Sub(p Point) Rectangle

Sub offsets r with the vector -p.

func (Rectangle) Union

func (r Rectangle) Union(s Rectangle) Rectangle

Union returns the union of r and s.

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL