calc

package
v0.0.0-...-b05aa3b Latest Latest
Warning

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

Go to latest
Published: Nov 3, 2019 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Mat3

type Mat3 [3][4]float32

Mat3 is 3x3 matrix

func Mat3Ident

func Mat3Ident() Mat3

Mat3Ident return identity

func Mat3OrthoYDown

func Mat3OrthoYDown(left, right, top, bottom float32) Mat3

func Mat3OrthoYUp

func Mat3OrthoYUp(left, right, top, bottom float32) Mat3

func Mat3Scale

func Mat3Scale(sx float32, sy float32) (scale Mat3)

func Mat3Trans

func Mat3Trans(dx float32, dy float32) (trans Mat3)

func (Mat3) Add

func (a Mat3) Add(b Mat3) (c Mat3)

func (Mat3) Mat4

func (m Mat3) Mat4() Mat4

func (Mat3) Mul

func (a Mat3) Mul(b Mat3) (c Mat3)

Mul calculate a * b

func (Mat3) MulScalar

func (a Mat3) MulScalar(b float32) (c Mat3)

func (Mat3) MulVec

func (m Mat3) MulVec(a [3]float32) (b [3]float32)

func (Mat3) MulVec2

func (m Mat3) MulVec2(a [2]float32) [2]float32

func (Mat3) Sub

func (a Mat3) Sub(b Mat3) (c Mat3)

func (Mat3) Transpose

func (m Mat3) Transpose() (x Mat3)

type Mat4

type Mat4 [4][4]float32

Mat4 is 4x4 matrix

func Mat4Frustum

func Mat4Frustum(left, right, top, bottom, near, far float32) Mat4

Mt4Frustum construct projection matrix for Vulkan. normaly left, right, top, bottom, near and far are all positive. EYE space X-right, Y-up, Z-back. NDC space X-right, Y-down, Z-forword. NDC range x => [-1, +1], y => [-1, +1], z => [0, +1].

func Mat4Ident

func Mat4Ident() Mat4

Mat4Ident return identity

func Mat4LookAt

func Mat4LookAt(eye, lookAt, up Vec3) (m Mat4)

func Mat4OrthoYDown

func Mat4OrthoYDown(left, right, top, bottom, near, far float32) Mat4

func Mat4OrthoYUp

func Mat4OrthoYUp(left, right, top, bottom, near, far float32) Mat4

func Mat4Persp

func Mat4Persp(fovYRadian, aspectXtoY, near, far float32) (m Mat4)

func Mat4RotAround

func Mat4RotAround(u Vec3, angle float32) (rot Mat4)

func Mat4RotDir

func Mat4RotDir(from, to Vec3) (rot Mat4)

func Mat4RotX

func Mat4RotX(angle float32) (rot Mat4)

func Mat4RotY

func Mat4RotY(angle float32) (rot Mat4)

func Mat4RotZ

func Mat4RotZ(angle float32) (rot Mat4)

func Mat4Scale

func Mat4Scale(sx float32, sy float32, sz float32) (scale Mat4)

func Mat4Trans

func Mat4Trans(dx float32, dy float32, dz float32) (trans Mat4)

func (Mat4) Add

func (a Mat4) Add(b Mat4) (c Mat4)

func (Mat4) Det

func (m Mat4) Det() float32

func (Mat4) Inverse

func (m Mat4) Inverse() (b Mat4)

func (Mat4) Mat3

func (m Mat4) Mat3() Mat3

func (Mat4) Mul

func (a Mat4) Mul(b Mat4) (c Mat4)

Mul calculate a * b

func (Mat4) MulScalar

func (a Mat4) MulScalar(b float32) (c Mat4)

func (Mat4) MulVec

func (m Mat4) MulVec(a [4]float32) (b [4]float32)

func (Mat4) MulVec3

func (m Mat4) MulVec3(a [3]float32) [3]float32

func (Mat4) Quat

func (a Mat4) Quat() (q Quat)

Quat convert pure-rotation matrix a to quiternion q

func (Mat4) Sub

func (a Mat4) Sub(b Mat4) (c Mat4)

func (Mat4) Transpose

func (m Mat4) Transpose() (x Mat4)

type Mat4Stack

type Mat4Stack []Mat4

func (*Mat4Stack) Get

func (s *Mat4Stack) Get() Mat4

func (*Mat4Stack) GetFloatPtr

func (s *Mat4Stack) GetFloatPtr() *float32

func (*Mat4Stack) GetPtr

