njRotate | Japanese
    <-|INDEX|->
Rotates a matrix around an arbitrary axis.

### FORMAT

      #include <Ninja.h>

      void njRotateX(*m, *v, ang)
      NJS_MATRIX *m
      NJS_VECTOR *v
      Angle ang

### PARAMETERS

NJS_MATRIX *m
  calculation matrix
NJS_VECTOR *v
  data for arbitrary axis
Angle ang
  rotation angle

### RETURN VALUE

  None

### FUNCTION

- Rotates matrix m around an arbitrary axis.
- When parameter m is NULL, the current matrix is used for calculation.

### EXAMPLE

  The following rotates the current matrix 90 degrees around the arbitrary axis containing vector v(1,1,1).

      NJS_MATRIX stack[10];
      NJS_VIEW view;
      NJS_VECTOR v;

      v.x = 1.f;
      v.y = 1.f;
      v.z = 1.f;
      njInitMatrix(stack, 10);
      njInitView(&view);
      njSetView(&view);
      njClearMatrix();
      njPushMatrix(NULL);
      njRotate(NULL, &v, NJM_DEG_ANG(90));
      njPopMatrix(1);

### NOTES

- For a matrix [M] and multiplicative rotational matrix [R], [M] = [R] * [M].
- Care must be taken with the order in which matrices are multiplied.

### RELATED TOPICS

njRotate |
    <-|INDEX|->