Quaternion Quaternion::Lerp(const Quaternion &first, const Quaternion &second, float interpolationCoefficient)
{
	Vec4f firstVec(first.GetVec4f());
	Vec4f secondVec(second.GetVec4f());
	Vec4f interp(firstVec + (secondVec - firstVec) * interpolationCoefficient);
	interp.NormalizeThis();

	return Quaternion(interp.w, interp.x, interp.y, interp.z);
}