func (s *Mat4Stack) GetPtr() *Mat4

func (*Mat4Stack) Load

func (s *Mat4Stack) Load(m Mat4)

func (*Mat4Stack) Multi

func (s *Mat4Stack) Multi(m Mat4)

func (*Mat4Stack) Pop

func (s *Mat4Stack) Pop()

func (*Mat4Stack) Push

func (s *Mat4Stack) Push()

type Point2

type Point2 Vec2

Point2 (x, y)

func (Point2) X

func (a Point2) X() float32

func (Point2) Y

func (a Point2) Y() float32

type Quat

type Quat [4]float32

Quaternion x*i + y*j + z*k + w*1

func QuatBezierSlerp

func QuatBezierSlerp(a, b, c, d Quat, t float32) (e Quat)

QuatBezierSlerp bezier spherical linear interpolation

func QuatRotAround

func QuatRotAround(u Vec3, angle float32) (rot Quat)

func (Quat) Angle

func (a Quat) Angle(b Quat) float32

Angle

func (Quat) Conj

func (a Quat) Conj() Quat

Conj conjugate 共轭?

func (Quat) CosHalfAngle

func (a Quat) CosHalfAngle(b Quat) float32

CosHalfAngle reports cos(θ/2)

func (Quat) Inv

func (a Quat) Inv() Quat

func (Quat) Mat4

func (a Quat) Mat4() (rot Mat4)

func (Quat) Mul

func (a Quat) Mul(b Quat) Quat

func (Quat) Norm

func (a Quat) Norm() float32

Norm 模

func (Quat) Normalized

func (a Quat) Normalized() Quat

Normalized 单位四元数

func (Quat) Slerp

func (a Quat) Slerp(b Quat, t float32) (c Quat)

Slerp spherical linear interpolation

type Range2

type Range2 [4]float32

Range2 (x0, y0, x1, y1)

func (Range2) Center

func (a Range2) Center() Point2

func (Range2) Contains

func (a Range2) Contains(b Range2) bool

func (Range2) ContainsPoint

func (a Range2) ContainsPoint(pt Point2) bool
func (a Range2) Equals(b Range2) bool {
	return a[0] == b[0] && a[1] == b[1] && a[2] == b[2] && a[3] == b[3]
}

func (Range2) ContainsRect

func (a Range2) ContainsRect(b Rect2) bool

func (Range2) Deflate

func (a Range2) Deflate(d RangeDelta2) Range2

func (Range2) Dx

func (a Range2) Dx() float32

func (Range2) Dy

func (a Range2) Dy() float32

func (Range2) Inflate

func (a Range2) Inflate(d RangeDelta2) Range2

func (Range2) Intersect

func (a Range2) Intersect(b Range2) Range2

func (Range2) IsPositive

func (a Range2) IsPositive() bool

func (Range2) Normalize

func (a Range2) Normalize() (b Range2)

func (Range2) Rect

func (a Range2) Rect() Rect2

func (Range2) Round

func (a Range2) Round() Rect2

func (Range2) Union

func (a Range2) Union(b Range2) Range2

func (Range2) X

func (a Range2) X() float32

func (Range2) X0

func (a Range2) X0() float32

func (Range2) X1

func (a Range2) X1() float32

func (Range2) Y

func (a Range2) Y() float32

func (Range2) Y0

func (a Range2) Y0() float32

func (Range2) Y1

func (a Range2) Y1() float32

type RangeDelta2

type RangeDelta2 [4]float32

RangeDelta2 (dx0, dy0, dx1, dy1)

func (RangeDelta2) Dx

func (a RangeDelta2) Dx() float32

func (RangeDelta2) Dx0

func (a RangeDelta2) Dx0() float32

func (RangeDelta2) Dx1

func (a RangeDelta2) Dx1() float32

func (RangeDelta2) Dy

func (a RangeDelta2) Dy() float32

func (RangeDelta2) Dy0

func (a RangeDelta2) Dy0() float32

func (RangeDelta2) Dy1

func (a RangeDelta2) Dy1() float32

func (RangeDelta2) Round

func (a RangeDelta2) Round() RangeDelta2

type Rect2

type Rect2 [4]float32

Rect2 (x, y, width, height)

func (Rect2) Center

func (a Rect2) Center() Point2

func (Rect2) Contains

func (a Rect2) Contains(b Rect2) bool

func (Rect2) ContainsPoint

