Documentation
¶
Index ¶
- type FromEulerAngleNode
- type FromEulerAnglesNode
- type FromThetaArrayNode
- type FromThetaNode
- type NewNode
- type Quaternion
- func FromEulerAngle(angles vector3.Float64) Quaternion
- func FromMatrix(k mat.Matrix4x4) Quaternion
- func FromTheta(theta float64, v vector3.Float64) Quaternion
- func Identity() Quaternion
- func New(v vector3.Float64, w float64) Quaternion
- func RotationTo(from, to vector3.Float64) Quaternion
- func Zero() Quaternion
- func (q Quaternion) Dir() vector3.Float64
- func (q Quaternion) Dot(o Quaternion) float64
- func (q Quaternion) Multiply(other Quaternion) Quaternion
- func (q Quaternion) Normalize() Quaternion
- func (q Quaternion) Rotate(v vector3.Float64) vector3.Float64
- func (q Quaternion) RotateArray(arr []vector3.Float64) []vector3.Float64
- func (q Quaternion) ToArr() [4]float64
- func (q Quaternion) ToEulerAngles() vector3.Float64
- func (q Quaternion) Vector4() vector4.Float64
- func (q Quaternion) W() float64
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FromEulerAngleNode ¶ added in v0.23.0
From Euler Angles ==========================================================
func (FromEulerAngleNode) Out ¶ added in v0.32.0
func (cn FromEulerAngleNode) Out(out *nodes.StructOutput[Quaternion])
type FromEulerAnglesNode ¶ added in v0.22.2
func (FromEulerAnglesNode) Out ¶ added in v0.32.0
func (cn FromEulerAnglesNode) Out(out *nodes.StructOutput[[]Quaternion])
type FromThetaArrayNode ¶ added in v0.22.2
type FromThetaArrayNode struct {
Direction nodes.Output[[]vector3.Float64]
Theta nodes.Output[[]float64]
}
func (FromThetaArrayNode) Out ¶ added in v0.32.0
func (snd FromThetaArrayNode) Out(out *nodes.StructOutput[[]Quaternion])
type FromThetaNode ¶ added in v0.22.2
func (FromThetaNode) Out ¶ added in v0.32.0
func (cn FromThetaNode) Out(out *nodes.StructOutput[Quaternion])
type NewNode ¶ added in v0.22.2
type NewNode struct {
X nodes.Output[float64]
Y nodes.Output[float64]
Z nodes.Output[float64]
W nodes.Output[float64]
}
func (NewNode) Out ¶ added in v0.32.0
func (cn NewNode) Out(out *nodes.StructOutput[Quaternion])
type Quaternion ¶
type Quaternion struct {
// contains filtered or unexported fields
}
Quaternion is a 4 component imaginary number thingy for rotating 3D meshes.
func FromEulerAngle ¶ added in v0.23.0
func FromEulerAngle(angles vector3.Float64) Quaternion
https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles
func FromMatrix ¶ added in v0.22.2
func FromMatrix(k mat.Matrix4x4) Quaternion
func FromTheta ¶
func FromTheta(theta float64, v vector3.Float64) Quaternion
UnitQuaternionFromTheta takes a vector and angle and builds a unit quaternion in the form (cos(theta/2.0), sin(theta/2.0))
Resources Used:
https://www.youtube.com/watch?v=mHVwd8gYLnI https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation
func Identity ¶ added in v0.17.0
func Identity() Quaternion
func RotationTo ¶
func RotationTo(from, to vector3.Float64) Quaternion
func (Quaternion) Dir ¶
func (q Quaternion) Dir() vector3.Float64
func (Quaternion) Dot ¶ added in v0.27.0
func (q Quaternion) Dot(o Quaternion) float64
func (Quaternion) Multiply ¶
func (q Quaternion) Multiply(other Quaternion) Quaternion
func (Quaternion) Normalize ¶
func (q Quaternion) Normalize() Quaternion
func (Quaternion) Rotate ¶
func (q Quaternion) Rotate(v vector3.Float64) vector3.Float64
Rotate takes a given vector and rotates it with by this quaternion.
Resources Used:
https://gamedev.stackexchange.com/questions/28395
func (Quaternion) RotateArray ¶
func (q Quaternion) RotateArray(arr []vector3.Float64) []vector3.Float64
func (Quaternion) ToArr ¶ added in v0.18.0
func (q Quaternion) ToArr() [4]float64
func (Quaternion) ToEulerAngles ¶ added in v0.22.2
func (q Quaternion) ToEulerAngles() vector3.Float64
https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles
func (Quaternion) Vector4 ¶ added in v0.18.0
func (q Quaternion) Vector4() vector4.Float64
func (Quaternion) W ¶
func (q Quaternion) W() float64
Click to show internal directories.
Click to hide internal directories.