Quaternion rotatQuat = new Quaternion().fromAngleNormalAxis(rotatAngle, rotatAxis);
Vector3f rotat = rotatQuat.mult(rotatPos);
System.out.println("hopefully this should be it: " + rotat);
So you want to rotate around a certain position? You can do that by attaching your object to a node and translating the location of the object to the node by the offset, then rotate the node and you'll have the rotation around that offset.
It's just that I'm calculating this for about fifty separate angles each frame. This means adding a lot of nodes to the scene… would this become an issue, performance-wise? And if anybody knows of a way to do it without using a node, I'd still be interested to know…
jME is a SceneGraph engine, that means it uses nodes to represent the scene (in a tree form). Leveraging nodes and the way they are related is one of the things that makes using a SceneGraph engine worth-while (and the performance hit should barely be noticeable). But if you really want to 'roll your own' transforms then look at how pure openGL utilizes matrix arithmetic.
Here are steps for rotating around arbitrary point:
Take current ModelView matrix (setup with correct current model transformations)
Translate the object back to origin by Adding, to ModelView matrix, the location inverse (keep original position vector)
Rotate the object by Multiplying the matrix with the desired rotation, in the form of a quaternion.
Translate the object back to desired location (add the original position vector back to matrix).
Now render that object with that ModelView matrix…