func (a Rect2) ContainsPoint(pt Point2) bool
func (a Rect2) Equals(b Rect2) bool {
	return a[0] == b[0] && a[1] == b[1] && a[2] == b[2] && a[3] == b[3]
}

func (Rect2) ContainsRange

func (a Rect2) ContainsRange(b Range2) bool

func (Rect2) Deflate

func (a Rect2) Deflate(d RangeDelta2) Rect2

func (Rect2) Dx

func (a Rect2) Dx() float32

func (Rect2) Dy

func (a Rect2) Dy() float32

func (Rect2) Inflate

func (a Rect2) Inflate(d RangeDelta2) Rect2

func (Rect2) Intersect

func (a Rect2) Intersect(b Rect2) Rect2

func (Rect2) IsPositive

func (a Rect2) IsPositive() bool

func (Rect2) Positive

func (a Rect2) Positive() (b Rect2)

func (Rect2) Range

func (a Rect2) Range() Range2

func (Rect2) Round

func (a Rect2) Round() Rect2

func (Rect2) Union

func (a Rect2) Union(b Rect2) Rect2

func (Rect2) X

func (a Rect2) X() float32

func (Rect2) X0

func (a Rect2) X0() float32

func (Rect2) X1

func (a Rect2) X1() float32

func (Rect2) Y

func (a Rect2) Y() float32

func (Rect2) Y0

func (a Rect2) Y0() float32

func (Rect2) Y1

func (a Rect2) Y1() float32

type Size2

type Size2 Vec2

Size2 (dx, dy)

func (Size2) Dx

func (a Size2) Dx() float32

func (Size2) Dy

func (a Size2) Dy() float32

type Vec2

type Vec2 [2]float32

Vec2 is 2D vector

func (Vec2) Add

func (v Vec2) Add(a Vec2) Vec2

Add vector

func (Vec2) Dot

func (v Vec2) Dot(b Vec2) float32

Dot product

func (Vec2) Kross

func (v Vec2) Kross(b Vec2) float32

Kross product

func (Vec2) Len

func (v Vec2) Len() float32

func (Vec2) LenPow2

func (v Vec2) LenPow2() float32

func (Vec2) Neg

func (v Vec2) Neg() Vec2

Neg returns negative vector

func (Vec2) Normalized

func (v Vec2) Normalized() (ret Vec2)

Normalized vector

func (Vec2) Sub

func (v Vec2) Sub(a Vec2) Vec2

Sub substract vector

func (Vec2) X

func (v Vec2) X() float32

X component

func (Vec2) Y

func (v Vec2) Y() float32

Y component

type Vec3

type Vec3 [3]float32

Vec3 is 3D vector

func (Vec3) Add

func (v Vec3) Add(a Vec3) Vec3

Add vector

func (Vec3) Cross

func (v Vec3) Cross(b Vec3) Vec3

Cross product

func (Vec3) Dot

func (v Vec3) Dot(b Vec3) float32

Dot product

func (Vec3) Len

func (v Vec3) Len() float32

func (Vec3) LenPow2

func (v Vec3) LenPow2() float32

func (Vec3) Neg

func (v Vec3) Neg() Vec3

Neg returns negative vector

func (Vec3) Normalized

func (v Vec3) Normalized() (ret Vec3)

Normalized vector

func (Vec3) Sub

func (v Vec3) Sub(a Vec3) Vec3

Sub substract vector

func (Vec3) X

func (v Vec3) X() float32

X component

func (Vec3) Y

func (v Vec3) Y() float32

Y component

func (Vec3) Z

func (v Vec3) Z() float32

Z component

type Vec4

type Vec4 [4]float32

Vec4 is 4D vector

func (Vec4) Add

func (v Vec4) Add(a Vec4) Vec4

Add vector

func (Vec4) Dot

func (v Vec4) Dot(b Vec4) float32

Dot product

func (Vec4) Len

func (v Vec4) Len() float32

func (Vec4) LenPow2

func (v Vec4) LenPow2() float32

func (Vec4) Neg

func (v Vec4) Neg() Vec4

Neg returns negative vector

func (Vec4) Normalized

func (v Vec4) Normalized() (ret Vec4)

Normalized vector

func (Vec4) Sub

func (v Vec4) Sub(a Vec4) Vec4

Sub substract vector

func (Vec4) W

func (v Vec4) W() float32

W component

func (Vec4) X

func (v Vec4) X() float32

X component

func (Vec4) Y

func (v Vec4) Y() float32

Y component

func (Vec4) Z

func (v Vec4) Z() float32

Z component

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL