fromAxisAngle static method

Returns a quaternion representing a rotation of angle radians around axis.

Implementation

static QuaternionBase fromAxisAngle(Vector3Base axis, double angle)
{
  QuaternionBase result = identity();

  if (axis.length != 0.0)
  {
    angle *= 0.5;

    axis = axis.normalize() as Vector3Base;

    final sinres = math.sin(angle);
    final cosres = math.cos(angle);

    return createFactory(
      axis.x*sinres,
      axis.y*sinres,
      axis.z*sinres,
      cosres,
    ).normalize() as QuaternionBase;
  }

  return result;
}