I don't know if you care, but this code is called per frame and physical object and applies velocity changes to every object in a world as if the world was moving and rotating itself... only it isn't, you just get the impression.
The way I see it (and I can't state it often enough: I am not a mathematician) there are two things to consider:
- each object gets a shift in position & rotation caused by the (imaginary) world movement, applied as velocity changes for the current frame
-> so instead of rotating a point, I give an object a velocity (angular and linear) in order to reach the point without bypassing the physics engine
- this "compensation"-velocity is remembered and subtracted in the next frame
- each objects' actual velocity vectors (the ones NOT artificially applied and subtracted to make it seem like the world is moving) need to be rotated, to be confirm with the imaginary world orientation. So, if I want to create the illusion that the world rotated 180° around the Y-axis, all the objects' velocities need to do the same.
I just wasn't sure wether the center of rotation is relevant for the second part or just needed for the "position shift".
It seems to work great and it's very fast compared to moving the world in actuality. It still felt like the "actual" velocities should be affected by the center of rotation as well, that's why I was asking. Anyway, I guess being proper vectors, they don't. Thank you.