Documentation ¶
Overview ¶
Package angle provides types for dealing with angles in planar geometry in a type-safe way. Constants and methods are provided for setting and displaying type values using different units.
Index ¶
- type Acceleration
- func (a Acceleration) Abs() Acceleration
- func (a Acceleration) DegreeesPerSecondSquared() float64
- func (a Acceleration) Div(x float64) Acceleration
- func (a Acceleration) DivAcceleration(x Acceleration) float64
- func (a Acceleration) GradiansPerSecondSquared() float64
- func (a Acceleration) MilliradiansPerSecondSquared() float64
- func (a Acceleration) Mul(x float64) Acceleration
- func (a Acceleration) MulDuration(t time.Duration) Velocity
- func (a Acceleration) RadiansPerSecondSquared() float64
- type Angle
- func (ng Angle) Abs() Angle
- func (a Angle) Cos() float64
- func (ng Angle) Degreees() float64
- func (ng Angle) Div(x float64) Angle
- func (ng Angle) DivAngle(x Angle) float64
- func (ng Angle) DivDuration(t time.Duration) Velocity
- func (ng Angle) DivVelocity(x Velocity) time.Duration
- func (ng Angle) Gradians() float64
- func (ng Angle) Milliradians() float64
- func (ng Angle) Mul(x float64) Angle
- func (a Angle) Normalize() Angle
- func (ng Angle) Radians() float64
- func (a Angle) Sin() float64
- func (a Angle) Tan() float64
- type Velocity
- func (v Velocity) Abs() Velocity
- func (v Velocity) DegreeesPerSecond() float64
- func (v Velocity) Div(x float64) Velocity
- func (v Velocity) DivAcceleration(x Acceleration) time.Duration
- func (v Velocity) DivDuration(t time.Duration) Acceleration
- func (v Velocity) DivVelocity(x Velocity) float64
- func (v Velocity) GradiansPerSecond() float64
- func (v Velocity) MilliradiansPerSecond() float64
- func (v Velocity) Mul(x float64) Velocity
- func (v Velocity) MulDuration(t time.Duration) Angle
- func (v Velocity) RadiansPerSecond() float64
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Acceleration ¶
type Acceleration float64
Acceleration describes an angular acceleration in planar geometry.
const ( MilliradianPerSecondSquared Acceleration = Acceleration(MilliradianPerSecond) / Acceleration(time.Second) RadianPerSecondSquared Acceleration = Acceleration(RadianPerSecond) / Acceleration(time.Second) DegreePerSecondSquared Acceleration = Acceleration(DegreePerSecond) / Acceleration(time.Second) GradianPerSecondSquared Acceleration = Acceleration(GradianPerSecond) / Acceleration(time.Second) )
Units for Acceleration values. Always multiply with a unit when setting the initial value like you would for time.Time. This prevents you from having to worry about the internal storage format.
func (Acceleration) Abs ¶
func (a Acceleration) Abs() Acceleration
Abs returns the absolute value of a as a copy.
func (Acceleration) DegreeesPerSecondSquared ¶
func (a Acceleration) DegreeesPerSecondSquared() float64
DegreeesPerSecondSquared returns a as a floating point number of degreeespersecondsquared.
func (Acceleration) Div ¶
func (a Acceleration) Div(x float64) Acceleration
Div returns the quotient of a / x as a new Acceleration.
func (Acceleration) DivAcceleration ¶
func (a Acceleration) DivAcceleration(x Acceleration) float64
DivAcceleration returns the quotient of a / x as a floating point number.
func (Acceleration) GradiansPerSecondSquared ¶
func (a Acceleration) GradiansPerSecondSquared() float64
GradiansPerSecondSquared returns a as a floating point number of gradianspersecondsquared.
func (Acceleration) MilliradiansPerSecondSquared ¶
func (a Acceleration) MilliradiansPerSecondSquared() float64
MilliradiansPerSecondSquared returns a as a floating point number of milliradianspersecondsquared.
func (Acceleration) Mul ¶
func (a Acceleration) Mul(x float64) Acceleration
Mul returns the product of a * x as a new Acceleration.
func (Acceleration) MulDuration ¶
func (a Acceleration) MulDuration(t time.Duration) Velocity
MulDuration returns the product of a * t as a Velocity.
func (Acceleration) RadiansPerSecondSquared ¶
func (a Acceleration) RadiansPerSecondSquared() float64
RadiansPerSecondSquared returns a as a floating point number of radianspersecondsquared.
type Angle ¶
type Angle float64
Angle for planar geometry stored as float64 milliradians. An integer representation would give better predictability (under flow), but float64 is more convenient for operatoins that rely on the math library.
const ( Milliradian Angle = 1 Radian Angle = 1e3 Degree Angle = 2 * math.Pi * (Radian / 360) Gradian Angle = 2 * math.Pi * (Radian / 400) )
Units for Angle values. Always multiply with a unit when setting the initial value like you would for time.Time. This prevents you from having to worry about the internal storage format.
func (Angle) DivDuration ¶
DivDuration returns the quotient of ng / t as a Velocity.
func (Angle) DivVelocity ¶
DivVelocity returns the quotient of ng / x as a time.Duration.
func (Angle) Milliradians ¶
Milliradians returns ng as a floating point number of milliradians.
type Velocity ¶
type Velocity float64
Velocity describes an angular velocity in planar geometry.
const ( MilliradianPerSecond Velocity = Velocity(Milliradian) / Velocity(time.Second) RadianPerSecond Velocity = Velocity(Radian) / Velocity(time.Second) DegreePerSecond Velocity = Velocity(Degree) / Velocity(time.Second) GradianPerSecond Velocity = Velocity(Gradian) / Velocity(time.Second) )
Units for Velocity values. Always multiply with a unit when setting the initial value like you would for time.Time. This prevents you from having to worry about the internal storage format.
func (Velocity) DegreeesPerSecond ¶
DegreeesPerSecond returns v as a floating point number of degreeespersecond.
func (Velocity) DivAcceleration ¶
func (v Velocity) DivAcceleration(x Acceleration) time.Duration
DivAcceleration returns the quotient of v / x as a time.Duration.
func (Velocity) DivDuration ¶
func (v Velocity) DivDuration(t time.Duration) Acceleration
DivDuration returns the quotient of v / t as a Acceleration.
func (Velocity) DivVelocity ¶
DivVelocity returns the quotient of v / x as a floating point number.
func (Velocity) GradiansPerSecond ¶
GradiansPerSecond returns v as a floating point number of gradianspersecond.
func (Velocity) MilliradiansPerSecond ¶
MilliradiansPerSecond returns v as a floating point number of milliradianspersecond.
func (Velocity) MulDuration ¶
MulDuration returns the product of v * t as a Angle.
func (Velocity) RadiansPerSecond ¶
RadiansPerSecond returns v as a floating point number of radianspersecond.