Skip to main content
2 of 4
added 310 characters in body
Joe
  • 558
  • 4
  • 17

from looking at the docs I think I may have found your issue

public static void rotateM (float[] m, int mOffset, float a, float x, float y, float z) Added in API level 1

Rotates matrix m in place by angle a (in degrees) around the axis (x, y, z).

Parameters:

  • m source matrix
  • mOffset index into m where the matrix starts a angle to rotate in degrees
  • x X axis component
  • y Y axis component
  • z Z axis component

Matrix.rotateM(mRotationMatrix, 0, angle, 0, 0, 0.1f);

looks like this function is meant to rotate around an axis and your passing the axis of ( 0,0,0.1f ) when you probably mean to be rotating this object around its local origin

local origin rotation:

rotation around local origin

rotation around world point:

this would very probably change position, thus ruining your interpolation

rotation around world point

Joe
  • 558
  • 4
  • 17