curves

package
v0.21.2 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2025 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Cubic added in v0.18.0

func Cubic(t, p0, p1, p2, p3 float64) float64

func CubicBezierCurve2DSampler added in v0.18.0

func CubicBezierCurve2DSampler(p0, p1, p2, p3 vector2.Float64) sample.FloatToVec2

func CubicBezierCurve3DSampler added in v0.18.0

func CubicBezierCurve3DSampler(p0, p1, p2, p3 vector3.Float64) sample.FloatToVec3

func PowerIn

func PowerIn(power int) sample.FloatToFloat

func PowerInOut

func PowerInOut(power int) sample.FloatToFloat

func PowerOut

func PowerOut(power int) sample.FloatToFloat

Types

type CatmullRomCurve added in v0.18.0

type CatmullRomCurve struct {
	// contains filtered or unexported fields
}

func (*CatmullRomCurve) Distance added in v0.18.0

func (crc *CatmullRomCurve) Distance(distance float64) vector3.Float64

func (*CatmullRomCurve) Length added in v0.18.0

func (crc *CatmullRomCurve) Length() float64

func (CatmullRomCurve) Time added in v0.18.0

func (crc CatmullRomCurve) Time(t float64) vector3.Float64

type CatmullRomCurveParameters added in v0.18.0

type CatmullRomCurveParameters struct {
	P0, P1, P2, P3 vector3.Float64
	Alpha          float64
	Epsilon        float64
}

func (CatmullRomCurveParameters) Curve added in v0.18.0

type CatmullRomSpline added in v0.18.0

type CatmullRomSpline struct {
	// contains filtered or unexported fields
}

func (*CatmullRomSpline) At added in v0.18.0

func (crc *CatmullRomSpline) At(distance float64) vector3.Float64

func (*CatmullRomSpline) Dir added in v0.18.0

func (crc *CatmullRomSpline) Dir(distance float64) vector3.Float64

func (*CatmullRomSpline) Length added in v0.18.0

func (crc *CatmullRomSpline) Length() float64

type CatmullRomSplineNode added in v0.18.0

type CatmullRomSplineNode = nodes.Struct[Spline, CatmullRomSplineNodeData]

type CatmullRomSplineNodeData added in v0.18.0

type CatmullRomSplineNodeData struct {
	Points nodes.NodeOutput[[]vector3.Float64]
	Alpha  nodes.NodeOutput[float64]
}

func (CatmullRomSplineNodeData) Process added in v0.18.0

func (r CatmullRomSplineNodeData) Process() (Spline, error)

type CatmullRomSplineParameters added in v0.18.0

type CatmullRomSplineParameters struct {
	Points  []vector3.Float64
	Alpha   float64
	Epsilon float64
}

func (CatmullRomSplineParameters) Spline added in v0.18.0

type CubicCurve

type CubicCurve struct {
	P0, P1, P2, P3 vector3.Float64
}

func (CubicCurve) At added in v0.18.0

func (crc CubicCurve) At(t float64) vector3.Float64

type Curve added in v0.18.0

type Curve interface {
	At(t float64) vector3.Float64
}

type LengthNode added in v0.18.0

type LengthNode = nodes.Struct[float64, LengthNodeData]

type LengthNodeData added in v0.18.0

type LengthNodeData struct {
	Spline nodes.NodeOutput[Spline]
}

func (LengthNodeData) Process added in v0.18.0

func (r LengthNodeData) Process() (float64, error)

type Spline added in v0.18.0

type Spline interface {
	Length() float64
	At(distance float64) vector3.Float64
	Dir(distance float64) vector3.Float64
}

Jump to

Keyboard shortcuts

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