vector

package
v1.3.27 Latest Latest
Warning

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

Go to latest
Published: May 17, 2022 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

View Source
const (
	IsInArrayEps = 0.00001
)

Variables

This section is empty.

Functions

func Cross2 added in v1.2.0

func Cross2(v, w Vec2) float64

func Determinant2

func Determinant2(m Mat2) float64

func Determinant3

func Determinant3(m Mat3) float64

func Determinant4

func Determinant4(m Mat4) float64

func Diff

func Diff(vec1, vec2 []float64) []float64

func Distance3 added in v1.1.1

func Distance3(v, w Vec3) float64

func Distance4 added in v1.3.23

func Distance4(v, w Vec4) float64

func DistanceSquared3 added in v1.2.0

func DistanceSquared3(v, w Vec3) float64

func DistanceSquared4 added in v1.2.0

func DistanceSquared4(v, w Vec4) float64

func Dot2

func Dot2(v, w Vec2) float64

func Dot3

func Dot3(v, w Vec3) float64

func Dot4

func Dot4(v, w Vec4) float64

func HDot4 added in v1.3.23

func HDot4(v, w Vec4) float64

func IsInArray1

func IsInArray1(value int, list []int) bool

func IsInArray2

func IsInArray2(testVector [2]int, groupVectors [][2]int) bool

func IsInArray4 added in v1.2.0

func IsInArray4(testVector Vec4, groupVectors []Vec4) bool

func Norm3

func Norm3(v Vec3) float64

func Norm4

func Norm4(v Vec4) float64

func NormSquared3

func NormSquared3(v Vec3) float64

func NormSquared4

func NormSquared4(v Vec4) float64

func PointInPolygon

func PointInPolygon(point Vec3, polygon []Vec3) bool

Types

type Line added in v1.3.4

type Line struct {
	Normal Vec2
	D      float64
}

type Mat2 added in v1.2.0

type Mat2 struct {
	XX float64
	XY float64
	YX float64
	YY float64
}

func (*Mat2) Determinant added in v1.2.0

func (m *Mat2) Determinant() float64

func (*Mat2) Mult added in v1.2.0

func (m *Mat2) Mult(n Mat2)

func (*Mat2) Scale added in v1.2.0

func (m *Mat2) Scale(a float64)

func (*Mat2) Sum added in v1.2.0

func (m *Mat2) Sum(n Mat2)

type Mat3 added in v1.2.0

type Mat3 struct {
	XX float64
	XY float64
	XZ float64
	YX float64
	YY float64
	YZ float64
	ZX float64
	ZY float64
	ZZ float64
}

XX XY XZ YX YY YZ ZX ZY ZZ

func InitialiseMat3 added in v1.3.5

func InitialiseMat3(u, v, w Vec3) Mat3

func (*Mat3) Determinant added in v1.2.0

func (m *Mat3) Determinant() float64

type Mat4 added in v1.2.0

type Mat4 struct {
	WW float64
	WX float64
	WY float64
	WZ float64
	XW float64
	XX float64
	XY float64
	XZ float64
	YW float64
	YX float64
	YY float64
	YZ float64
	ZW float64
	ZX float64
	ZY float64
	ZZ float64
}

func InitialiseFromVectors added in v1.3.17

func InitialiseFromVectors(v []Vec4) Mat4

func (*Mat4) Determinant added in v1.2.0

func (m *Mat4) Determinant() float64

func (*Mat4) MatrixByVector added in v1.3.17

func (m *Mat4) MatrixByVector(v Vec4) Vec4

func (*Mat4) Transpose added in v1.3.17

func (m *Mat4) Transpose() Mat4

type Plane added in v1.3.4

type Plane struct {
	Normal Vec3
	D      float64
}

func Coplanar added in v1.3.4

func Coplanar(v1, v2, v3 Vec3) Plane

type Sphere2 added in v1.2.0

type Sphere2 struct {
	Center Vec2
	Radius float64
}

func Circumsphere2 added in v1.2.0

func Circumsphere2(u, v, w Vec2) Sphere2

type Sphere3 added in v1.2.0

type Sphere3 struct {
	Center Vec3
	Radius float64
}

func Circumsphere3 added in v1.2.0

func Circumsphere3(u, v, w, x Vec3) Sphere3

type Vec2 added in v1.2.0

type Vec2 struct {
	X float64
	Y float64
}

func Diff2

func Diff2(v, w Vec2) Vec2

func Midpoint2

func Midpoint2(v, w Vec2) Vec2

func Scale2

func Scale2(v Vec2, a float64) Vec2

func Sum2

func Sum2(v, w Vec2) Vec2

func (*Vec2) Cross added in v1.2.0

func (v *Vec2) Cross(w Vec2) float64

func (*Vec2) Diff added in v1.2.0

func (v *Vec2) Diff(w Vec2)

func (*Vec2) Dot added in v1.2.0

func (v *Vec2) Dot(w Vec2) float64

func (Vec2) NormSquared added in v1.2.0

func (v Vec2) NormSquared() float64

func (*Vec2) Normalise added in v1.2.0

func (v *Vec2) Normalise()

func (*Vec2) Scale added in v1.2.0

func (v *Vec2) Scale(a float64)

func (*Vec2) Sum added in v1.2.0

func (v *Vec2) Sum(w Vec2)

type Vec3 added in v1.2.0

type Vec3 struct {
	X float64
	Y float64
	Z float64
}

func Cross3

func Cross3(v, w Vec3) Vec3

func Diff3

func Diff3(v, w Vec3) Vec3

func Midpoint3

func Midpoint3(v, w Vec3) Vec3

func Scale3

func Scale3(v Vec3, a float64) Vec3

func Sum3

func Sum3(v, w Vec3) Vec3

func (*Vec3) Cross added in v1.2.0

func (v *Vec3) Cross(w Vec3) Vec3

func (*Vec3) Diff added in v1.2.0

func (v *Vec3) Diff(w Vec3)

func (*Vec3) Dot added in v1.2.0

func (v *Vec3) Dot(w Vec3) float64

func (Vec3) Norm added in v1.3.6

func (v Vec3) Norm() float64

func (Vec3) NormSquared added in v1.2.0

func (v Vec3) NormSquared() float64

func (*Vec3) Normalise added in v1.2.0

func (v *Vec3) Normalise()

func (*Vec3) Scale added in v1.2.0

func (v *Vec3) Scale(a float64)

func (*Vec3) Sum added in v1.2.0

func (v *Vec3) Sum(w Vec3)

type Vec4 added in v1.2.0

type Vec4 struct {
	W float64
	X float64
	Y float64
	Z float64
}

func Cross4

func Cross4(vec1, vec2, vec3 Vec4) Vec4

func Diff4

func Diff4(v, w Vec4) Vec4

func EDirectionalTangent added in v1.3.23

func EDirectionalTangent(a, b Vec4) Vec4

a -> b

func HDirectionalTangent added in v1.3.23

func HDirectionalTangent(a, b Vec4) Vec4

a -> b

func Midpoint4

func Midpoint4(v, w Vec4) Vec4

func NearestPointOnLineToPoint added in v1.3.17

func NearestPointOnLineToPoint(a, b, c Vec4) Vec4

func NearestPointOnPlaneToPoint added in v1.3.17

func NearestPointOnPlaneToPoint(a, n Vec4) Vec4

func Reflect added in v1.3.17

func Reflect(x, n Vec4) Vec4

func SDirectionalTangent added in v1.3.23

func SDirectionalTangent(a, b Vec4) Vec4

a -> b

func Scale4

func Scale4(v Vec4, a float64) Vec4

func Sum4

func Sum4(v, w Vec4) Vec4

func TransformVertices

func TransformVertices(baseVertices []Vec4, transformation string, V, E, F, C func(Vec4) Vec4) []Vec4

func (*Vec4) Diff added in v1.2.0

func (v *Vec4) Diff(w Vec4)

func (*Vec4) Dot added in v1.2.0

func (v *Vec4) Dot(w Vec4) float64

func (*Vec4) HDot added in v1.3.23

func (v *Vec4) HDot(w Vec4) float64

func (*Vec4) HNormSquared added in v1.2.0

func (v *Vec4) HNormSquared() float64

func (*Vec4) HNormalise added in v1.2.0

func (v *Vec4) HNormalise()

func (*Vec4) NormSquared added in v1.2.0

func (v *Vec4) NormSquared() float64

func (*Vec4) Normalise added in v1.2.0

func (v *Vec4) Normalise()

func (*Vec4) SNormalise added in v1.2.0

func (v *Vec4) SNormalise()

func (*Vec4) Scale added in v1.2.0

func (v *Vec4) Scale(a float64)

func (*Vec4) Sum added in v1.2.0

func (v *Vec4) Sum(w Vec4)

func (*Vec4) ToSlice added in v1.2.0

func (v *Vec4) ToSlice() [4]float64

Jump to

Keyboard shortcuts

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