How to rotate solid particles about a fixed pivot in global CS, while billboard mode is enabled?

I’ve been looking at the positions and rotations of the individual particles. Updating position while in billboard mode seems to behave as I would initially expect. I’m assuming that the individual particle positions are in global space, since the position updates are independent of my camera position.

However, the same cannot be said for rotation. I know that there’s some coordinate transformation math needed, and this is where I wonder whether there exist constants that I can use which would do quick global/local space transform. Since rotation is entirely based on the local space of the particle, how would I go about having billboard particles rotating about the center of this scene globally?

I don’t know how I would go about performing these transformations, as the camera view vector affects how the billboards (and, thus, their local Y axis) face.

Hello! I think on the previous topic you mentioned you were trying to do a whirlpool effect, is that what you’re trying to achieve here?

Hello! Yep, I was thinking of defining a radius and simply controlling the rotation in the global CS. I have a potential solution which keeps things in cartesian coordinates and just updates the positions based on their original radius (distance from emitter origin). I could also simply update a velocity field (the commented-out code shows some of that) but I’d have to handle recycling too, which I still haven’t done (if age > a certain amount, just invoke the recycle function, which would be the init function but for the recycled particle I guess):