-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Needs:
- Ability to elementwise apply a function to a vector
- LERP (std::mix) for vectors
- Quaternion Type (protected extension of vec<4>)
- Elementwise +
- Elementwise -
- Elementwise scalar *
- Elementwise scalar /
- Standard dot product
- Multiply: [sa,a][sb,b]=[sasb−a⋅b,sab+sba+a×b]
- Conjugate: [s, -v]
- Squared Norm: Q * Q.conjugate
- Norm: sqrt(SquaredNorm)
- Normalized : Q / Q.norm
- Inverse: Q.conjugate / Q.norm
- Vector Multiply: [0, v'] = q[0, v]q−1
- Angular difference: dot(q1, q2)/(q1.norm * q2.norm)
- To/from angle axis: [cos(θ/2),sin(θ/2)axis]
- From euler angles: three angle axes multiplied together
- To euler angles: https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles#Quaternion_to_Euler_angles_(in_3-2-1_sequence)_conversion
- SLERP: https://www.3dgep.com/understanding-quaternions/#slerp
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Projects
Status
In Progress