Documentation
¶
Index ¶
- type FromEulerAngleNode
- type FromEulerAngleNodeData
- type FromEulerAnglesNode
- type FromEulerAnglesNodeData
- type FromThetaArrayNode
- type FromThetaArrayNodeData
- type FromThetaNode
- type FromThetaNodeData
- type NewNode
- type NewNodeData
- 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) 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
type FromEulerAngleNode = nodes.Struct[FromEulerAngleNodeData]
From Euler Angles ==========================================================
type FromEulerAngleNodeData ¶ added in v0.23.0
func (FromEulerAngleNodeData) Out ¶ added in v0.23.0
func (cn FromEulerAngleNodeData) Out() nodes.StructOutput[Quaternion]
type FromEulerAnglesNode ¶ added in v0.22.2
type FromEulerAnglesNode = nodes.Struct[FromEulerAnglesNodeData]
type FromEulerAnglesNodeData ¶ added in v0.22.2
func (FromEulerAnglesNodeData) Out ¶ added in v0.23.0
func (cn FromEulerAnglesNodeData) Out() nodes.StructOutput[[]Quaternion]
type FromThetaArrayNode ¶ added in v0.22.2
type FromThetaArrayNode = nodes.Struct[FromThetaArrayNodeData]
type FromThetaArrayNodeData ¶ added in v0.22.2
type FromThetaArrayNodeData struct {
Direction nodes.Output[[]vector3.Float64]
Theta nodes.Output[[]float64]
}
func (FromThetaArrayNodeData) Out ¶ added in v0.23.0
func (snd FromThetaArrayNodeData) Out() nodes.StructOutput[[]Quaternion]
type FromThetaNode ¶ added in v0.22.2
type FromThetaNode = nodes.Struct[FromThetaNodeData]
type FromThetaNodeData ¶ added in v0.22.2
type FromThetaNodeData struct {
Theta nodes.Output[float64]
Direction nodes.Output[vector3.Float64]
}
func (FromThetaNodeData) Out ¶ added in v0.23.0
func (cn FromThetaNodeData) Out() nodes.StructOutput[Quaternion]
type NewNode ¶ added in v0.22.2
type NewNode = nodes.Struct[NewNodeData]
type NewNodeData ¶ added in v0.22.2
type NewNodeData struct {
X nodes.Output[float64]
Y nodes.Output[float64]
Z nodes.Output[float64]
W nodes.Output[float64]
}
func (NewNodeData) Out ¶ added in v0.23.0
func (cn NewNodeData) 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) 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.