#pragma once #include #include #include "Vectors.h" typedef struct Quaternion { float w; Vector v; } Quaternion; void RotateQuaternion(Vector * v, float Angle, Quaternion * q); void MultiplyQuaternion(Quaternion * q1, Quaternion * q2, Quaternion * q3); void Vector2Quaternion(Vector * v, Quaternion * q); void Quaternion2Vector(Quaternion * q, Vector * v); void ConjugateQuaternion(Quaternion * q); float QuaternionMagnitude(Quaternion * q); void NormalizeQuaternion(Quaternion * q); void QuaternionRotateVector(float Angle, float interval, Vector * rotate, Vector * toRotate, Quaternion * ReturnValue);